<?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>188542</bug_id>
          
          <creation_ts>2018-08-13 20:15:49 -0700</creation_ts>
          <short_desc>[WHLSL] Remove generics and support the new standard library</short_desc>
          <delta_ts>2018-10-13 15:34:42 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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>
          <dependson>187988</dependson>
    
    <dependson>188400</dependson>
          <blocked>176199</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Thomas Denney">tdenney</reporter>
          <assigned_to name="Thomas Denney">tdenney</assigned_to>
          <cc>mmaxfield</cc>
    
    <cc>tdenney</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1449876</commentid>
    <comment_count>0</comment_count>
    <who name="Thomas Denney">tdenney</who>
    <bug_when>2018-08-13 20:15:49 -0700</bug_when>
    <thetext>[WHLSL] Remove generics and support the new standard library</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1449877</commentid>
    <comment_count>1</comment_count>
      <attachid>347063</attachid>
    <who name="Thomas Denney">tdenney</who>
    <bug_when>2018-08-13 20:16:56 -0700</bug_when>
    <thetext>Created attachment 347063
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1451762</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-08-20 15:28:07 -0700</bug_when>
    <thetext>Is this a duplicate of https://bugs.webkit.org/show_bug.cgi?id=187988 ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1453924</commentid>
    <comment_count>3</comment_count>
    <who name="Thomas Denney">tdenney</who>
    <bug_when>2018-08-27 09:39:23 -0700</bug_when>
    <thetext>(In reply to Myles C. Maxfield from comment #2)
&gt; Is this a duplicate of https://bugs.webkit.org/show_bug.cgi?id=187988 ?

Yes, marking as invalid.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468899</commentid>
    <comment_count>4</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-10-13 15:34:42 -0700</bug_when>
    <thetext>Migrated to https://github.com/gpuweb/WHLSL/issues/100</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347063</attachid>
            <date>2018-08-13 20:16:56 -0700</date>
            <delta_ts>2018-08-13 20:16:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188542-20180813201655.patch</filename>
            <type>text/plain</type>
            <size>2164777</size>
            <attacher name="Thomas Denney">tdenney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0ODE1CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFk
aW5nTGFuZ3VhZ2VSSS9BbGwuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9BbGwu
anMKaW5kZXggMTVkZDdjY2FiOTQ2OTJhMzJhY2QyN2I5ZGFjOTZjOGE4ZjU1ZDY1OC4uYWRlYTZk
ZjkwZjQ3NDJkYmZlMjlmNDk5MmE0MDA5MDA4ZGU4ZTM1ZSAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
R1BVU2hhZGluZ0xhbmd1YWdlUkkvQWxsLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5n
dWFnZVJJL0FsbC5qcwpAQCAtMzQsNiArMzQsNyBAQCBsb2FkKCJWaXNpdG9yLmpzIik7CiBsb2Fk
KCJDcmVhdGVMaXRlcmFsLmpzIik7CiBsb2FkKCJDcmVhdGVMaXRlcmFsVHlwZS5qcyIpOwogbG9h
ZCgiUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uLmpzIik7Citsb2FkKCJTd2l6emxlT3AuanMiKTsK
IAogbG9hZCgiQWRkcmVzc1NwYWNlLmpzIik7CiBsb2FkKCJBbm9ueW1vdXNWYXJpYWJsZS5qcyIp
OwpAQCAtNDQsNDAgKzQ1LDQ1IEBAIGxvYWQoIkF1dG9XcmFwcGVyLmpzIik7CiBsb2FkKCJCbG9j
ay5qcyIpOwogbG9hZCgiQm9vbExpdGVyYWwuanMiKTsKIGxvYWQoIkJyZWFrLmpzIik7Citsb2Fk
KCJCdWlsdGluVmVjdG9yQ2FzdHMuanMiKTsKK2xvYWQoIkJ1aWx0aW5WZWN0b3JFcXVhbGl0eU9w
ZXJhdG9yLmpzIik7Citsb2FkKCJCdWlsdGluVmVjdG9yR2V0dGVyLmpzIik7Citsb2FkKCJCdWls
dGluVmVjdG9ySW5kZXhHZXR0ZXIuanMiKTsKK2xvYWQoIkJ1aWx0aW5WZWN0b3JJbmRleFNldHRl
ci5qcyIpOworbG9hZCgiQnVpbHRpblZlY3RvclNldHRlci5qcyIpOwogbG9hZCgiQ2FsbEV4cHJl
c3Npb24uanMiKTsKK2xvYWQoIkNhbGxFeHByZXNzaW9uVHlwZUFyZ3VtZW50UmVzb2x2ZXIuanMi
KTsKIGxvYWQoIkNhbGxGdW5jdGlvbi5qcyIpOwogbG9hZCgiQ2hlY2suanMiKTsKK2xvYWQoIkNo
ZWNrZXIuanMiKTsKIGxvYWQoIkNoZWNrTGl0ZXJhbFR5cGVzLmpzIik7CiBsb2FkKCJDaGVja0xv
b3BzLmpzIik7Ci1sb2FkKCJDaGVja1JlY3Vyc2l2ZVR5cGVzLmpzIik7CiBsb2FkKCJDaGVja1Jl
Y3Vyc2lvbi5qcyIpOworbG9hZCgiQ2hlY2tSZWN1cnNpdmVUeXBlcy5qcyIpOwogbG9hZCgiQ2hl
Y2tSZXR1cm5zLmpzIik7CiBsb2FkKCJDaGVja1VucmVhY2hhYmxlQ29kZS5qcyIpOwogbG9hZCgi
Q2hlY2tXcmFwcGVkLmpzIik7Ci1sb2FkKCJDaGVja2VyLmpzIik7CiBsb2FkKCJDbG9uZVByb2dy
YW0uanMiKTsKIGxvYWQoIkNvbW1hRXhwcmVzc2lvbi5qcyIpOwogbG9hZCgiQ29uc3RleHByRm9s
ZGVyLmpzIik7Ci1sb2FkKCJDb25zdGV4cHJUeXBlUGFyYW1ldGVyLmpzIik7CiBsb2FkKCJDb250
aW51ZS5qcyIpOwogbG9hZCgiQ29udmVydFB0clRvQXJyYXlSZWZFeHByZXNzaW9uLmpzIik7CiBs
b2FkKCJEZXJlZmVyZW5jZUV4cHJlc3Npb24uanMiKTsKLWxvYWQoIkRvV2hpbGVMb29wLmpzIik7
CiBsb2FkKCJEb3RFeHByZXNzaW9uLmpzIik7Citsb2FkKCJEb1doaWxlTG9vcC5qcyIpOwogbG9h
ZCgiRUFycmF5UmVmLmpzIik7CiBsb2FkKCJFQnVmZmVyLmpzIik7CiBsb2FkKCJFQnVmZmVyQnVp
bGRlci5qcyIpOwotbG9hZCgiRVB0ci5qcyIpOwogbG9hZCgiRW51bUxpdGVyYWwuanMiKTsKIGxv
YWQoIkVudW1NZW1iZXIuanMiKTsKIGxvYWQoIkVudW1UeXBlLmpzIik7Citsb2FkKCJFUHRyLmpz
Iik7CiBsb2FkKCJFdmFsdWF0aW9uQ29tbW9uLmpzIik7CiBsb2FkKCJFdmFsdWF0b3IuanMiKTsK
IGxvYWQoIkV4cHJlc3Npb25GaW5kZXIuanMiKTsKIGxvYWQoIkV4dGVybmFsT3JpZ2luLmpzIik7
CiBsb2FkKCJGaWVsZC5qcyIpOwogbG9hZCgiRmluZEhpZ2hab21iaWVzLmpzIik7Ci1sb2FkKCJG
bGF0dGVuUHJvdG9jb2xFeHRlbmRzLmpzIik7CiBsb2FkKCJGbGF0dGVuZWRTdHJ1Y3RPZmZzZXRH
YXRoZXJlci5qcyIpOwogbG9hZCgiRmxvYXRMaXRlcmFsLmpzIik7CiBsb2FkKCJGbG9hdExpdGVy
YWxUeXBlLmpzIik7CkBAIC05NSw3ICsxMDEsNiBAQCBsb2FkKCJJbmRleEV4cHJlc3Npb24uanMi
KTsKIGxvYWQoIkluZmVyVHlwZXNGb3JDYWxsLmpzIik7CiBsb2FkKCJJbmxpbmUuanMiKTsKIGxv
YWQoIklubGluZXIuanMiKTsKLWxvYWQoIkluc3RhbnRpYXRlSW1tZWRpYXRlcy5qcyIpOwogbG9h
ZCgiSW50TGl0ZXJhbC5qcyIpOwogbG9hZCgiSW50TGl0ZXJhbFR5cGUuanMiKTsKIGxvYWQoIklu
dHJpbnNpY3MuanMiKTsKQEAgLTExMiwxMiArMTE3LDE0IEBAIGxvYWQoIk5hbWVDb250ZXh0Lmpz
Iik7CiBsb2FkKCJOYW1lRmluZGVyLmpzIik7CiBsb2FkKCJOYW1lUmVzb2x2ZXIuanMiKTsKIGxv
YWQoIk5hdGl2ZUZ1bmMuanMiKTsKLWxvYWQoIk5hdGl2ZUZ1bmNJbnN0YW5jZS5qcyIpOwogbG9h
ZCgiTmF0aXZlVHlwZS5qcyIpOwotbG9hZCgiTmF0aXZlVHlwZUluc3RhbmNlLmpzIik7Citsb2Fk
KCJOYXRpdmVQYXJhbWV0ZXJpemVkVHlwZS5qcyIpOyAvLyBEZXBlbmRzIG9uIE5hdGl2ZVR5cGUu
anMKIGxvYWQoIk5vcm1hbFVzZVByb3BlcnR5UmVzb2x2ZXIuanMiKTsKIGxvYWQoIk51bGxMaXRl
cmFsLmpzIik7CiBsb2FkKCJOdWxsVHlwZS5qcyIpOworbG9hZCgiT3BlcmF0b3JBbmRlckluZGV4
LmpzIik7Citsb2FkKCJPcGVyYXRvckFycmF5UmVmTGVuZ3RoLmpzIik7Citsb2FkKCJPcGVyYXRv
ckJvb2wuanMiKTsKIGxvYWQoIk9yaWdpbktpbmQuanMiKTsKIGxvYWQoIk92ZXJsb2FkUmVzb2x1
dGlvbkZhaWx1cmUuanMiKTsKIGxvYWQoIlBhcnNlLmpzIik7CkBAIC0xMjUsMTQgKzEzMiwxMSBA
QCBsb2FkKCJQcmVwYXJlLmpzIik7CiBsb2FkKCJQcm9ncmFtLmpzIik7CiBsb2FkKCJQcm9ncmFt
V2l0aFVubmVjZXNzYXJ5VGhpbmdzUmVtb3ZlZC5qcyIpOwogbG9hZCgiUHJvcGVydHlSZXNvbHZl
ci5qcyIpOwotbG9hZCgiUHJvdG9jb2wuanMiKTsKLWxvYWQoIlByb3RvY29sRGVjbC5qcyIpOwot
bG9hZCgiUHJvdG9jb2xGdW5jRGVjbC5qcyIpOwotbG9hZCgiUHJvdG9jb2xSZWYuanMiKTsKIGxv
YWQoIlB0clR5cGUuanMiKTsKIGxvYWQoIlJlYWRNb2RpZnlXcml0ZUV4cHJlc3Npb24uanMiKTsK
IGxvYWQoIlJlY3Vyc2lvbkNoZWNrZXIuanMiKTsKIGxvYWQoIlJlY3Vyc2l2ZVR5cGVDaGVja2Vy
LmpzIik7Citsb2FkKCJSZXNvbHZlQ2FsbEV4cHJlc3Npb25zV2l0aFR5cGVBcmd1bWVudHMuanMi
KTsKIGxvYWQoIlJlc29sdmVOYW1lcy5qcyIpOwogbG9hZCgiUmVzb2x2ZU92ZXJsb2FkSW1wbC5q
cyIpOwogbG9hZCgiUmVzb2x2ZVByb3BlcnRpZXMuanMiKTsKQEAgLTE0NCwzMCArMTQ4LDMyIEBA
IGxvYWQoIlN0YW5kYXJkTGlicmFyeS5qcyIpOwogbG9hZCgiU3RhdGVtZW50Q2xvbmVyLmpzIik7
CiBsb2FkKCJTdHJ1Y3RMYXlvdXRCdWlsZGVyLmpzIik7CiBsb2FkKCJTdHJ1Y3RUeXBlLmpzIik7
Ci1sb2FkKCJTdWJzdGl0dXRpb24uanMiKTsKIGxvYWQoIlN3aXRjaENhc2UuanMiKTsKIGxvYWQo
IlN3aXRjaFN0YXRlbWVudC5qcyIpOworbG9hZCgiU3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5n
dGguanMiKTsKK2xvYWQoIlN5bnRoZXNpemVDb3B5Q29uc3RydWN0b3JPcGVyYXRvci5qcyIpOwor
bG9hZCgiU3ludGhlc2l6ZURlZmF1bHRDb25zdHJ1Y3Rvck9wZXJhdG9yLmpzIik7CiBsb2FkKCJT
eW50aGVzaXplRW51bUZ1bmN0aW9ucy5qcyIpOworbG9hZCgiU3ludGhlc2l6ZU9wZXJhdG9yQm9v
bC5qcyIpOwogbG9hZCgiU3ludGhlc2l6ZVN0cnVjdEFjY2Vzc29ycy5qcyIpOworbG9hZCgiVGVy
bmFyeUV4cHJlc3Npb24uanMiKTsKIGxvYWQoIlRyYXBTdGF0ZW1lbnQuanMiKTsKIGxvYWQoIlR5
cGVEZWYuanMiKTsKIGxvYWQoIlR5cGVEZWZSZXNvbHZlci5qcyIpOwotbG9hZCgiVHlwZU9yVmFy
aWFibGVSZWYuanMiKTsKLWxvYWQoIlR5cGVQYXJhbWV0ZXJSZXdyaXRlci5qcyIpOwotbG9hZCgi
VHlwZVJlZi5qcyIpOwotbG9hZCgiVHlwZVZhcmlhYmxlLmpzIik7Ci1sb2FkKCJUeXBlVmFyaWFi
bGVUcmFja2VyLmpzIik7CiBsb2FkKCJUeXBlZFZhbHVlLmpzIik7Citsb2FkKCJUeXBlUmVmLmpz
Iik7CiBsb2FkKCJVaW50TGl0ZXJhbC5qcyIpOwogbG9hZCgiVWludExpdGVyYWxUeXBlLmpzIik7
CiBsb2FkKCJVbmlmaWNhdGlvbkNvbnRleHQuanMiKTsKIGxvYWQoIlVucmVhY2hhYmxlQ29kZUNo
ZWNrZXIuanMiKTsKIGxvYWQoIlZhcmlhYmxlRGVjbC5qcyIpOwogbG9hZCgiVmFyaWFibGVSZWYu
anMiKTsKK2xvYWQoIlZlY3RvclR5cGUuanMiKTsKIGxvYWQoIlZpc2l0aW5nU2V0LmpzIik7Cits
b2FkKCJXaGlsZUxvb3AuanMiKTsKK2xvYWQoIldyYXBDaGVja2VyLmpzIik7CiBsb2FkKCJXU3lu
dGF4RXJyb3IuanMiKTsKIGxvYWQoIldUcmFwRXJyb3IuanMiKTsKIGxvYWQoIldUeXBlRXJyb3Iu
anMiKTsKLWxvYWQoIldoaWxlTG9vcC5qcyIpOwotbG9hZCgiV3JhcENoZWNrZXIuanMiKTsKKwog
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9BdXRvV3JhcHBlci5q
cyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0F1dG9XcmFwcGVyLmpzCmluZGV4IDgw
YWU3ZDkyYTRmYTYyNjY2ZGIyYTJmZjUyMjBkMTQ5YTdmMzhlOWMuLjIxNmE3ZTJlMzNkZTk5MWIw
NmFiNjM2ZGI1Y2ZjYWI0MDVkOGVlMjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdM
YW5ndWFnZVJJL0F1dG9XcmFwcGVyLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFn
ZVJJL0F1dG9XcmFwcGVyLmpzCkBAIC0zNSwxMSArMzUsNiBAQCBjbGFzcyBBdXRvV3JhcHBlciBl
eHRlbmRzIFJld3JpdGVyIHsKICAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgfQogICAgIAotICAg
IHZpc2l0Q29uc3RleHByVHlwZVBhcmFtZXRlcihub2RlKQotICAgIHsKLSAgICAgICAgcmV0dXJu
IFZhcmlhYmxlUmVmLndyYXAobm9kZSk7Ci0gICAgfQotICAgIAogICAgIHZpc2l0RnVuY1BhcmFt
ZXRlcihub2RlKQogICAgIHsKICAgICAgICAgcmV0dXJuIFZhcmlhYmxlUmVmLndyYXAobm9kZSk7
CkBAIC02MCwxMSArNTUsNiBAQCBjbGFzcyBBdXRvV3JhcHBlciBleHRlbmRzIFJld3JpdGVyIHsK
ICAgICAgICAgcmV0dXJuIFR5cGVSZWYud3JhcChub2RlKTsKICAgICB9CiAgICAgCi0gICAgdmlz
aXRUeXBlVmFyaWFibGUobm9kZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBUeXBlUmVmLndyYXAo
bm9kZSk7Ci0gICAgfQotICAgIAogICAgIHZpc2l0R2VuZXJpY0xpdGVyYWxUeXBlKG5vZGUpCiAg
ICAgewogICAgICAgICByZXR1cm4gbm9kZTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRp
bmdMYW5ndWFnZVJJL0J1aWx0aW5WZWN0b3JDYXN0cy5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdM
YW5ndWFnZVJJL0J1aWx0aW5WZWN0b3JDYXN0cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZWMxMTk1YjZjYjFi
MDNjZjMwMWU4NjY2ODM1YjM2YzgxMjU0N2FhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvV2Vi
R1BVU2hhZGluZ0xhbmd1YWdlUkkvQnVpbHRpblZlY3RvckNhc3RzLmpzCkBAIC0wLDAgKzEsODcg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKyJ1c2Ugc3Ry
aWN0IjsKKworY2xhc3MgQnVpbHRpblZlY3RvckNhc3RzIHsKKyAgICBjb25zdHJ1Y3RvcihiYXNl
VHlwZU5hbWUsIHBhcmFtZXRlclNpemVzKQorICAgIHsKKyAgICAgICAgdGhpcy5fYmFzZVR5cGVO
YW1lID0gYmFzZVR5cGVOYW1lOworICAgICAgICB0aGlzLl9wYXJhbWV0ZXJTaXplcyA9IHBhcmFt
ZXRlclNpemVzOworICAgIH0KKworICAgIGdldCBiYXNlVHlwZU5hbWUoKSB7IHJldHVybiB0aGlz
Ll9iYXNlVHlwZU5hbWU7IH0KKyAgICBnZXQgcGFyYW1ldGVyU2l6ZXMoKSB7IHJldHVybiB0aGlz
Ll9wYXJhbWV0ZXJTaXplczsgfQorICAgIGdldCBvdXRwdXRTaXplKCkKKyAgICB7CisgICAgICAg
IGxldCBzdW0gPSAwOworICAgICAgICBmb3IgKGxldCBwYXJhbVNpemUgb2YgdGhpcy5wYXJhbWV0
ZXJTaXplcykKKyAgICAgICAgICAgIHN1bSArPSBwYXJhbVNpemU7CisgICAgICAgIHJldHVybiBz
dW07CisgICAgfQorCisgICAgdG9TdHJpbmcoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGBuYXRp
dmUgb3BlcmF0b3IgJHt0aGlzLmJhc2VUeXBlTmFtZX0ke3RoaXMub3V0cHV0U2l6ZX0oJHt0aGlz
LnBhcmFtZXRlclNpemVzLm1hcCh4ID0+IHggPT0gMSA/IHRoaXMuYmFzZVR5cGVOYW1lIDogdGhp
cy5iYXNlVHlwZU5hbWUgKyB4KS5qb2luKCIsIil9KWA7CisgICAgfQorCisgICAgc3RhdGljIGZ1
bmN0aW9ucygpCisgICAgeworICAgICAgICBpZiAoIXRoaXMuX2Z1bmN0aW9ucykgeworICAgICAg
ICAgICAgdGhpcy5fZnVuY3Rpb25zID0gW107CisgICAgICAgIAorICAgICAgICAgICAgZm9yIChs
ZXQgdHlwZU5hbWUgb2YgVmVjdG9yRWxlbWVudFR5cGVzKSB7CisgICAgICAgICAgICAgICAgZm9y
IChsZXQgc2l6ZSBvZiBWZWN0b3JFbGVtZW50U2l6ZXMpIHsKKyAgICAgICAgICAgICAgICAgICAg
Zm9yIChsZXQgcGFyYW1TaXplcyBvZiB0aGlzLl92ZWN0b3JQYXJhbWV0ZXJTaXplc0Zvck1heGlt
dW1TaXplKHNpemUpKQorICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fZnVuY3Rpb25zLnB1
c2gobmV3IEJ1aWx0aW5WZWN0b3JDYXN0cyh0eXBlTmFtZSwgcGFyYW1TaXplcykpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICByZXR1cm4gdGhp
cy5fZnVuY3Rpb25zOworICAgIH0KKworICAgIHN0YXRpYyBfdmVjdG9yUGFyYW1ldGVyU2l6ZXNG
b3JNYXhpbXVtU2l6ZShtYXhTaXplKQorICAgIHsKKyAgICAgICAgbGV0IHZhcmlhbnRzID0gWyBb
IG1heFNpemUgXSBdOworICAgICAgICBmb3IgKGxldCBzcGxpdFBvaW50ID0gMTsgc3BsaXRQb2lu
dCA8IG1heFNpemU7IHNwbGl0UG9pbnQrKykgeworICAgICAgICAgICAgZm9yIChsZXQgdiBvZiBC
dWlsdGluVmVjdG9yQ2FzdHMuX3ZlY3RvclBhcmFtZXRlclNpemVzRm9yTWF4aW11bVNpemUobWF4
U2l6ZSAtIHNwbGl0UG9pbnQpKQorICAgICAgICAgICAgICAgIHZhcmlhbnRzLnB1c2goWyBzcGxp
dFBvaW50IF0uY29uY2F0KHYpKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gdmFyaWFudHM7
CisgICAgfQorCisgICAgaW5zdGFudGlhdGVJbXBsZW1lbnRhdGlvbihmdW5jKQorICAgIHsKKyAg
ICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChhcmdzKSA9PiB7CisgICAgICAgICAgICBjb25z
dCByZXN1bHQgPSBuZXcgRVB0cihuZXcgRUJ1ZmZlcih0aGlzLm91dHB1dFNpemUpLCAwKTsKKyAg
ICAgICAgICAgIGxldCBvZmZzZXQgPSAwOworICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCBhcmdzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGog
PCB0aGlzLnBhcmFtZXRlclNpemVzW2ldOyBqKyspCisgICAgICAgICAgICAgICAgICAgIHJlc3Vs
dC5zZXQob2Zmc2V0KyssIGFyZ3NbaV0uZ2V0KGopKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH07CisgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRp
b25EYXRhID0gdGhpczsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQnVpbHRpblZlY3RvckVxdWFs
aXR5T3BlcmF0b3IuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9CdWlsdGluVmVj
dG9yRXF1YWxpdHlPcGVyYXRvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MTIzYmJkYWQ2ZjA3N2IzNGM2MTkx
YmMzZTI1Y2FjNzFjZjA0MmJlCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvV2ViR1BVU2hhZGlu
Z0xhbmd1YWdlUkkvQnVpbHRpblZlY3RvckVxdWFsaXR5T3BlcmF0b3IuanMKQEAgLTAsMCArMSw2
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworInVzZSBz
dHJpY3QiOworCitjbGFzcyBCdWlsdGluVmVjdG9yRXF1YWxpdHlPcGVyYXRvciB7CisgICAgY29u
c3RydWN0b3IoYmFzZVR5cGVOYW1lLCBzaXplKQorICAgIHsKKyAgICAgICAgdGhpcy5fYmFzZVR5
cGVOYW1lID0gYmFzZVR5cGVOYW1lOworICAgICAgICB0aGlzLl9zaXplID0gc2l6ZTsKKyAgICB9
CisKKyAgICBnZXQgYmFzZVR5cGVOYW1lKCkgeyByZXR1cm4gdGhpcy5fYmFzZVR5cGVOYW1lOyB9
CisgICAgZ2V0IHNpemUoKSB7IHJldHVybiB0aGlzLl9zaXplOyB9CisKKyAgICB0b1N0cmluZygp
CisgICAgeworICAgICAgICByZXR1cm4gYG5hdGl2ZSBib29sIG9wZXJhdG9yPT0oJHt0aGlzLmJh
c2VUeXBlTmFtZX0ke3RoaXMuc2l6ZX0sJHt0aGlzLmJhc2VUeXBlTmFtZX0ke3RoaXMuc2l6ZX0p
YDsKKyAgICB9CisKKyAgICBzdGF0aWMgZnVuY3Rpb25zKCkKKyAgICB7CisgICAgICAgIGlmICgh
dGhpcy5fZnVuY3Rpb25zKSB7CisgICAgICAgICAgICB0aGlzLl9mdW5jdGlvbnMgPSBbXTsKKwor
ICAgICAgICAgICAgZm9yIChsZXQgdHlwZU5hbWUgb2YgVmVjdG9yRWxlbWVudFR5cGVzKSB7Cisg
ICAgICAgICAgICAgICAgZm9yIChsZXQgc2l6ZSBvZiBWZWN0b3JFbGVtZW50U2l6ZXMpCisgICAg
ICAgICAgICAgICAgICAgIHRoaXMuX2Z1bmN0aW9ucy5wdXNoKG5ldyBCdWlsdGluVmVjdG9yRXF1
YWxpdHlPcGVyYXRvcih0eXBlTmFtZSwgc2l6ZSkpOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgICAgIHJldHVybiB0aGlzLl9mdW5jdGlvbnM7CisgICAgfQorCisgICAgaW5zdGFudGlh
dGVJbXBsZW1lbnRhdGlvbihmdW5jKQorICAgIHsKKyAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlv
biA9IChbcmVmMSwgcmVmMl0sIG5vZGUpID0+IHsKKyAgICAgICAgICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgdGhpcy5zaXplOyBpKyspIHsKKyAgICAgICAgICAgICAgICBpZiAocmVmMS5nZXQoaSkg
IT0gcmVmMi5nZXQoaSkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBFUHRyLmJveChmYWxz
ZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gRVB0ci5ib3godHJ1ZSk7Cisg
ICAgICAgIH07CisgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRpb25EYXRhID0gdGhpczsKKyAgICB9
Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BV
U2hhZGluZ0xhbmd1YWdlUkkvQnVpbHRpblZlY3RvckdldHRlci5qcyBiL1Rvb2xzL1dlYkdQVVNo
YWRpbmdMYW5ndWFnZVJJL0J1aWx0aW5WZWN0b3JHZXR0ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODhhOTE1
N2E0ZWRjZTQ3NmM5MzRhNWEwNWM3NzFjMzU2NGMzNTYwOQotLS0gL2Rldi9udWxsCisrKyBiL1Rv
b2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0J1aWx0aW5WZWN0b3JHZXR0ZXIuanMKQEAgLTAs
MCArMSw3MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLwor
InVzZSBzdHJpY3QiOworCitjbGFzcyBCdWlsdGluVmVjdG9yR2V0dGVyIHsKKyAgICBjb25zdHJ1
Y3RvcihiYXNlVHlwZU5hbWUsIHNpemUsIGVsZW1lbnROYW1lLCBpbmRleCkKKyAgICB7CisgICAg
ICAgIHRoaXMuX2Jhc2VUeXBlTmFtZSA9IGJhc2VUeXBlTmFtZTsKKyAgICAgICAgdGhpcy5fc2l6
ZSA9IHNpemU7CisgICAgICAgIHRoaXMuX2VsZW1lbnROYW1lID0gZWxlbWVudE5hbWU7CisgICAg
ICAgIHRoaXMuX2luZGV4ID0gaW5kZXg7CisgICAgfQorCisgICAgZ2V0IGJhc2VUeXBlTmFtZSgp
IHsgcmV0dXJuIHRoaXMuX2Jhc2VUeXBlTmFtZTsgfQorICAgIGdldCBzaXplKCkgeyByZXR1cm4g
dGhpcy5fc2l6ZTsgfQorICAgIGdldCBlbGVtZW50TmFtZSgpIHsgcmV0dXJuIHRoaXMuX2VsZW1l
bnROYW1lOyB9CisgICAgZ2V0IGluZGV4KCkgeyByZXR1cm4gdGhpcy5faW5kZXg7IH0KKworICAg
IHRvU3RyaW5nKCkKKyAgICB7CisgICAgICAgIHJldHVybiBgbmF0aXZlICR7dGhpcy5iYXNlVHlw
ZU5hbWV9IG9wZXJhdG9yLiR7dGhpcy5lbGVtZW50TmFtZX0oJHt0aGlzLmJhc2VUeXBlTmFtZX0k
e3RoaXMuc2l6ZX0pYDsKKyAgICB9CisKKyAgICBzdGF0aWMgZnVuY3Rpb25zKCkKKyAgICB7Cisg
ICAgICAgIGlmICghdGhpcy5fZnVuY3Rpb25zKSB7CisgICAgICAgICAgICB0aGlzLl9mdW5jdGlv
bnMgPSBbXTsKKyAgICAgICAgCisgICAgICAgICAgICBjb25zdCBlbGVtZW50cyA9IFsgIngiLCAi
eSIsICJ6IiwgInciIF07CisKKyAgICAgICAgICAgIGZvciAobGV0IHR5cGVOYW1lIG9mIFZlY3Rv
ckVsZW1lbnRUeXBlcykgeworICAgICAgICAgICAgICAgIGZvciAobGV0IHNpemUgb2YgVmVjdG9y
RWxlbWVudFNpemVzKSB7CisgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwg
c2l6ZTsgaSsrKQorICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fZnVuY3Rpb25zLnB1c2go
bmV3IEJ1aWx0aW5WZWN0b3JHZXR0ZXIodHlwZU5hbWUsIHNpemUsIGVsZW1lbnRzW2ldLCBpKSk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHJl
dHVybiB0aGlzLl9mdW5jdGlvbnM7CisgICAgfQorCisgICAgaW5zdGFudGlhdGVJbXBsZW1lbnRh
dGlvbihmdW5jKQorICAgIHsKKyAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbdmVjXSwg
bm9kZSkgPT4geworICAgICAgICAgICAgcmV0dXJuIEVQdHIuYm94KHZlYy5nZXQodGhpcy5pbmRl
eCkpOworICAgICAgICB9OworICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uRGF0YSA9IHRoaXM7
CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0J1aWx0aW5WZWN0b3JJbmRleEdldHRlci5qcyBiL1Rv
b2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0J1aWx0aW5WZWN0b3JJbmRleEdldHRlci5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44YmE1M2ExZmJjMzc5NzYzZDliMDdhNjIzZmJlMDgwNTYwZjk0YTAyCi0tLSAv
ZGV2L251bGwKKysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQnVpbHRpblZlY3Rv
ckluZGV4R2V0dGVyLmpzCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKyJ1c2Ugc3RyaWN0IjsKKworY2xhc3MgQnVpbHRpblZlY3Rv
ckluZGV4R2V0dGVyIHsKKyAgICBjb25zdHJ1Y3RvcihiYXNlVHlwZU5hbWUsIHNpemUpCisgICAg
eworICAgICAgICB0aGlzLl9iYXNlVHlwZU5hbWUgPSBiYXNlVHlwZU5hbWU7CisgICAgICAgIHRo
aXMuX3NpemUgPSBzaXplOworICAgIH0KKworICAgIGdldCBiYXNlVHlwZU5hbWUoKSB7IHJldHVy
biB0aGlzLl9iYXNlVHlwZU5hbWU7IH0KKyAgICBnZXQgc2l6ZSgpIHsgcmV0dXJuIHRoaXMuX3Np
emU7IH0KKworICAgIHRvU3RyaW5nKCkKKyAgICB7CisgICAgICAgIHJldHVybiBgbmF0aXZlICR7
dGhpcy5iYXNlVHlwZU5hbWV9IG9wZXJhdG9yW10oJHt0aGlzLmJhc2VUeXBlTmFtZX0ke3RoaXMu
c2l6ZX0sdWludClgOworICAgIH0KKworICAgIHN0YXRpYyBmdW5jdGlvbnMoKQorICAgIHsKKyAg
ICAgICAgaWYgKCF0aGlzLl9hbGxJbmRleEdldHRlcnMpIHsKKyAgICAgICAgICAgIHRoaXMuX2Fs
bEluZGV4R2V0dGVycyA9IFtdOworCisgICAgICAgICAgICBmb3IgKGxldCB0eXBlTmFtZSBvZiBW
ZWN0b3JFbGVtZW50VHlwZXMpIHsKKyAgICAgICAgICAgICAgICBmb3IgKGxldCBzaXplIG9mIFZl
Y3RvckVsZW1lbnRTaXplcykKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWxsSW5kZXhHZXR0
ZXJzLnB1c2gobmV3IEJ1aWx0aW5WZWN0b3JJbmRleEdldHRlcih0eXBlTmFtZSwgc2l6ZSkpOwor
ICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHJldHVybiB0aGlzLl9hbGxJbmRleEdl
dHRlcnM7CisgICAgfQorCisgICAgaW5zdGFudGlhdGVJbXBsZW1lbnRhdGlvbihmdW5jKQorICAg
IHsKKyAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbdmVjLCBpbmRleF0sIG5vZGUpID0+
IHsKKyAgICAgICAgICAgIGNvbnN0IGluZGV4VmFsdWUgPSBpbmRleC5sb2FkVmFsdWUoKTsKKyAg
ICAgICAgICAgIGlmIChpbmRleFZhbHVlID49IDAgJiYgaW5kZXhWYWx1ZSA8IHRoaXMuc2l6ZSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gRVB0ci5ib3godmVjLmdldChpbmRleC5sb2FkVmFsdWUo
KSkpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihg
JHtpbmRleFZhbHVlfSBvdXQgb2YgYm91bmRzIGZvciB2ZWN0b3Igb2Ygc2l6ZSAke3RoaXMuc2l6
ZX1gKTsKKyAgICAgICAgfTsKKyAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbkRhdGEgPSB0aGlz
OworICAgIH0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9CdWlsdGluVmVjdG9ySW5kZXhTZXR0ZXIuanMgYi9U
b29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9CdWlsdGluVmVjdG9ySW5kZXhTZXR0ZXIuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNmU3OWQyNTM0ODA4YWVkN2IzOTU4MGQ2NWY3ZTAyOThhMDg1ZmYzMAotLS0g
L2Rldi9udWxsCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0J1aWx0aW5WZWN0
b3JJbmRleFNldHRlci5qcwpAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisidXNlIHN0cmljdCI7CisKK2NsYXNzIEJ1aWx0aW5WZWN0
b3JJbmRleFNldHRlciB7CisgICAgY29uc3RydWN0b3IoYmFzZVR5cGVOYW1lLCBzaXplKQorICAg
IHsKKyAgICAgICAgdGhpcy5fYmFzZVR5cGVOYW1lID0gYmFzZVR5cGVOYW1lOworICAgICAgICB0
aGlzLl9zaXplID0gc2l6ZTsKKyAgICB9CisKKyAgICBnZXQgYmFzZVR5cGVOYW1lKCkgeyByZXR1
cm4gdGhpcy5fYmFzZVR5cGVOYW1lOyB9CisgICAgZ2V0IHNpemUoKSB7IHJldHVybiB0aGlzLl9z
aXplOyB9CisgICAgZ2V0IGVsZW1lbnROYW1lKCkgeyByZXR1cm4gdGhpcy5fZWxlbWVudE5hbWU7
IH0KKyAgICBnZXQgaW5kZXgoKSB7IHJldHVybiB0aGlzLl9pbmRleDsgfQorCisgICAgdG9TdHJp
bmcoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGBuYXRpdmUgJHt0aGlzLmJhc2VUeXBlTmFtZX0k
e3RoaXMuc2l6ZX0gb3BlcmF0b3JbXT0oJHt0aGlzLmJhc2VUeXBlTmFtZX0ke3RoaXMuc2l6ZX0s
dWludDMyLCR7dGhpcy5iYXNlVHlwZU5hbWV9KWA7CisgICAgfQorCisgICAgc3RhdGljIGZ1bmN0
aW9ucygpCisgICAgeworICAgICAgICBpZiAoIXRoaXMuX2Z1bmN0aW9ucykgeworICAgICAgICAg
ICAgdGhpcy5fZnVuY3Rpb25zID0gW107CisKKyAgICAgICAgICAgIGZvciAobGV0IHR5cGVOYW1l
IG9mIFZlY3RvckVsZW1lbnRUeXBlcykgeworICAgICAgICAgICAgICAgIGZvciAobGV0IHNpemUg
b2YgVmVjdG9yRWxlbWVudFNpemVzKQorICAgICAgICAgICAgICAgICAgICB0aGlzLl9mdW5jdGlv
bnMucHVzaChuZXcgQnVpbHRpblZlY3RvckluZGV4U2V0dGVyKHR5cGVOYW1lLCBzaXplKSk7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHRoaXMuX2Z1bmN0aW9uczsK
KyAgICB9CisKKyAgICBpbnN0YW50aWF0ZUltcGxlbWVudGF0aW9uKGZ1bmMpCisgICAgeworICAg
ICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFtiYXNlLCBpbmRleCwgdmFsdWVdLCBub2RlKSA9
PiB7CisgICAgICAgICAgICBjb25zdCBpbmRleFZhbHVlID0gaW5kZXgubG9hZFZhbHVlKCk7Cisg
ICAgICAgICAgICBpZiAoaW5kZXhWYWx1ZSA+PSAwICYmIGluZGV4VmFsdWUgPCB0aGlzLnNpemUp
IHsKKyAgICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gbmV3IEVQdHIobmV3IEVCdWZmZXIodGhp
cy5zaXplKSwgMCk7CisgICAgICAgICAgICAgICAgcmVzdWx0LmNvcHlGcm9tKGJhc2UsIHRoaXMu
c2l6ZSk7CisgICAgICAgICAgICAgICAgcmVzdWx0LnBsdXMoaW5kZXhWYWx1ZSkuY29weUZyb20o
dmFsdWUsIDEpOworICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgICAgICB9
IGVsc2UKKyAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7aW5kZXhWYWx1ZX0gb3V0
IG9mIGJvdW5kcyBmb3IgdmVjdG9yIG9mIHNpemUgJHt0aGlzLnNpemV9YCk7CisgICAgICAgIH07
CisgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRpb25EYXRhID0gdGhpczsKKyAgICB9Cit9ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xh
bmd1YWdlUkkvQnVpbHRpblZlY3RvclNldHRlci5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5n
dWFnZVJJL0J1aWx0aW5WZWN0b3JTZXR0ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQyOTBjMzU0NzZlOTU3
YWFkNzE4MDU4YjYyMGMzZjNmYTE3ZmE1MgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1dlYkdQ
VVNoYWRpbmdMYW5ndWFnZVJJL0J1aWx0aW5WZWN0b3JTZXR0ZXIuanMKQEAgLTAsMCArMSw3MyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworInVzZSBzdHJp
Y3QiOworCitjbGFzcyBCdWlsdGluVmVjdG9yU2V0dGVyIHsKKyAgICBjb25zdHJ1Y3RvcihiYXNl
VHlwZU5hbWUsIHNpemUsIGVsZW1lbnROYW1lLCBpbmRleCkKKyAgICB7CisgICAgICAgIHRoaXMu
X2Jhc2VUeXBlTmFtZSA9IGJhc2VUeXBlTmFtZTsKKyAgICAgICAgdGhpcy5fc2l6ZSA9IHNpemU7
CisgICAgICAgIHRoaXMuX2VsZW1lbnROYW1lID0gZWxlbWVudE5hbWU7CisgICAgICAgIHRoaXMu
X2luZGV4ID0gaW5kZXg7CisgICAgfQorCisgICAgZ2V0IGJhc2VUeXBlTmFtZSgpIHsgcmV0dXJu
IHRoaXMuX2Jhc2VUeXBlTmFtZTsgfQorICAgIGdldCBzaXplKCkgeyByZXR1cm4gdGhpcy5fc2l6
ZTsgfQorICAgIGdldCBlbGVtZW50TmFtZSgpIHsgcmV0dXJuIHRoaXMuX2VsZW1lbnROYW1lOyB9
CisgICAgZ2V0IGluZGV4KCkgeyByZXR1cm4gdGhpcy5faW5kZXg7IH0KKworICAgIHRvU3RyaW5n
KCkKKyAgICB7CisgICAgICAgIHJldHVybiBgbmF0aXZlICR7dGhpcy5iYXNlVHlwZU5hbWV9JHt0
aGlzLnNpemV9IG9wZXJhdG9yLiR7dGhpcy5lbGVtZW50TmFtZX09KCR7dGhpcy5iYXNlVHlwZU5h
bWV9JHt0aGlzLnNpemV9LCR7dGhpcy5iYXNlVHlwZU5hbWV9KWA7CisgICAgfQorCisgICAgc3Rh
dGljIGZ1bmN0aW9ucygpCisgICAgeworICAgICAgICBpZiAoIXRoaXMuX2Z1bmN0aW9ucykgewor
ICAgICAgICAgICAgdGhpcy5fZnVuY3Rpb25zID0gW107CisgICAgICAgIAorICAgICAgICAgICAg
Y29uc3QgZWxlbWVudHMgPSBbICJ4IiwgInkiLCAieiIsICJ3IiBdOworCisgICAgICAgICAgICBm
b3IgKGxldCB0eXBlTmFtZSBvZiBWZWN0b3JFbGVtZW50VHlwZXMpIHsKKyAgICAgICAgICAgICAg
ICBmb3IgKGxldCBzaXplIG9mIFZlY3RvckVsZW1lbnRTaXplcykgeworICAgICAgICAgICAgICAg
ICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNpemU7IGkrKykKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHRoaXMuX2Z1bmN0aW9ucy5wdXNoKG5ldyBCdWlsdGluVmVjdG9yU2V0dGVyKHR5cGVOYW1l
LCBzaXplLCBlbGVtZW50c1tpXSwgaSkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorICAgICAgICByZXR1cm4gdGhpcy5fZnVuY3Rpb25zOworICAgIH0KKwor
ICAgIGluc3RhbnRpYXRlSW1wbGVtZW50YXRpb24oZnVuYykKKyAgICB7CisgICAgICAgIGZ1bmMu
aW1wbGVtZW50YXRpb24gPSAoW2Jhc2UsIHZhbHVlXSwgbm9kZSkgPT4geworICAgICAgICAgICAg
bGV0IHJlc3VsdCA9IG5ldyBFUHRyKG5ldyBFQnVmZmVyKHRoaXMuc2l6ZSksIDApOworICAgICAg
ICAgICAgcmVzdWx0LmNvcHlGcm9tKGJhc2UsIHRoaXMuc2l6ZSk7CisgICAgICAgICAgICByZXN1
bHQucGx1cyh0aGlzLmluZGV4KS5jb3B5RnJvbSh2YWx1ZSwgMSk7CisgICAgICAgICAgICByZXR1
cm4gcmVzdWx0OworICAgICAgICB9OworICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uRGF0YSA9
IHRoaXM7CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0NhbGxFeHByZXNzaW9uLmpzIGIvVG9vbHMv
V2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQ2FsbEV4cHJlc3Npb24uanMKaW5kZXggYjVhZTBmZTQ5
ZmNlZGM4ZmE3NmE2Njc5M2NmZTBjYjFmMDhiNDU3MS4uOWM3ZmNkYzAxOTVkM2VjOGIxMWM3ODFj
MjkxNzAzZjI1NzFiODA4YSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdl
UkkvQ2FsbEV4cHJlc3Npb24uanMKKysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkv
Q2FsbEV4cHJlc3Npb24uanMKQEAgLTI1LDExICsyNSwxMCBAQAogInVzZSBzdHJpY3QiOwogCiBj
bGFzcyBDYWxsRXhwcmVzc2lvbiBleHRlbmRzIEV4cHJlc3Npb24gewotICAgIGNvbnN0cnVjdG9y
KG9yaWdpbiwgbmFtZSwgdHlwZUFyZ3VtZW50cywgYXJndW1lbnRMaXN0KQorICAgIGNvbnN0cnVj
dG9yKG9yaWdpbiwgbmFtZSwgYXJndW1lbnRMaXN0KQogICAgIHsKICAgICAgICAgc3VwZXIob3Jp
Z2luKTsKICAgICAgICAgdGhpcy5fbmFtZSA9IG5hbWU7Ci0gICAgICAgIHRoaXMuX3R5cGVBcmd1
bWVudHMgPSB0eXBlQXJndW1lbnRzOwogICAgICAgICB0aGlzLl9hcmd1bWVudExpc3QgPSBhcmd1
bWVudExpc3Q7CiAgICAgICAgIHRoaXMuZnVuYyA9IG51bGw7CiAgICAgICAgIHRoaXMuX2lzQ2Fz
dCA9IGZhbHNlOwpAQCAtMzcsODUgKzM2LDEyNSBAQCBjbGFzcyBDYWxsRXhwcmVzc2lvbiBleHRl
bmRzIEV4cHJlc3Npb24gewogICAgIH0KICAgICAKICAgICBnZXQgbmFtZSgpIHsgcmV0dXJuIHRo
aXMuX25hbWU7IH0KLSAgICBnZXQgdHlwZUFyZ3VtZW50cygpIHsgcmV0dXJuIHRoaXMuX3R5cGVB
cmd1bWVudHM7IH0KICAgICBnZXQgYXJndW1lbnRMaXN0KCkgeyByZXR1cm4gdGhpcy5fYXJndW1l
bnRMaXN0OyB9CiAgICAgZ2V0IGlzQ2FzdCgpIHsgcmV0dXJuIHRoaXMuX2lzQ2FzdDsgfQogICAg
IGdldCByZXR1cm5UeXBlKCkgeyByZXR1cm4gdGhpcy5fcmV0dXJuVHlwZTsgfQogICAgIAotICAg
IHN0YXRpYyByZXNvbHZlKG9yaWdpbiwgcG9zc2libGVPdmVybG9hZHMsIHR5cGVQYXJhbWV0ZXJz
SW5TY29wZSwgbmFtZSwgdHlwZUFyZ3VtZW50cywgYXJndW1lbnRMaXN0LCBhcmd1bWVudFR5cGVz
LCByZXR1cm5UeXBlKQorICAgIHN0YXRpYyByZXNvbHZlKG9yaWdpbiwgcG9zc2libGVPdmVybG9h
ZHMsIG5hbWUsIGFyZ3VtZW50TGlzdCwgYXJndW1lbnRUeXBlcywgcmV0dXJuVHlwZSwgcHJvZ3Jh
bSkKICAgICB7Ci0gICAgICAgIGxldCBjYWxsID0gbmV3IENhbGxFeHByZXNzaW9uKG9yaWdpbiwg
bmFtZSwgdHlwZUFyZ3VtZW50cywgYXJndW1lbnRMaXN0KTsKKyAgICAgICAgbGV0IGNhbGwgPSBu
ZXcgQ2FsbEV4cHJlc3Npb24ob3JpZ2luLCBuYW1lLCBbXSwgYXJndW1lbnRMaXN0KTsKICAgICAg
ICAgY2FsbC5hcmd1bWVudFR5cGVzID0gYXJndW1lbnRUeXBlcy5tYXAoYXJndW1lbnQgPT4gYXJn
dW1lbnQudmlzaXQobmV3IEF1dG9XcmFwcGVyKCkpKTsKICAgICAgICAgY2FsbC5wb3NzaWJsZU92
ZXJsb2FkcyA9IHBvc3NpYmxlT3ZlcmxvYWRzOwogICAgICAgICBpZiAocmV0dXJuVHlwZSkKICAg
ICAgICAgICAgIGNhbGwuc2V0Q2FzdERhdGEocmV0dXJuVHlwZSk7Ci0gICAgICAgIHJldHVybiB7
Y2FsbCwgcmVzdWx0VHlwZTogY2FsbC5yZXNvbHZlKHBvc3NpYmxlT3ZlcmxvYWRzLCB0eXBlUGFy
YW1ldGVyc0luU2NvcGUsIHR5cGVBcmd1bWVudHMpfTsKKyAgICAgICAgcmV0dXJuIHtjYWxsLCBy
ZXN1bHRUeXBlOiBjYWxsLnJlc29sdmUocG9zc2libGVPdmVybG9hZHMsIHByb2dyYW0pfTsKICAg
ICB9Ci0gICAgCi0gICAgcmVzb2x2ZShwb3NzaWJsZU92ZXJsb2FkcywgdHlwZVBhcmFtZXRlcnNJ
blNjb3BlLCB0eXBlQXJndW1lbnRzKQorCisgICAgcmVzb2x2ZShwb3NzaWJsZU92ZXJsb2Fkcywg
cHJvZ3JhbSkKICAgICB7CiAgICAgICAgIGlmICghcG9zc2libGVPdmVybG9hZHMpCiAgICAgICAg
ICAgICB0aHJvdyBuZXcgV1R5cGVFcnJvcih0aGlzLm9yaWdpbi5vcmlnaW5TdHJpbmcsICJEaWQg
bm90IGZpbmQgYW55IGZ1bmN0aW9ucyBuYW1lZCAiICsgdGhpcy5uYW1lKTsKLSAgICAgICAgCi0g
ICAgICAgIGxldCBvdmVybG9hZCA9IG51bGw7CisKICAgICAgICAgbGV0IGZhaWx1cmVzID0gW107
Ci0gICAgICAgIGZvciAobGV0IHR5cGVQYXJhbWV0ZXIgb2YgdHlwZVBhcmFtZXRlcnNJblNjb3Bl
KSB7Ci0gICAgICAgICAgICBpZiAoISh0eXBlUGFyYW1ldGVyIGluc3RhbmNlb2YgVHlwZVZhcmlh
YmxlKSkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIGlmICghdHlwZVBh
cmFtZXRlci5wcm90b2NvbCkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAg
IGxldCBzaWduYXR1cmVzID0KLSAgICAgICAgICAgICAgICB0eXBlUGFyYW1ldGVyLnByb3RvY29s
LnByb3RvY29sRGVjbC5zaWduYXR1cmVzQnlOYW1lV2l0aFR5cGVWYXJpYWJsZSh0aGlzLm5hbWUs
IHR5cGVQYXJhbWV0ZXIpOwotICAgICAgICAgICAgaWYgKCFzaWduYXR1cmVzKQotICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgb3ZlcmxvYWQgPSByZXNvbHZlT3ZlcmxvYWRJ
bXBsKHNpZ25hdHVyZXMsIHRoaXMudHlwZUFyZ3VtZW50cywgdGhpcy5hcmd1bWVudFR5cGVzLCB0
aGlzLnJldHVyblR5cGUpOwotICAgICAgICAgICAgaWYgKG92ZXJsb2FkLmZ1bmMpCi0gICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBmYWlsdXJlcy5wdXNoKC4uLm92ZXJsb2FkLmZh
aWx1cmVzKTsKLSAgICAgICAgICAgIG92ZXJsb2FkID0gbnVsbDsKLSAgICAgICAgfQotICAgICAg
ICBpZiAoIW92ZXJsb2FkKSB7Ci0gICAgICAgICAgICBvdmVybG9hZCA9IHJlc29sdmVPdmVybG9h
ZEltcGwoCi0gICAgICAgICAgICAgICAgcG9zc2libGVPdmVybG9hZHMsIHRoaXMudHlwZUFyZ3Vt
ZW50cywgdGhpcy5hcmd1bWVudFR5cGVzLCB0aGlzLnJldHVyblR5cGUpOwotICAgICAgICAgICAg
aWYgKCFvdmVybG9hZC5mdW5jKSB7Ci0gICAgICAgICAgICAgICAgZmFpbHVyZXMucHVzaCguLi5v
dmVybG9hZC5mYWlsdXJlcyk7Ci0gICAgICAgICAgICAgICAgbGV0IG1lc3NhZ2UgPSAiRGlkIG5v
dCBmaW5kIGZ1bmN0aW9uIG5hbWVkICIgKyB0aGlzLm5hbWUgKyAiIGZvciBjYWxsIHdpdGggIjsK
LSAgICAgICAgICAgICAgICBpZiAodGhpcy50eXBlQXJndW1lbnRzLmxlbmd0aCkKLSAgICAgICAg
ICAgICAgICAgICAgbWVzc2FnZSArPSAidHlwZSBhcmd1bWVudHMgPCIgKyB0aGlzLnR5cGVBcmd1
bWVudHMgKyAiPiBhbmQgIjsKLSAgICAgICAgICAgICAgICBtZXNzYWdlICs9ICJhcmd1bWVudCB0
eXBlcyAoIiArIHRoaXMuYXJndW1lbnRUeXBlcyArICIpIjsKLSAgICAgICAgICAgICAgICBpZiAo
dGhpcy5yZXR1cm5UeXBlKQotICAgICAgICAgICAgICAgICAgICBtZXNzYWdlICs9IiBhbmQgcmV0
dXJuIHR5cGUgIiArIHRoaXMucmV0dXJuVHlwZTsKLSAgICAgICAgICAgICAgICBpZiAoZmFpbHVy
ZXMubGVuZ3RoKQotICAgICAgICAgICAgICAgICAgICBtZXNzYWdlICs9ICIsIGJ1dCBjb25zaWRl
cmVkOlxuIiArIGZhaWx1cmVzLmpvaW4oIlxuIikKLSAgICAgICAgICAgICAgICB0aHJvdyBuZXcg
V1R5cGVFcnJvcih0aGlzLm9yaWdpbi5vcmlnaW5TdHJpbmcsIG1lc3NhZ2UpOwotICAgICAgICAg
ICAgfQorICAgICAgICBsZXQgb3ZlcmxvYWQgPSByZXNvbHZlT3ZlcmxvYWRJbXBsKHBvc3NpYmxl
T3ZlcmxvYWRzLCB0aGlzLmFyZ3VtZW50VHlwZXMsIHRoaXMucmV0dXJuVHlwZSk7CisKKyAgICAg
ICAgaWYgKCFvdmVybG9hZC5mdW5jKSB7CisgICAgICAgICAgICBjb25zdCBmdW5jID0gdGhpcy5f
cmVzb2x2ZUJ5SW5zdGFudGlhdGlvbihwcm9ncmFtKTsKKyAgICAgICAgICAgIGlmIChmdW5jKQor
ICAgICAgICAgICAgICAgIG92ZXJsb2FkLmZ1bmMgPSBmdW5jOwogICAgICAgICB9Ci0gICAgICAg
IGZvciAobGV0IGkgPSAwOyBpIDwgdHlwZUFyZ3VtZW50cy5sZW5ndGg7ICsraSkgewotICAgICAg
ICAgICAgbGV0IHR5cGVBcmd1bWVudFR5cGUgPSB0eXBlQXJndW1lbnRzW2ldOwotICAgICAgICAg
ICAgbGV0IHR5cGVQYXJhbWV0ZXIgPSBvdmVybG9hZC5mdW5jLnR5cGVQYXJhbWV0ZXJzW2ldOwot
ICAgICAgICAgICAgaWYgKCEodHlwZVBhcmFtZXRlciBpbnN0YW5jZW9mIENvbnN0ZXhwclR5cGVQ
YXJhbWV0ZXIpKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgaWYgKCF0
eXBlUGFyYW1ldGVyLnR5cGUuZXF1YWxzV2l0aENvbW1pdCh0eXBlQXJndW1lbnRUeXBlKSkKLSAg
ICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkF0ICIgKyB0aGlzLm9yaWdpbi5vcmlnaW5T
dHJpbmcgKyAiIGNvbnN0ZXhwciB0eXBlIGFyZ3VtZW50IGFuZCBwYXJhbWV0ZXIgdHlwZXMgbm90
IGVxdWFsOiBhcmd1bWVudCA9ICIgKyB0eXBlQXJndW1lbnRUeXBlICsgIiwgcGFyYW1ldGVyID0g
IiArIHR5cGVQYXJhbWV0ZXIudHlwZSk7CisKKworICAgICAgICBpZiAoIW92ZXJsb2FkLmZ1bmMp
IHsKKyAgICAgICAgICAgIGZhaWx1cmVzLnB1c2goLi4ub3ZlcmxvYWQuZmFpbHVyZXMpOworICAg
ICAgICAgICAgbGV0IG1lc3NhZ2UgPSAiRGlkIG5vdCBmaW5kIGZ1bmN0aW9uIG5hbWVkICIgKyB0
aGlzLm5hbWUgKyAiIGZvciBjYWxsIHdpdGggIjsKKyAgICAgICAgICAgIG1lc3NhZ2UgKz0gImFy
Z3VtZW50IHR5cGVzICgiICsgdGhpcy5hcmd1bWVudFR5cGVzICsgIikiOworICAgICAgICAgICAg
aWYgKHRoaXMucmV0dXJuVHlwZSkKKyAgICAgICAgICAgICAgICBtZXNzYWdlICs9IiBhbmQgcmV0
dXJuIHR5cGUgIiArIHRoaXMucmV0dXJuVHlwZTsKKyAgICAgICAgICAgIGlmIChmYWlsdXJlcy5s
ZW5ndGgpCisgICAgICAgICAgICAgICAgbWVzc2FnZSArPSAiLCBidXQgY29uc2lkZXJlZDpcbiIg
KyBmYWlsdXJlcy5qb2luKCJcbiIpCisgICAgICAgICAgICB0aHJvdyBuZXcgV1R5cGVFcnJvcih0
aGlzLm9yaWdpbi5vcmlnaW5TdHJpbmcsIG1lc3NhZ2UpOwogICAgICAgICB9CisKICAgICAgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmFyZ3VtZW50VHlwZXMubGVuZ3RoOyArK2kpIHsKICAg
ICAgICAgICAgIGxldCBhcmd1bWVudFR5cGUgPSB0aGlzLmFyZ3VtZW50VHlwZXNbaV07Ci0gICAg
ICAgICAgICBsZXQgcGFyYW1ldGVyVHlwZSA9IG92ZXJsb2FkLmZ1bmMucGFyYW1ldGVyc1tpXS50
eXBlLnN1YnN0aXR1dGVUb1VuaWZpY2F0aW9uKAotICAgICAgICAgICAgICAgIG92ZXJsb2FkLmZ1
bmMudHlwZVBhcmFtZXRlcnMsIG92ZXJsb2FkLnVuaWZpY2F0aW9uQ29udGV4dCk7CisgICAgICAg
ICAgICBsZXQgcGFyYW1ldGVyVHlwZSA9IG92ZXJsb2FkLmZ1bmMucGFyYW1ldGVyc1tpXS50eXBl
OwogICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGFyZ3VtZW50VHlwZS5lcXVhbHNXaXRoQ29tbWl0
KHBhcmFtZXRlclR5cGUpOwogICAgICAgICAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgICAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCJBdCAiICsgdGhpcy5vcmlnaW4ub3JpZ2luU3RyaW5nICsgIiBh
cmd1bWVudCBhbmQgcGFyYW1ldGVyIHR5cGVzIG5vdCBlcXVhbCBhZnRlciB0eXBlIGFyZ3VtZW50
IHN1YnN0aXR1dGlvbjogYXJndW1lbnQgPSAiICsgYXJndW1lbnRUeXBlICsgIiwgcGFyYW1ldGVy
ID0gIiArIHBhcmFtZXRlclR5cGUpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiB0aGlzLnJl
c29sdmVUb092ZXJsb2FkKG92ZXJsb2FkKTsKICAgICB9CisKKyAgICBfcmVzb2x2ZUJ5SW5zdGFu
dGlhdGlvbihwcm9ncmFtKQorICAgIHsKKyAgICAgICAgbGV0IGZ1bmM7CisgICAgICAgIGlmICh0
aGlzLm5hbWUgPT0gIm9wZXJhdG9yJltdIikKKyAgICAgICAgICAgIGZ1bmMgPSB0aGlzLl9yZXNv
bHZlVG9PcGVyYXRvckFuZGVySW5kZXhlcihwcm9ncmFtKTsKKyAgICAgICAgZWxzZSBpZiAodGhp
cy5uYW1lID09ICJvcGVyYXRvci5sZW5ndGgiKQorICAgICAgICAgICAgZnVuYyA9IHRoaXMuX3Jl
c29sdmVUb09wZXJhdG9yTGVuZ3RoKHByb2dyYW0pOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICByZXR1cm4gbnVsbDsKKworICAgICAgICBwcm9ncmFtLmFkZChmdW5jKTsKKyAgICAgICAgcmV0
dXJuIGZ1bmM7CisgICAgfQorCisgICAgX3Jlc29sdmVUb09wZXJhdG9yQW5kZXJJbmRleGVyKHBy
b2dyYW0pCisgICAgeworICAgICAgICBsZXQgYXJyYXlSZWZUeXBlID0gdGhpcy5hcmd1bWVudFR5
cGVzWzBdOworICAgICAgICBpZiAoIWFycmF5UmVmVHlwZS5pc0FycmF5UmVmKQorICAgICAgICAg
ICAgdGhyb3cgbmV3IFdUeXBlRXJyb3IodGhpcy5vcmlnaW4ub3JpZ2luU3RyaW5nLCBgRXhwZWN0
ZWQgJHthcnJheVJlZlR5cGV9IHRvIGJlIGFuIGFycmF5IHJlZiB0eXBlIGZvciBvcGVyYXRvciZb
XWApOworCisgICAgICAgIGxldCBpbmRleFR5cGUgPSB0aGlzLmFyZ3VtZW50VHlwZXNbMV07Cisg
ICAgICAgIGNvbnN0IGFkZHJlc3NTcGFjZSA9IGFycmF5UmVmVHlwZS5hZGRyZXNzU3BhY2U7CisK
KyAgICAgICAgLy8gVGhlIGxhdGVyIGNoZWNrTGl0ZXJhbFR5cGVzIHN0YWdlIHdpbGwgdmVyaWZ5
IHRoYXQgdGhlIGxpdGVyYWwgY2FuIGJlIHJlcHJlc2VudGVkIGFzIGEgdWludC4KKyAgICAgICAg
Y29uc3QgdWludFR5cGUgPSBUeXBlUmVmLndyYXAocHJvZ3JhbS50eXBlcy5nZXQoInVpbnQzMiIp
KTsKKyAgICAgICAgaW5kZXhUeXBlLnR5cGUgPSB1aW50VHlwZTsKKworICAgICAgICBjb25zdCBl
bGVtZW50VHlwZSA9IHRoaXMuYXJndW1lbnRUeXBlc1swXS5lbGVtZW50VHlwZTsKKyAgICAgICAg
dGhpcy5yZXN1bHRUeXBlID0gdGhpcy5fcmV0dXJuVHlwZSA9IFR5cGVSZWYud3JhcChuZXcgUHRy
VHlwZSh0aGlzLm9yaWdpbiwgYWRkcmVzc1NwYWNlLCBUeXBlUmVmLndyYXAoZWxlbWVudFR5cGUp
KSkKKworICAgICAgICBsZXQgYXJyYXlSZWZBY2Nlc3NvciA9IG5ldyBPcGVyYXRvckFuZGVySW5k
ZXhlcih0aGlzLnJldHVyblR5cGUudG9TdHJpbmcoKSwgYWRkcmVzc1NwYWNlKTsKKyAgICAgICAg
Y29uc3QgZnVuYyA9IG5ldyBOYXRpdmVGdW5jKHRoaXMub3JpZ2luLCAib3BlcmF0b3ImW10iLCB0
aGlzLnJlc3VsdFR5cGUsIFsKKyAgICAgICAgICAgIG5ldyBGdW5jUGFyYW1ldGVyKHRoaXMub3Jp
Z2luLCBudWxsLCBhcnJheVJlZlR5cGUpLAorICAgICAgICAgICAgbmV3IEZ1bmNQYXJhbWV0ZXIo
dGhpcy5vcmlnaW4sIG51bGwsIHVpbnRUeXBlKQorICAgICAgICBdLCBmYWxzZSwgbnVsbCk7CisK
KyAgICAgICAgYXJyYXlSZWZBY2Nlc3Nvci5pbnN0YW50aWF0ZUltcGxlbWVudGF0aW9uKGZ1bmMp
OworCisgICAgICAgIHJldHVybiBmdW5jOworICAgIH0KKworICAgIF9yZXNvbHZlVG9PcGVyYXRv
ckxlbmd0aChwcm9ncmFtKQorICAgIHsKKyAgICAgICAgdGhpcy5yZXN1bHRUeXBlID0gdGhpcy5f
cmV0dXJuVHlwZSA9IFR5cGVSZWYud3JhcChwcm9ncmFtLnR5cGVzLmdldCgidWludDMyIikpOwor
CisgICAgICAgIGlmICh0aGlzLmFyZ3VtZW50VHlwZXNbMF0uaXNBcnJheSkgeworICAgICAgICAg
ICAgY29uc3QgYXJyYXlUeXBlID0gdGhpcy5hcmd1bWVudFR5cGVzWzBdOworICAgICAgICAgICAg
Y29uc3QgZnVuYyA9IG5ldyBOYXRpdmVGdW5jKHRoaXMub3JpZ2luLCAib3BlcmF0b3IubGVuZ3Ro
IiwgdGhpcy5yZXN1bHRUeXBlLCBbCisgICAgICAgICAgICAgICAgbmV3IEZ1bmNQYXJhbWV0ZXIo
dGhpcy5vcmlnaW4sIG51bGwsIGFycmF5VHlwZSkKKyAgICAgICAgICAgIF0sIGZhbHNlLCBudWxs
KTsKKyAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRpb24gPSAoYXJncywgbm9kZSkgPT4gRVB0
ci5ib3goYXJyYXlUeXBlLm51bUVsZW1lbnRzVmFsdWUpOworICAgICAgICAgICAgcmV0dXJuIGZ1
bmM7CisgICAgICAgIH0gZWxzZSBpZiAodGhpcy5hcmd1bWVudFR5cGVzWzBdLmlzQXJyYXlSZWYp
IHsKKyAgICAgICAgICAgIGNvbnN0IGFycmF5UmVmVHlwZSA9IHRoaXMuYXJndW1lbnRUeXBlc1sw
XTsKKyAgICAgICAgICAgIGNvbnN0IGFkZHJlc3NTcGFjZSA9IGFycmF5UmVmVHlwZS5hZGRyZXNz
U3BhY2U7CisgICAgICAgICAgICBjb25zdCBvcGVyYXRvckxlbmd0aCA9IG5ldyBPcGVyYXRvckFy
cmF5UmVmTGVuZ3RoKGFycmF5UmVmVHlwZS50b1N0cmluZygpLCBhZGRyZXNzU3BhY2UpOworICAg
ICAgICAgICAgY29uc3QgZnVuYyA9IG5ldyBOYXRpdmVGdW5jKHRoaXMub3JpZ2luLCAib3BlcmF0
b3IubGVuZ3RoIiwgdGhpcy5yZXN1bHRUeXBlLCBbCisgICAgICAgICAgICAgICAgbmV3IEZ1bmNQ
YXJhbWV0ZXIodGhpcy5vcmlnaW4sIG51bGwsIGFycmF5UmVmVHlwZSkKKyAgICAgICAgICAgIF0s
IGZhbHNlLCBudWxsKTsKKyAgICAgICAgICAgIG9wZXJhdG9yTGVuZ3RoLmluc3RhbnRpYXRlSW1w
bGVtZW50YXRpb24oZnVuYyk7CisgICAgICAgICAgICByZXR1cm4gZnVuYzsKKyAgICAgICAgfSBl
bHNlCisgICAgICAgICAgICB0aHJvdyBuZXcgV1R5cGVFcnJvcih0aGlzLm9yaWdpbi5vcmlnaW5T
dHJpbmcsIGBFeHBlY3RlZCAke3RoaXMuYXJndW1lbnRUeXBlc1swXX0gdG8gYmUgYXJyYXkvYXJy
YXkgcmVmIHR5cGUgZm9yIG9wZXJhdG9yLmxlbmd0aGApOworICAgIH0KICAgICAKICAgICByZXNv
bHZlVG9PdmVybG9hZChvdmVybG9hZCkKICAgICB7CiAgICAgICAgIHRoaXMuZnVuYyA9IG92ZXJs
b2FkLmZ1bmM7Ci0gICAgICAgIHRoaXMuYWN0dWFsVHlwZUFyZ3VtZW50cyA9IG92ZXJsb2FkLnR5
cGVBcmd1bWVudHMubWFwKHR5cGVBcmd1bWVudCA9PiB0eXBlQXJndW1lbnQgaW5zdGFuY2VvZiBU
eXBlID8gdHlwZUFyZ3VtZW50LnZpc2l0KG5ldyBBdXRvV3JhcHBlcigpKSA6IHR5cGVBcmd1bWVu
dCk7Ci0gICAgICAgIHRoaXMuaW5zdGFudGlhdGVkQWN0dWFsVHlwZUFyZ3VtZW50cyA9IHRoaXMu
YWN0dWFsVHlwZUFyZ3VtZW50czsKLSAgICAgICAgbGV0IHJlc3VsdCA9IG92ZXJsb2FkLmZ1bmMu
cmV0dXJuVHlwZS5zdWJzdGl0dXRlVG9VbmlmaWNhdGlvbigKLSAgICAgICAgICAgIG92ZXJsb2Fk
LmZ1bmMudHlwZVBhcmFtZXRlcnMsIG92ZXJsb2FkLnVuaWZpY2F0aW9uQ29udGV4dCk7CisgICAg
ICAgIGxldCByZXN1bHQgPSBvdmVybG9hZC5mdW5jLnJldHVyblR5cGU7CiAgICAgICAgIGlmICgh
cmVzdWx0KQogICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJOdWxsIHJldHVybiB0eXBlIik7
CiAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC52aXNpdChuZXcgQXV0b1dyYXBwZXIoKSk7CkBAIC0x
MjUsMTEgKzE2NCwxMCBAQCBjbGFzcyBDYWxsRXhwcmVzc2lvbiBleHRlbmRzIEV4cHJlc3Npb24g
ewogICAgIAogICAgIGJlY29tZUNhc3QocmV0dXJuVHlwZSkKICAgICB7Ci0gICAgICAgIHRoaXMu
X3JldHVyblR5cGUgPSBuZXcgVHlwZVJlZih0aGlzLm9yaWdpbiwgdGhpcy5uYW1lLCB0aGlzLl90
eXBlQXJndW1lbnRzKTsKKyAgICAgICAgdGhpcy5fcmV0dXJuVHlwZSA9IG5ldyBUeXBlUmVmKHRo
aXMub3JpZ2luLCB0aGlzLm5hbWUsIFtdKTsKICAgICAgICAgdGhpcy5fcmV0dXJuVHlwZS50eXBl
ID0gcmV0dXJuVHlwZTsKICAgICAgICAgdGhpcy5fbmFtZSA9ICJvcGVyYXRvciBjYXN0IjsKICAg
ICAgICAgdGhpcy5faXNDYXN0ID0gdHJ1ZTsKLSAgICAgICAgdGhpcy5fdHlwZUFyZ3VtZW50cyA9
IFtdOwogICAgIH0KICAgICAKICAgICBzZXRDYXN0RGF0YShyZXR1cm5UeXBlKQpAQCAtMTQxLDgg
KzE3OSw2IEBAIGNsYXNzIENhbGxFeHByZXNzaW9uIGV4dGVuZHMgRXhwcmVzc2lvbiB7CiAgICAg
dG9TdHJpbmcoKQogICAgIHsKICAgICAgICAgcmV0dXJuICh0aGlzLmlzQ2FzdCA/ICJvcGVyYXRv
ciAiICsgdGhpcy5yZXR1cm5UeXBlIDogdGhpcy5uYW1lKSArCi0gICAgICAgICAgICAiPCIgKyB0
aGlzLnR5cGVBcmd1bWVudHMgKyAiPiIgKwotICAgICAgICAgICAgKHRoaXMuYWN0dWFsVHlwZUFy
Z3VtZW50cyA/ICI8PCIgKyB0aGlzLmFjdHVhbFR5cGVBcmd1bWVudHMgKyAiPj4iIDogIiIpICsK
ICAgICAgICAgICAgICIoIiArIHRoaXMuYXJndW1lbnRMaXN0ICsgIikiOwogICAgIH0KIH0KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0NhbGxFeHByZXNzaW9uVHlw
ZUFyZ3VtZW50UmVzb2x2ZXIuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9DYWxs
RXhwcmVzc2lvblR5cGVBcmd1bWVudFJlc29sdmVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5YTJlOTY4OGNi
NzRlNjBiZGU0NzNkMDNlZjIwNmI2MjcyZDE0Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9X
ZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9DYWxsRXhwcmVzc2lvblR5cGVBcmd1bWVudFJlc29sdmVy
LmpzCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworInVzZSBzdHJpY3QiOworCitjbGFzcyBDYWxsRXhwcmVzc2lvblR5cGVBcmd1bWVu
dFJlc29sdmVyIGV4dGVuZHMgVmlzaXRvciB7CisKKyAgICBjb25zdHJ1Y3Rvcihwcm9ncmFtKQor
ICAgIHsKKyAgICAgICAgc3VwZXIoKTsKKyAgICAgICAgdGhpcy5fbmFtZVJlc29sdmVyID0gbmV3
IE5hbWVSZXNvbHZlcihwcm9ncmFtLmdsb2JhbE5hbWVDb250ZXh0KTsKKyAgICB9CisKKyAgICB2
aXNpdENhbGxFeHByZXNzaW9uKG5vZGUpCisgICAgeworICAgICAgICAvLyBDYWxsIGV4cHJlc3Np
b25zIHdpdGggdHlwZSBhcmd1bWVudHMgYXJlIG9ubHkgZXZlciBvcGVyYXRvciBjYXN0cy4KKyAg
ICAgICAgLy8gQXQgdGhlIHBvaW50IHRoYXQgdGhpcyBzdGFnZSBpcyBleGVjdXRlZCB0aGUgY2Fs
bCBleHByZXNzaW9ucyBhcmUgb2YgdGhlIGZvcm0gdmVjdG9yPGludCwgMj4uCisgICAgICAgIC8v
IFRoaXMgcmVwbGFjZXMgdGhlbSB3aXRoIHZlY3RvcjxULCBOPiBvcGVyYXRvciBjYXN0KC4uLiku
CisgICAgICAgIGlmIChub2RlLnR5cGVBcmd1bWVudHMubGVuZ3RoKSB7CisgICAgICAgICAgICBu
b2RlLl9yZXR1cm5UeXBlID0gbmV3IFR5cGVSZWYobm9kZS5vcmlnaW4sIG5vZGUubmFtZSwgbm9k
ZS50eXBlQXJndW1lbnRzKTsKKyAgICAgICAgICAgIG5vZGUuX25hbWUgPSAib3BlcmF0b3IgY2Fz
dCI7CisgICAgICAgICAgICBub2RlLl90eXBlQXJndW1lbnRzID0gW107CisgICAgICAgIH0KKyAg
ICB9CisKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9DYWxsRnVuY3Rpb24uanMgYi9Ub29scy9XZWJHUFVTaGFk
aW5nTGFuZ3VhZ2VSSS9DYWxsRnVuY3Rpb24uanMKaW5kZXggZjBmMDM5ZjU0NjJkMDc4MWQ4MmIz
NDY0Yzg3NDc4NzE0YzBhMTczNy4uNzQ5NTc2MGYyYzVkODFkODM5NDU2Y2RlNGM0NTk3NzBiY2Mz
MzBmYyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQ2FsbEZ1bmN0
aW9uLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0NhbGxGdW5jdGlvbi5q
cwpAQCAtMjUsMTcgKzI1LDE3IEBACiAidXNlIHN0cmljdCI7CiAKIC8vIFRoaXMgYWxsb3dzIHlv
dSB0byBwYXNzIHN0cnVjdHMgYW5kIGFycmF5cyBpbi1wbGFjZSwgYnV0IGl0J3MgYSBtb3JlIGFu
bm95aW5nIEFQSS4KLWZ1bmN0aW9uIGNhbGxGdW5jdGlvbihwcm9ncmFtLCBuYW1lLCB0eXBlQXJn
dW1lbnRzLCBhcmd1bWVudExpc3QpCitmdW5jdGlvbiBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgbmFt
ZSwgYXJndW1lbnRMaXN0KQogewogICAgIGxldCBhcmd1bWVudFR5cGVzID0gYXJndW1lbnRMaXN0
Lm1hcChhcmd1bWVudCA9PiBhcmd1bWVudC50eXBlKTsKLSAgICBsZXQgZnVuY09yRmFpbHVyZXMg
PSByZXNvbHZlSW5saW5lZEZ1bmN0aW9uKHByb2dyYW0sIG5hbWUsIHR5cGVBcmd1bWVudHMsIGFy
Z3VtZW50VHlwZXMsIHRydWUpOworICAgIGxldCBmdW5jT3JGYWlsdXJlcyA9IHJlc29sdmVJbmxp
bmVkRnVuY3Rpb24ocHJvZ3JhbSwgbmFtZSwgYXJndW1lbnRUeXBlcywgdHJ1ZSk7CiAgICAgaWYg
KCEoZnVuY09yRmFpbHVyZXMgaW5zdGFuY2VvZiBGdW5jKSkgewogICAgICAgICBsZXQgZmFpbHVy
ZXMgPSBmdW5jT3JGYWlsdXJlczsKLSAgICAgICAgdGhyb3cgbmV3IFdUeXBlRXJyb3IoIjxjYWxs
RnVuY3Rpb24+IiwgIkNhbm5vdCByZXNvbHZlIGZ1bmN0aW9uIGNhbGwgIiArIG5hbWUgKyAiPCIg
KyB0eXBlQXJndW1lbnRzICsgIj4oIiArIGFyZ3VtZW50TGlzdCArICIpIiArIChmYWlsdXJlcy5s
ZW5ndGggPyAiOyB0cmllZDpcbiIgKyBmYWlsdXJlcy5qb2luKCJcbiIpIDogIiIpKTsKKyAgICAg
ICAgdGhyb3cgbmV3IFdUeXBlRXJyb3IoIjxjYWxsRnVuY3Rpb24+IiwgIkNhbm5vdCByZXNvbHZl
IGZ1bmN0aW9uIGNhbGwgIiArIG5hbWUgKyAiKCIgKyBhcmd1bWVudExpc3QgKyAiKSIgKyAoZmFp
bHVyZXMubGVuZ3RoID8gIjsgdHJpZWQ6XG4iICsgZmFpbHVyZXMuam9pbigiXG4iKSA6ICIiKSk7
CiAgICAgfQogICAgIGxldCBmdW5jID0gZnVuY09yRmFpbHVyZXM7CiAgICAgZm9yIChsZXQgaSA9
IDA7IGkgPCBmdW5jLnBhcmFtZXRlcnMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgbGV0IHR5cGUg
PSBhcmd1bWVudFR5cGVzW2ldLmluc3RhbnRpYXRlZFR5cGU7CisgICAgICAgIGxldCB0eXBlID0g
YXJndW1lbnRUeXBlc1tpXTsKICAgICAgICAgdHlwZS52aXNpdChuZXcgU3RydWN0TGF5b3V0QnVp
bGRlcigpKTsKICAgICAgICAgZnVuYy5wYXJhbWV0ZXJzW2ldLmVQdHIuY29weUZyb20oYXJndW1l
bnRMaXN0W2ldLmVQdHIsIHR5cGUuc2l6ZSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
R1BVU2hhZGluZ0xhbmd1YWdlUkkvQ2hlY2tlci5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5n
dWFnZVJJL0NoZWNrZXIuanMKaW5kZXggOGQ1NWM1MGQ4MzZjMTU0ODZmZDI1ODBjNThlOTYwNmNh
ZDU5NmVjYi4uMTE5NWZkMTc0MzNkMjdlY2JmMmYxODg1N2E5YmYzOTAyMWE3ZDhiZiAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQ2hlY2tlci5qcworKysgYi9Ub29s
cy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9DaGVja2VyLmpzCkBAIC00Myw4ICs0Myw2IEBAIGNs
YXNzIENoZWNrZXIgZXh0ZW5kcyBWaXNpdG9yIHsKICAgICAgICAgCiAgICAgICAgIGZvciAobGV0
IHR5cGUgb2Ygbm9kZS50eXBlcy52YWx1ZXMoKSkKICAgICAgICAgICAgIGRvU3RhdGVtZW50KHR5
cGUpOwotICAgICAgICBmb3IgKGxldCBwcm90b2NvbCBvZiBub2RlLnByb3RvY29scy52YWx1ZXMo
KSkKLSAgICAgICAgICAgIGRvU3RhdGVtZW50KHByb3RvY29sKTsKICAgICAgICAgZm9yIChsZXQg
ZnVuY3Mgb2Ygbm9kZS5mdW5jdGlvbnMudmFsdWVzKCkpIHsKICAgICAgICAgICAgIGZvciAobGV0
IGZ1bmMgb2YgZnVuY3MpIHsKICAgICAgICAgICAgICAgICB0aGlzLnZpc2l0RnVuYyhmdW5jKTsK
QEAgLTU5LDggKzU3LDYgQEAgY2xhc3MgQ2hlY2tlciBleHRlbmRzIFZpc2l0b3IgewogICAgIF9j
aGVja1NoYWRlclR5cGUobm9kZSkKICAgICB7CiAgICAgICAgIC8vIEZJWE1FOiBSZWxheCB0aGVz
ZSBjaGVja3Mgb25jZSB3ZSBoYXZlIGltcGxlbWVudGVkIHN1cHBvcnQgZm9yIHRleHR1cmVzIGFu
ZCBzYW1wbGVycy4KLSAgICAgICAgaWYgKG5vZGUudHlwZVBhcmFtZXRlcnMubGVuZ3RoICE9IDAp
Ci0gICAgICAgICAgICB0aHJvdyBuZXcgV1R5cGVFcnJvcihub2RlLm9yaWdpbi5vcmlnaW5TdHJp
bmcsICJFbnRyeSBwb2ludCAiICsgbm9kZS5uYW1lICsgIiBtdXN0IG5vdCBoYXZlIHR5cGUgYXJn
dW1lbnRzLiIpOwogICAgICAgICBsZXQgc2hhZGVyRnVuYyA9IG5vZGU7CiAgICAgICAgIHN3aXRj
aCAobm9kZS5zaGFkZXJUeXBlKSB7CiAgICAgICAgIGNhc2UgInZlcnRleCI6CkBAIC04NCwxNSAr
ODAsNiBAQCBjbGFzcyBDaGVja2VyIGV4dGVuZHMgVmlzaXRvciB7CiAgICAgICAgIGlmICghZnVu
Yy5uYW1lLnN0YXJ0c1dpdGgoIm9wZXJhdG9yIikpCiAgICAgICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoIkJhZCBvcGVyYXRvciBvdmVybG9hZCBuYW1lOiAiICsgZnVuYy5uYW1lKTsKICAgICAgICAg
Ci0gICAgICAgIGxldCB0eXBlVmFyaWFibGVUcmFja2VyID0gbmV3IFR5cGVWYXJpYWJsZVRyYWNr
ZXIoKTsKLSAgICAgICAgZm9yIChsZXQgcGFyYW1ldGVyVHlwZSBvZiBmdW5jLnBhcmFtZXRlclR5
cGVzKQotICAgICAgICAgICAgcGFyYW1ldGVyVHlwZS52aXNpdCh0eXBlVmFyaWFibGVUcmFja2Vy
KTsKLSAgICAgICAgTm9kZS52aXNpdChmdW5jLnJldHVyblR5cGVGb3JPdmVybG9hZFJlc29sdXRp
b24sIHR5cGVWYXJpYWJsZVRyYWNrZXIpOwotICAgICAgICBmb3IgKGxldCB0eXBlUGFyYW1ldGVy
IG9mIGZ1bmMudHlwZVBhcmFtZXRlcnMpIHsKLSAgICAgICAgICAgIGlmICghdHlwZVZhcmlhYmxl
VHJhY2tlci5zZXQuaGFzKHR5cGVQYXJhbWV0ZXIpKQotICAgICAgICAgICAgICAgIHRocm93IG5l
dyBXVHlwZUVycm9yKHR5cGVQYXJhbWV0ZXIub3JpZ2luLm9yaWdpblN0cmluZywgIlR5cGUgcGFy
YW1ldGVyICIgKyB0eXBlUGFyYW1ldGVyICsgIiB0byBvcGVyYXRvciAiICsgZnVuYy50b0RlY2xT
dHJpbmcoKSArICIgaXMgbm90IGluZmVycmFibGUgZnJvbSB2YWx1ZSBwYXJhbWV0ZXJzIik7Ci0g
ICAgICAgIH0KLSAgICAgICAgCiAgICAgICAgIGxldCBjaGVja0dldHRlciA9IChraW5kKSA9PiB7
CiAgICAgICAgICAgICBsZXQgbnVtRXhwZWN0ZWRQYXJhbWV0ZXJzID0ga2luZCA9PSAiaW5kZXgi
ID8gMiA6IDE7CiAgICAgICAgICAgICBpZiAoZnVuYy5wYXJhbWV0ZXJzLmxlbmd0aCAhPSBudW1F
eHBlY3RlZFBhcmFtZXRlcnMpCkBAIC0xMTUsMTEgKzEwMiwxMCBAQCBjbGFzcyBDaGVja2VyIGV4
dGVuZHMgVmlzaXRvciB7CiAgICAgICAgICAgICBpZiAoIWdldHRlckZ1bmNzKQogICAgICAgICAg
ICAgICAgIHRocm93IG5ldyBXVHlwZUVycm9yKGZ1bmMub3JpZ2luLm9yaWdpblN0cmluZywgIkV2
ZXJ5IHNldHRlciBtdXN0IGhhdmUgYSBtYXRjaGluZyBnZXR0ZXIsIGJ1dCBkaWQgbm90IGZpbmQg
YW55IGZ1bmN0aW9uIG5hbWVkICIgKyBnZXR0ZXJOYW1lICsgIiB0byBtYXRjaCAiICsgZnVuYy5u
YW1lKTsKICAgICAgICAgICAgIGxldCBhcmd1bWVudFR5cGVzID0gZnVuYy5wYXJhbWV0ZXJUeXBl
cy5zbGljZSgwLCBudW1FeHBlY3RlZFBhcmFtZXRlcnMgLSAxKTsKLSAgICAgICAgICAgIGxldCBv
dmVybG9hZCA9IHJlc29sdmVPdmVybG9hZEltcGwoZ2V0dGVyRnVuY3MsIFtdLCBhcmd1bWVudFR5
cGVzLCBudWxsKTsKKyAgICAgICAgICAgIGxldCBvdmVybG9hZCA9IHJlc29sdmVPdmVybG9hZElt
cGwoZ2V0dGVyRnVuY3MsIGFyZ3VtZW50VHlwZXMsIG51bGwpOwogICAgICAgICAgICAgaWYgKCFv
dmVybG9hZC5mdW5jKQogICAgICAgICAgICAgICAgIHRocm93IG5ldyBXVHlwZUVycm9yKGZ1bmMu
b3JpZ2luLm9yaWdpblN0cmluZywgIkRpZCBub3QgZmluZCBmdW5jdGlvbiBuYW1lZCAiICsgZnVu
Yy5uYW1lICsgIiB3aXRoIGFyZ3VtZW50cyAiICsgYXJndW1lbnRUeXBlcyArIChvdmVybG9hZC5m
YWlsdXJlcy5sZW5ndGggPyAiOyB0cmllZDpcbiIgKyBvdmVybG9hZC5mYWlsdXJlcy5qb2luKCJc
biIpIDogIiIpKTsKLSAgICAgICAgICAgIGxldCByZXN1bHRUeXBlID0gb3ZlcmxvYWQuZnVuYy5y
ZXR1cm5UeXBlLnN1YnN0aXR1dGVUb1VuaWZpY2F0aW9uKAotICAgICAgICAgICAgICAgIG92ZXJs
b2FkLmZ1bmMudHlwZVBhcmFtZXRlcnMsIG92ZXJsb2FkLnVuaWZpY2F0aW9uQ29udGV4dCk7Cisg
ICAgICAgICAgICBsZXQgcmVzdWx0VHlwZSA9IG92ZXJsb2FkLmZ1bmMucmV0dXJuVHlwZTsKICAg
ICAgICAgICAgIGlmICghcmVzdWx0VHlwZS5lcXVhbHModmFsdWVUeXBlKSkKICAgICAgICAgICAg
ICAgICB0aHJvdyBuZXcgV1R5cGVFcnJvcihmdW5jLm9yaWdpbi5vcmlnaW5TdHJpbmcsICJTZXR0
ZXIgYW5kIGdldHRlciBtdXN0IGFncmVlIG9uIHZhbHVlIHR5cGUgKGdldHRlciBhdCAiICsgb3Zl
cmxvYWQuZnVuYy5vcmlnaW4ub3JpZ2luU3RyaW5nICsgIiBzYXlzICIgKyByZXN1bHRUeXBlICsg
IiB3aGlsZSB0aGlzIHNldHRlciBzYXlzICIgKyB2YWx1ZVR5cGUgKyAiKSIpOwogICAgICAgICB9
OwpAQCAtMjExLDIzICsxOTcsNiBAQCBjbGFzcyBDaGVja2VyIGV4dGVuZHMgVmlzaXRvciB7CiAg
ICAgewogICAgIH0KICAgICAKLSAgICB2aXNpdFByb3RvY29sRGVjbChub2RlKQotICAgIHsKLSAg
ICAgICAgZm9yIChsZXQgc2lnbmF0dXJlIG9mIG5vZGUuc2lnbmF0dXJlcykgewotICAgICAgICAg
ICAgbGV0IHR5cGVWYXJpYWJsZVRyYWNrZXIgPSBuZXcgVHlwZVZhcmlhYmxlVHJhY2tlcigpOwot
ICAgICAgICAgICAgZm9yIChsZXQgcGFyYW1ldGVyVHlwZSBvZiBzaWduYXR1cmUucGFyYW1ldGVy
VHlwZXMpCi0gICAgICAgICAgICAgICAgcGFyYW1ldGVyVHlwZS52aXNpdCh0eXBlVmFyaWFibGVU
cmFja2VyKTsKLSAgICAgICAgICAgIE5vZGUudmlzaXQoc2lnbmF0dXJlLnJldHVyblR5cGVGb3JP
dmVybG9hZFJlc29sdXRpb24sIHR5cGVWYXJpYWJsZVRyYWNrZXIpOwotICAgICAgICAgICAgZm9y
IChsZXQgdHlwZVBhcmFtZXRlciBvZiBzaWduYXR1cmUudHlwZVBhcmFtZXRlcnMpIHsKLSAgICAg
ICAgICAgICAgICBpZiAoIXR5cGVWYXJpYWJsZVRyYWNrZXIuc2V0Lmhhcyh0eXBlUGFyYW1ldGVy
KSkKLSAgICAgICAgICAgICAgICAgICAgdGhyb3cgV1R5cGVFcnJvcih0eXBlUGFyYW1ldGVyLm9y
aWdpbi5vcmlnaW5TdHJpbmcsICJUeXBlIHBhcmFtZXRlciB0byBwcm90b2NvbCBzaWduYXR1cmUg
bm90IGluZmVycmFibGUgZnJvbSB2YWx1ZSBwYXJhbWV0ZXJzIik7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBpZiAoIXR5cGVWYXJpYWJsZVRyYWNrZXIuc2V0Lmhhcyhub2RlLnR5cGVWYXJp
YWJsZSkpCi0gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFdUeXBlRXJyb3Ioc2lnbmF0dXJlLm9y
aWdpbi5vcmlnaW5TdHJpbmcsICJQcm90b2NvbCdzIHR5cGUgdmFyaWFibGUgKCIgKyBub2RlLm5h
bWUgKyAiKSBub3QgbWVudGlvbmVkIGluIHNpZ25hdHVyZTogIiArIHNpZ25hdHVyZSk7Ci0gICAg
ICAgICAgICB0aGlzLl9jaGVja09wZXJhdG9yT3ZlcmxvYWQoc2lnbmF0dXJlLCBuYW1lID0+IG5v
ZGUuc2lnbmF0dXJlc0J5TmFtZShuYW1lKSk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCiAgICAg
dmlzaXRFbnVtVHlwZShub2RlKQogICAgIHsKICAgICAgICAgbm9kZS5iYXNlVHlwZS52aXNpdCh0
aGlzKTsKQEAgLTI3OCwyOSArMjQ3LDQxIEBAIGNsYXNzIENoZWNrZXIgZXh0ZW5kcyBWaXNpdG9y
IHsKICAgICAgICAgICAgIHRocm93IG5ldyBXVHlwZUVycm9yKG5vZGUub3JpZ2luLm9yaWdpblN0
cmluZywgIkVudW0gZG9lcyBub3QgaGF2ZSBhIG1lbWJlciB3aXRoIHRoZSB2YWx1ZSB6ZXJvIik7
CiAgICAgfQogICAgIAotICAgIF9jaGVja1R5cGVBcmd1bWVudHMob3JpZ2luLCB0eXBlUGFyYW1l
dGVycywgdHlwZUFyZ3VtZW50cykKLSAgICB7Ci0gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwg
dHlwZVBhcmFtZXRlcnMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIGxldCBhcmd1bWVudElz
VHlwZSA9IHR5cGVBcmd1bWVudHNbaV0gaW5zdGFuY2VvZiBUeXBlOwotICAgICAgICAgICAgbGV0
IHJlc3VsdCA9IHR5cGVBcmd1bWVudHNbaV0udmlzaXQodGhpcyk7Ci0gICAgICAgICAgICBpZiAo
YXJndW1lbnRJc1R5cGUpIHsKLSAgICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gdHlwZUFyZ3Vt
ZW50c1tpXS5pbmhlcml0cyh0eXBlUGFyYW1ldGVyc1tpXS5wcm90b2NvbCk7Ci0gICAgICAgICAg
ICAgICAgaWYgKCFyZXN1bHQucmVzdWx0KQotICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcg
V1R5cGVFcnJvcihvcmlnaW4ub3JpZ2luU3RyaW5nLCAiVHlwZSBhcmd1bWVudCBkb2VzIG5vdCBp
bmhlcml0IHByb3RvY29sOiAiICsgcmVzdWx0LnJlYXNvbik7Ci0gICAgICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgICAgIGlmICghcmVzdWx0LmVxdWFsc1dpdGhDb21taXQodHlwZVBhcmFt
ZXRlcnNbaV0udHlwZSkpCi0gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBXVHlwZUVycm9y
KG9yaWdpbi5vcmlnaW5TdHJpbmcsICJXcm9uZyB0eXBlIGZvciBjb25zdGV4cHIiKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLSAgICAKICAgICB2aXNpdFR5cGVSZWYobm9kZSkK
ICAgICB7CiAgICAgICAgIGlmICghbm9kZS50eXBlKQogICAgICAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKCJUeXBlIHJlZmVyZW5jZSB3aXRob3V0IGEgdHlwZSBpbiBjaGVja2VyOiAiICsgbm9kZSAr
ICIgYXQgIiArIG5vZGUub3JpZ2luKTsKICAgICAgICAgaWYgKCEobm9kZS50eXBlIGluc3RhbmNl
b2YgU3RydWN0VHlwZSkpCiAgICAgICAgICAgICBub2RlLnR5cGUudmlzaXQodGhpcyk7Ci0gICAg
ICAgIHRoaXMuX2NoZWNrVHlwZUFyZ3VtZW50cyhub2RlLm9yaWdpbiwgbm9kZS50eXBlLnR5cGVQ
YXJhbWV0ZXJzLCBub2RlLnR5cGVBcmd1bWVudHMpOworICAgIH0KKworICAgIHZpc2l0TmF0aXZl
UGFyYW1ldGVyaXplZFR5cGUobm9kZSkKKyAgICB7CisgICAgICAgIGZvciAobGV0IGkgPSAwOyBp
IDwgbm9kZS50eXBlQXJndW1lbnRzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICBsZXQgcmVz
dWx0ID0gbm9kZS50eXBlQXJndW1lbnRzW2ldLnZpc2l0KHRoaXMpOworICAgICAgICAgICAgaWYg
KCFub2RlLnR5cGVBcmd1bWVudHNbaV0gaW5zdGFuY2VvZiBUeXBlKSB7CisgICAgICAgICAgICAg
ICAgaWYgKCFyZXN1bHQuZXF1YWxzV2l0aENvbW1pdChub2RlLnR5cGVBcmd1bWVudHNbaV0udHlw
ZSkpCisgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBXVHlwZUVycm9yKG9yaWdpbi5vcmln
aW5TdHJpbmcsICJXcm9uZyB0eXBlIGZvciBjb25zdGV4cHIiKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgIH0KKworICAgIHZpc2l0VmVjdG9yVHlwZShub2RlKQorICAgIHsKKyAgICAg
ICAgbm9kZS5lbGVtZW50VHlwZS52aXNpdCh0aGlzKTsKKworICAgICAgICBpZiAoIShub2RlLmVs
ZW1lbnRUeXBlLmVxdWFscyh0aGlzLl9wcm9ncmFtLmludHJpbnNpY3MuaW50MzIpCisgICAgICAg
ICAgICAgICAgfHwgbm9kZS5lbGVtZW50VHlwZS5lcXVhbHModGhpcy5fcHJvZ3JhbS5pbnRyaW5z
aWNzLnVpbnQzMikKKyAgICAgICAgICAgICAgICB8fCBub2RlLmVsZW1lbnRUeXBlLmVxdWFscyh0
aGlzLl9wcm9ncmFtLmludHJpbnNpY3MuZmxvYXQpKSkKKyAgICAgICAgICAgIHRocm93IG5ldyBX
VHlwZUVycm9yKG5vZGUub3JpZ2luLm9yaWdpblN0cmluZywgYFZlY3RvciBlbGVtZW50IHR5cGUg
JHtub2RlLmVsZW1lbnRUeXBlfSBub3QgcGVybWl0dGVkYCk7CisKKyAgICAgICAgaWYgKCFub2Rl
Lm51bUVsZW1lbnRzLmlzQ29uc3RleHByKQorICAgICAgICAgICAgdGhyb3cgbmV3IFdUeXBlRXJy
b3Iobm9kZS5vcmlnaW4ub3JpZ2luU3RyaW5nLCAiVmVjdG9yIHNpemUgbXVzdCBiZSBjb25zdGV4
cHIiKTsKKworICAgICAgICBsZXQgbnVtRWxlbWVudHNUeXBlID0gbm9kZS5udW1FbGVtZW50cy52
aXNpdCh0aGlzKTsKKworICAgICAgICBpZiAoIW51bUVsZW1lbnRzVHlwZS5lcXVhbHNXaXRoQ29t
bWl0KHRoaXMuX3Byb2dyYW0uaW50cmluc2ljcy51aW50MzIpKQorICAgICAgICAgICAgdGhyb3cg
bmV3IFdUeXBlRXJyb3Iobm9kZS5vcmlnaW4ub3JpZ2luU3RyaW5nLCAiVmVjdG9yIHNpemUgbXVz
dCBiZSBhIHVpbnQzMiIpOwogICAgIH0KICAgICAKICAgICB2aXNpdEFycmF5VHlwZShub2RlKQpA
QCAtNDI2LDggKzQwNyw4IEBAIGNsYXNzIENoZWNrZXIgZXh0ZW5kcyBWaXNpdG9yIHsKICAgICAg
ICAgCiAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gQ2FsbEV4cHJlc3Np
b24ucmVzb2x2ZSgKLSAgICAgICAgICAgICAgICBub2RlLm9yaWdpbiwgbm9kZS5wb3NzaWJsZUdl
dE92ZXJsb2FkcywgdGhpcy5fY3VycmVudFN0YXRlbWVudC50eXBlUGFyYW1ldGVycywKLSAgICAg
ICAgICAgICAgICBub2RlLmdldEZ1bmNOYW1lLCBbXSwgW25vZGUuYmFzZSwgLi4uZXh0cmFBcmdz
XSwgW2Jhc2VUeXBlLCAuLi5leHRyYUFyZ1R5cGVzXSwgbnVsbCk7CisgICAgICAgICAgICAgICAg
bm9kZS5vcmlnaW4sIG5vZGUucG9zc2libGVHZXRPdmVybG9hZHMsCisgICAgICAgICAgICAgICAg
bm9kZS5nZXRGdW5jTmFtZSwgW25vZGUuYmFzZSwgLi4uZXh0cmFBcmdzXSwgW2Jhc2VUeXBlLCAu
Li5leHRyYUFyZ1R5cGVzXSwgbnVsbCwgdGhpcy5fcHJvZ3JhbSk7CiAgICAgICAgICAgICBub2Rl
LmNhbGxGb3JHZXQgPSByZXN1bHQuY2FsbDsKICAgICAgICAgICAgIG5vZGUucmVzdWx0VHlwZUZv
ckdldCA9IHJlc3VsdC5yZXN1bHRUeXBlOwogICAgICAgICB9IGNhdGNoIChlKSB7CkBAIC00NDAs
OSArNDIxLDkgQEAgY2xhc3MgQ2hlY2tlciBleHRlbmRzIFZpc2l0b3IgewogICAgICAgICAgICAg
bGV0IGJhc2VGb3JBbmQgPSBiYXNlVHlwZS5hcmd1bWVudEZvckFuZE92ZXJsb2FkKG5vZGUub3Jp
Z2luLCBub2RlLmJhc2UpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBsZXQgcmVzdWx0ID0g
Q2FsbEV4cHJlc3Npb24ucmVzb2x2ZSgKLSAgICAgICAgICAgICAgICBub2RlLm9yaWdpbiwgbm9k
ZS5wb3NzaWJsZUFuZE92ZXJsb2FkcywgdGhpcy5fY3VycmVudFN0YXRlbWVudC50eXBlUGFyYW1l
dGVycywKLSAgICAgICAgICAgICAgICBub2RlLmFuZEZ1bmNOYW1lLCBbXSwgW2Jhc2VGb3JBbmQs
IC4uLmV4dHJhQXJnc10sIFt0eXBlRm9yQW5kLCAuLi5leHRyYUFyZ1R5cGVzXSwKLSAgICAgICAg
ICAgICAgICBudWxsKTsKKyAgICAgICAgICAgICAgICBub2RlLm9yaWdpbiwgbm9kZS5wb3NzaWJs
ZUFuZE92ZXJsb2FkcywKKyAgICAgICAgICAgICAgICBub2RlLmFuZEZ1bmNOYW1lLCBbYmFzZUZv
ckFuZCwgLi4uZXh0cmFBcmdzXSwgW3R5cGVGb3JBbmQsIC4uLmV4dHJhQXJnVHlwZXNdLAorICAg
ICAgICAgICAgICAgIG51bGwsIHRoaXMuX3Byb2dyYW0pOwogICAgICAgICAgICAgbm9kZS5jYWxs
Rm9yQW5kID0gcmVzdWx0LmNhbGw7CiAgICAgICAgICAgICBub2RlLnJlc3VsdFR5cGVGb3JBbmQg
PSByZXN1bHQucmVzdWx0VHlwZS51bmlmeU5vZGUucmV0dXJuVHlwZUZyb21BbmRPdmVybG9hZChu
b2RlLm9yaWdpbik7CiAgICAgICAgIH0gY2F0Y2ggKGUpIHsKQEAgLTQ2Niw4ICs0NDcsOCBAQCBj
bGFzcyBDaGVja2VyIGV4dGVuZHMgVmlzaXRvciB7CiAgICAgICAgIAogICAgICAgICB0cnkgewog
ICAgICAgICAgICAgbGV0IHJlc3VsdCA9IENhbGxFeHByZXNzaW9uLnJlc29sdmUoCi0gICAgICAg
ICAgICAgICAgbm9kZS5vcmlnaW4sIG5vZGUucG9zc2libGVTZXRPdmVybG9hZHMsIHRoaXMuX2N1
cnJlbnRTdGF0ZW1lbnQudHlwZVBhcmFtZXRlcnMsCi0gICAgICAgICAgICAgICAgbm9kZS5zZXRG
dW5jTmFtZSwgW10sIFtub2RlLmJhc2UsIC4uLmV4dHJhQXJncywgbnVsbF0sIFtiYXNlVHlwZSwg
Li4uZXh0cmFBcmdUeXBlcywgbm9kZS5yZXN1bHRUeXBlXSwgbnVsbCk7CisgICAgICAgICAgICAg
ICAgbm9kZS5vcmlnaW4sIG5vZGUucG9zc2libGVTZXRPdmVybG9hZHMsCisgICAgICAgICAgICAg
ICAgbm9kZS5zZXRGdW5jTmFtZSwgW25vZGUuYmFzZSwgLi4uZXh0cmFBcmdzLCBudWxsXSwgW2Jh
c2VUeXBlLCAuLi5leHRyYUFyZ1R5cGVzLCBub2RlLnJlc3VsdFR5cGVdLCBudWxsLCB0aGlzLl9w
cm9ncmFtKTsKICAgICAgICAgICAgIG5vZGUuY2FsbEZvclNldCA9IHJlc3VsdC5jYWxsOwogICAg
ICAgICAgICAgaWYgKCFyZXN1bHQucmVzdWx0VHlwZS5lcXVhbHMoYmFzZVR5cGUpKQogICAgICAg
ICAgICAgICAgIHRocm93IG5ldyBXVHlwZUVycm9yKG5vZGUub3JpZ2luLm9yaWdpblN0cmluZywg
IlJlc3VsdCB0eXBlIG9mIHNldHRlciAiICsgcmVzdWx0LmNhbGwuZnVuYyArICIgaXMgbm90IHRo
ZSBiYXNlIHR5cGUgIiArIGJhc2VUeXBlKTsKQEAgLTY3MiwxMCArNjUzLDI0IEBAIGNsYXNzIENo
ZWNrZXIgZXh0ZW5kcyBWaXNpdG9yIHsKICAgICAgICAgICAgIHJlc3VsdCA9IGV4cHJlc3Npb24u
dmlzaXQodGhpcyk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQorCisgICAgdmlzaXRU
ZXJuYXJ5RXhwcmVzc2lvbihub2RlKQorICAgIHsKKyAgICAgICAgdGhpcy5fcmVxdWlyZUJvb2wo
bm9kZS5wcmVkaWNhdGUpOworICAgICAgICBsZXQgYm9keVR5cGUgPSBub2RlLmJvZHlFeHByZXNz
aW9uLnZpc2l0KHRoaXMpOworICAgICAgICBsZXQgZWxzZVR5cGUgPSBub2RlLmVsc2VFeHByZXNz
aW9uLnZpc2l0KHRoaXMpOworICAgICAgICBpZiAoIWJvZHlUeXBlKQorICAgICAgICAgICAgdGhy
b3cgbmV3IEVycm9yKCJUZXJuYXJ5IGV4cHJlc3Npb24gYm9keSBoYXMgbm8gdHlwZTogIiArIG5v
ZGUuYm9keUV4cHJlc3Npb24pOworICAgICAgICBpZiAoIWVsc2VUeXBlKQorICAgICAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCJUZXJuYXJ5IGV4cHJlc3Npb24gZWxzZSBoYXMgbm8gdHlwZTogIiAr
IG5vZGUuZWxzZUV4cHJlc3Npb24pOworICAgICAgICBpZiAoIWJvZHlUeXBlLmVxdWFsc1dpdGhD
b21taXQoZWxzZVR5cGUpKQorICAgICAgICAgICAgdGhyb3cgbmV3IFdUeXBlRXJyb3IoIkJvZHkg
YW5kIGVsc2UgY2xhdXNlIG9mIHRlcm5hcnkgc3RhdGVtZW50IGRvbid0IGhhdmUgdGhlIHNhbWUg
dHlwZTogIiArIG5vZGUpOworICAgICAgICBub2RlLmlzTFZhbHVlID0gbm9kZS5ib2R5RXhwcmVz
c2lvbi5pc0xWYWx1ZSAmJiBub2RlLmVsc2VFeHByZXNzaW9uLmlzTFZhbHVlOworICAgICAgICBy
ZXR1cm4gYm9keVR5cGU7CisgICAgfQogICAgIAogICAgIHZpc2l0Q2FsbEV4cHJlc3Npb24obm9k
ZSkKICAgICB7Ci0gICAgICAgIGxldCB0eXBlQXJndW1lbnRzID0gbm9kZS50eXBlQXJndW1lbnRz
Lm1hcCh0eXBlQXJndW1lbnQgPT4gdHlwZUFyZ3VtZW50LnZpc2l0KHRoaXMpKTsKICAgICAgICAg
bGV0IGFyZ3VtZW50VHlwZXMgPSBub2RlLmFyZ3VtZW50TGlzdC5tYXAoYXJndW1lbnQgPT4gewog
ICAgICAgICAgICAgbGV0IG5ld0FyZ3VtZW50ID0gYXJndW1lbnQudmlzaXQodGhpcyk7CiAgICAg
ICAgICAgICBpZiAoIW5ld0FyZ3VtZW50KQpAQCAtNjg3LDcgKzY4Miw3IEBAIGNsYXNzIENoZWNr
ZXIgZXh0ZW5kcyBWaXNpdG9yIHsKICAgICAgICAgaWYgKG5vZGUucmV0dXJuVHlwZSkKICAgICAg
ICAgICAgIG5vZGUucmV0dXJuVHlwZS52aXNpdCh0aGlzKTsKIAotICAgICAgICBsZXQgcmVzdWx0
ID0gbm9kZS5yZXNvbHZlKG5vZGUucG9zc2libGVPdmVybG9hZHMsIHRoaXMuX2N1cnJlbnRTdGF0
ZW1lbnQudHlwZVBhcmFtZXRlcnMsIHR5cGVBcmd1bWVudHMpOworICAgICAgICBsZXQgcmVzdWx0
ID0gbm9kZS5yZXNvbHZlKG5vZGUucG9zc2libGVPdmVybG9hZHMsIHRoaXMuX3Byb2dyYW0pOwog
ICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQ
VVNoYWRpbmdMYW5ndWFnZVJJL0NvbnN0ZXhwckZvbGRlci5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRp
bmdMYW5ndWFnZVJJL0NvbnN0ZXhwckZvbGRlci5qcwppbmRleCAxZTVhZDY2MTViMzkyNDNjMDZh
MGM0NWFlZjc2MzRmNjM3NjUzNzUwLi5kN2M4ZjNmZjhjNmUzMjE4NmE0ZDFkYTcyY2NkNTQxNDdh
NWFmYzJkIDEwMDY0NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9Db25zdGV4
cHJGb2xkZXIuanMKKysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQ29uc3RleHBy
Rm9sZGVyLmpzCkBAIC0zNCwxNyArMzQsMTIgQEAgY2xhc3MgQ29uc3RleHByRm9sZGVyIGV4dGVu
ZHMgVmlzaXRvciB7CiAgICAgICAgIHN1cGVyLnZpc2l0Q2FsbEV4cHJlc3Npb24obm9kZSk7CiAg
ICAgICAgIAogICAgICAgICBpZiAobm9kZS5uYW1lID09ICJvcGVyYXRvci0iCi0gICAgICAgICAg
ICAmJiAhbm9kZS50eXBlQXJndW1lbnRzLmxlbmd0aAogICAgICAgICAgICAgJiYgbm9kZS5hcmd1
bWVudExpc3QubGVuZ3RoID09IDEKLSAgICAgICAgICAgICYmIG5vZGUuYXJndW1lbnRMaXN0WzBd
LnVuaWZ5Tm9kZS5pc0NvbnN0ZXhwcgotICAgICAgICAgICAgJiYgbm9kZS5hcmd1bWVudExpc3Rb
MF0udW5pZnlOb2RlLm5lZ0NvbnN0ZXhwcikgeworICAgICAgICAgICAgJiYgbm9kZS5hcmd1bWVu
dExpc3RbMF0uaXNDb25zdGV4cHIKKyAgICAgICAgICAgICYmIG5vZGUuYXJndW1lbnRMaXN0WzBd
Lm5lZ0NvbnN0ZXhwcikgewogICAgICAgICAgICAgbm9kZS5iZWNvbWUobm9kZS5hcmd1bWVudExp
c3RbMF0udW5pZnlOb2RlLm5lZ0NvbnN0ZXhwcihub2RlLm9yaWdpbikpOwogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CiAgICAgfQotICAgIAotICAgIHZpc2l0VHlwZU9yVmFyaWFibGVS
ZWYobm9kZSkKLSAgICB7Ci0gICAgfQogfQogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFk
aW5nTGFuZ3VhZ2VSSS9Db25zdGV4cHJUeXBlUGFyYW1ldGVyLmpzIGIvVG9vbHMvV2ViR1BVU2hh
ZGluZ0xhbmd1YWdlUkkvQ29uc3RleHByVHlwZVBhcmFtZXRlci5qcwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZTNjMTgyNmVkNTVmM2ZlNTZmN2UwZWQyYTAzZGZkYTAyOGRhNWIzOS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9XZWJH
UFVTaGFkaW5nTGFuZ3VhZ2VSSS9Db25zdGV4cHJUeXBlUGFyYW1ldGVyLmpzCisrKyAvZGV2L251
bGwKQEAgLTEsNzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKLSAqLwotInVzZSBzdHJpY3QiOwotCi1jbGFzcyBDb25zdGV4cHJUeXBlUGFyYW1ldGVyIGV4
dGVuZHMgVmFsdWUgewotICAgIGNvbnN0cnVjdG9yKG9yaWdpbiwgbmFtZSwgdHlwZSkKLSAgICB7
Ci0gICAgICAgIHN1cGVyKCk7Ci0gICAgICAgIHRoaXMuX29yaWdpbiA9IG9yaWdpbjsKLSAgICAg
ICAgdGhpcy5fbmFtZSA9IG5hbWU7Ci0gICAgICAgIHRoaXMuX3R5cGUgPSB0eXBlOwotICAgIH0K
LSAgICAKLSAgICBnZXQgb3JpZ2luKCkgeyByZXR1cm4gdGhpcy5fb3JpZ2luOyB9Ci0gICAgZ2V0
IG5hbWUoKSB7IHJldHVybiB0aGlzLl9uYW1lOyB9Ci0gICAgZ2V0IHR5cGUoKSB7IHJldHVybiB0
aGlzLl90eXBlOyB9Ci0gICAgZ2V0IGlzQ29uc3RleHByKCkgeyByZXR1cm4gdHJ1ZTsgfQotICAg
IGdldCBpc1VuaWZpYWJsZSgpIHsgcmV0dXJuIHRydWU7IH0KLSAgICBnZXQgdmFySXNMVmFsdWUo
KSB7IHJldHVybiBmYWxzZTsgfQotICAgIAotICAgIHR5cGVWYXJpYWJsZVVuaWZ5KHVuaWZpY2F0
aW9uQ29udGV4dCwgb3RoZXIpCi0gICAgewotICAgICAgICBpZiAoIShvdGhlciBpbnN0YW5jZW9m
IFZhbHVlKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBpZiAoIXRoaXMu
dHlwZS51bmlmeSh1bmlmaWNhdGlvbkNvbnRleHQsIG90aGVyLnR5cGUpKQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICAKLSAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGVWYXJpYWJs
ZVVuaWZ5SW1wbCh1bmlmaWNhdGlvbkNvbnRleHQsIG90aGVyKTsKLSAgICB9Ci0gICAgCi0gICAg
dW5pZnlJbXBsKHVuaWZpY2F0aW9uQ29udGV4dCwgb3RoZXIpCi0gICAgewotICAgICAgICByZXR1
cm4gdGhpcy50eXBlVmFyaWFibGVVbmlmeSh1bmlmaWNhdGlvbkNvbnRleHQsIG90aGVyKTsKLSAg
ICB9Ci0gICAgCi0gICAgdmVyaWZ5QXNBcmd1bWVudCh1bmlmaWNhdGlvbkNvbnRleHQpCi0gICAg
ewotICAgICAgICByZXR1cm4ge3Jlc3VsdDogdHJ1ZX07Ci0gICAgfQotICAgIAotICAgIHZlcmlm
eUFzUGFyYW1ldGVyKHVuaWZpY2F0aW9uQ29udGV4dCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB7
cmVzdWx0OiB0cnVlfTsKLSAgICB9Ci0gICAgCi0gICAgdG9TdHJpbmcoKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIHRoaXMudHlwZSArICIgIiArIHRoaXMubmFtZTsKLSAgICB9Ci19Ci0KZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0NyZWF0ZUxpdGVyYWxUeXBlLmpz
IGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQ3JlYXRlTGl0ZXJhbFR5cGUuanMKaW5k
ZXggMTI5MTRkYTMxMzdmZDZiOTBmZWRhNzI1ODYyN2VmZmZmYmQ0ZTU0MS4uZGJlMjE2OGY0NDE3
OGUxYjZhMWM5MTkxYTNmNWYyNjJhYzQ1MDNiOCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hh
ZGluZ0xhbmd1YWdlUkkvQ3JlYXRlTGl0ZXJhbFR5cGUuanMKKysrIGIvVG9vbHMvV2ViR1BVU2hh
ZGluZ0xhbmd1YWdlUkkvQ3JlYXRlTGl0ZXJhbFR5cGUuanMKQEAgLTMyLDcgKzMyLDcgQEAgZnVu
Y3Rpb24gY3JlYXRlTGl0ZXJhbFR5cGUoY29uZmlnKQogICAgICAgICAgICAgc3VwZXIoKTsKICAg
ICAgICAgICAgIHRoaXMuX29yaWdpbiA9IG9yaWdpbjsKICAgICAgICAgICAgIHRoaXMuX3ZhbHVl
ID0gdmFsdWU7Ci0gICAgICAgICAgICB0aGlzLnByZWZlcnJlZFR5cGUgPSBuZXcgVHlwZVJlZihv
cmlnaW4sIGNvbmZpZy5wcmVmZXJyZWRUeXBlTmFtZSwgW10pOworICAgICAgICAgICAgdGhpcy5w
cmVmZXJyZWRUeXBlID0gbmV3IFR5cGVSZWYob3JpZ2luLCBjb25maWcucHJlZmVycmVkVHlwZU5h
bWUpOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBnZXQgb3JpZ2luKCkgeyByZXR1cm4g
dGhpcy5fb3JpZ2luOyB9CkBAIC01MiwxMyArNTIsMTUgQEAgZnVuY3Rpb24gY3JlYXRlTGl0ZXJh
bFR5cGUoY29uZmlnKQogICAgICAgICAKICAgICAgICAgdW5pZnlJbXBsKHVuaWZpY2F0aW9uQ29u
dGV4dCwgb3RoZXIpCiAgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghb3RoZXIuaXNOdW1iZXIp
CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgcmV0dXJuIHRoaXMu
dHlwZVZhcmlhYmxlVW5pZnkodW5pZmljYXRpb25Db250ZXh0LCBvdGhlcik7CiAgICAgICAgIH0K
ICAgICAgICAgCiAgICAgICAgIHByZXBhcmVUb1ZlcmlmeSh1bmlmaWNhdGlvbkNvbnRleHQpCiAg
ICAgICAgIHsKICAgICAgICAgICAgIGxldCByZWFsVGhpcyA9IHVuaWZpY2F0aW9uQ29udGV4dC5m
aW5kKHRoaXMpOwotICAgICAgICAgICAgaWYgKHJlYWxUaGlzIGluc3RhbmNlb2YgVHlwZVZhcmlh
YmxlIHx8IHJlYWxUaGlzLmlzTGl0ZXJhbCkgeworICAgICAgICAgICAgaWYgKHJlYWxUaGlzLmlz
TGl0ZXJhbCkgewogICAgICAgICAgICAgICAgIHJldHVybiAoKSA9PiB7CiAgICAgICAgICAgICAg
ICAgICAgIGlmIChyZWFsVGhpcy51bmlmeSh1bmlmaWNhdGlvbkNvbnRleHQsIHRoaXMucHJlZmVy
cmVkVHlwZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge3Jlc3VsdDogdHJ1ZX07
CkBAIC03Niw3ICs3OCw3IEBAIGZ1bmN0aW9uIGNyZWF0ZUxpdGVyYWxUeXBlKGNvbmZpZykKICAg
ICAgICAgewogICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJHZW5lcmljTGl0ZXJhbFR5cGUg
c2hvdWxkIG5ldmVyIGJlIHVzZWQgYXMgYSB0eXBlIHBhcmFtZXRlciIpOwogICAgICAgICB9Ci0g
ICAgICAgIAorCiAgICAgICAgIGNvbnZlcnNpb25Db3N0KHVuaWZpY2F0aW9uQ29udGV4dCkKICAg
ICAgICAgewogICAgICAgICAgICAgbGV0IHJlYWxUaGlzID0gdW5pZmljYXRpb25Db250ZXh0LmZp
bmQodGhpcyk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9FdmFs
dWF0b3IuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9FdmFsdWF0b3IuanMKaW5k
ZXggNThjZWQ4OWI3ZTQ3NzcwMDIzYzdkOGUxZTgxOTI4NzUxMjYyZWIzOC4uZDA4OTk3MzZmYTY5
YmE1ZTQ0Njc3YjdiODk2Y2NhZmY1ZTczNTUxYiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hh
ZGluZ0xhbmd1YWdlUkkvRXZhbHVhdG9yLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5n
dWFnZVJJL0V2YWx1YXRvci5qcwpAQCAtMTQyLDYgKzE0MiwxNCBAQCBjbGFzcyBFdmFsdWF0b3Ig
ZXh0ZW5kcyBWaXNpdG9yIHsKICAgICAgICAgLy8gVGhpcyBzaG91bGQgYWxtb3N0IHNuYXBzaG90
LCBleGNlcHQgdGhhdCB0YWlsLXJldHVybmluZyBhIHBvaW50ZXIgaXMgdG90YWxseSBPSy4KICAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CisKKyAgICB2aXNpdFRlcm5hcnlFeHByZXNzaW9u
KG5vZGUpCisgICAgeworICAgICAgICBpZiAobm9kZS5wcmVkaWNhdGUudmlzaXQodGhpcykubG9h
ZFZhbHVlKCkpCisgICAgICAgICAgICByZXR1cm4gbm9kZS5ib2R5RXhwcmVzc2lvbi52aXNpdCh0
aGlzKTsKKyAgICAgICAgcmV0dXJuIG5vZGUuZWxzZUV4cHJlc3Npb24udmlzaXQodGhpcyk7Cisg
ICAgICAgIAorICAgIH0KICAgICAKICAgICB2aXNpdFZhcmlhYmxlUmVmKG5vZGUpCiAgICAgewpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRXhwcmVzc2lvbkZpbmRl
ci5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0V4cHJlc3Npb25GaW5kZXIuanMK
aW5kZXggMzBlNmIwMzFhNmRkNjY1OTc0MDdmM2Y2YjdmZTcxM2VkOGZkY2M0YS4uMDI5NDc4MmMw
ZTc5M2FhMzc5NTczZjUyODhjNmVlOWU4ZjkwMDY5YyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BV
U2hhZGluZ0xhbmd1YWdlUkkvRXhwcmVzc2lvbkZpbmRlci5qcworKysgYi9Ub29scy9XZWJHUFVT
aGFkaW5nTGFuZ3VhZ2VSSS9FeHByZXNzaW9uRmluZGVyLmpzCkBAIC0zNSw4ICszNSw2IEBAIGNs
YXNzIEV4cHJlc3Npb25GaW5kZXIgZXh0ZW5kcyBWaXNpdG9yIHsKICAgICB2aXNpdEZ1bmMobm9k
ZSkKICAgICB7CiAgICAgICAgIHRoaXMuX2NhbGxiYWNrKG5vZGUucmV0dXJuVHlwZSk7Ci0gICAg
ICAgIGZvciAobGV0IHR5cGVQYXJhbWV0ZXIgb2Ygbm9kZS50eXBlUGFyYW1ldGVycykKLSAgICAg
ICAgICAgIHR5cGVQYXJhbWV0ZXIudmlzaXQodGhpcyk7CiAgICAgICAgIGZvciAobGV0IHBhcmFt
ZXRlciBvZiBub2RlLnBhcmFtZXRlcnMpCiAgICAgICAgICAgICBwYXJhbWV0ZXIudmlzaXQodGhp
cyk7CiAgICAgfQpAQCAtNDYsMTEgKzQ0LDYgQEAgY2xhc3MgRXhwcmVzc2lvbkZpbmRlciBleHRl
bmRzIFZpc2l0b3IgewogICAgICAgICB0aGlzLl9jYWxsYmFjayhub2RlLnR5cGUpOwogICAgIH0K
ICAgICAKLSAgICB2aXNpdENvbnN0ZXhwclR5cGVQYXJhbWV0ZXIobm9kZSkKLSAgICB7Ci0gICAg
ICAgIHRoaXMuX2NhbGxiYWNrKG5vZGUudHlwZSk7Ci0gICAgfQotICAgIAogICAgIHZpc2l0QXNz
aWdubWVudChub2RlKQogICAgIHsKICAgICAgICAgdGhpcy5fY2FsbGJhY2sobm9kZSk7CmRpZmYg
LS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9GbGF0dGVuUHJvdG9jb2xFeHRl
bmRzLmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRmxhdHRlblByb3RvY29sRXh0
ZW5kcy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzYxNzJkOThkMWUyYzAwOGVk
YjVkODE4M2Y1ZWVmZDY3OGRjOGVlOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9GbGF0dGVuUHJvdG9j
b2xFeHRlbmRzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0g
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBzdHJpY3QiOwotCi1mdW5jdGlv
biBmbGF0dGVuUHJvdG9jb2xFeHRlbmRzKHByb2dyYW0pCi17Ci0gICAgbGV0IHZpc2l0aW5nID0g
bmV3IFZpc2l0aW5nU2V0KCk7Ci0gICAgCi0gICAgZnVuY3Rpb24gZmxhdHRlbihwcm90b2NvbCkK
LSAgICB7Ci0gICAgICAgIGlmICghcHJvdG9jb2wuZXh0ZW5kcy5sZW5ndGgpCi0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIAotICAgICAgICB2aXNpdGluZy5kb1Zpc2l0KHByb3RvY29sLCAo
KSA9PiB7Ci0gICAgICAgICAgICBmb3IgKGxldCBwYXJlbnQgb2YgcHJvdG9jb2wuZXh0ZW5kcykg
ewotICAgICAgICAgICAgICAgIHBhcmVudCA9IHBhcmVudC5wcm90b2NvbERlY2w7Ci0gICAgICAg
ICAgICAgICAgZmxhdHRlbihwYXJlbnQpOwotICAgICAgICAgICAgICAgIGZvciAobGV0IHNpZ25h
dHVyZSBvZiBwYXJlbnQuc2lnbmF0dXJlcykgewotICAgICAgICAgICAgICAgICAgICBsZXQgbmV3
U2lnbmF0dXJlID0gc2lnbmF0dXJlLnZpc2l0KAotICAgICAgICAgICAgICAgICAgICAgICAgbmV3
IFN1YnN0aXR1dGlvbihbcGFyZW50LnR5cGVWYXJpYWJsZV0sIFtwcm90b2NvbC50eXBlVmFyaWFi
bGVdKSk7Ci0gICAgICAgICAgICAgICAgICAgIHByb3RvY29sLmFkZChuZXdTaWduYXR1cmUpOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHByb3RvY29sLmV4
dGVuZHMgPSBbXTsKLSAgICAgICAgfSk7Ci0gICAgfQotICAgIAotICAgIGZvciAobGV0IHByb3Rv
Y29sIG9mIHByb2dyYW0ucHJvdG9jb2xzLnZhbHVlcygpKQotICAgICAgICBmbGF0dGVuKHByb3Rv
Y29sKTsKLX0KLQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRmxh
dHRlbmVkU3RydWN0T2Zmc2V0R2F0aGVyZXIuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3Vh
Z2VSSS9GbGF0dGVuZWRTdHJ1Y3RPZmZzZXRHYXRoZXJlci5qcwppbmRleCAwMTAxNWNlODU4MDQy
NzAxMjVkZDQ3ODk1NDdkMzA3MzExNTkxMDFkLi4yZjdhNDNkMWZkMWNlZDdhM2JmZGIzYTI5MjA1
YTBiY2YwZjVhYWQzIDEwMDY0NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9G
bGF0dGVuZWRTdHJ1Y3RPZmZzZXRHYXRoZXJlci5qcworKysgYi9Ub29scy9XZWJHUFVTaGFkaW5n
TGFuZ3VhZ2VSSS9GbGF0dGVuZWRTdHJ1Y3RPZmZzZXRHYXRoZXJlci5qcwpAQCAtNjIsNSArNjIs
MTcgQEAgY2xhc3MgRmxhdHRlbmVkU3RydWN0T2Zmc2V0R2F0aGVyZXIgZXh0ZW5kcyBWaXNpdG9y
IHsKICAgICAgICAgc3VwZXIudmlzaXRUeXBlUmVmKG5vZGUpOwogICAgICAgICBOb2RlLnZpc2l0
KG5vZGUudHlwZSwgdGhpcyk7CiAgICAgfQorCisgICAgdmlzaXRWZWN0b3JUeXBlKG5vZGUpCisg
ICAgeworICAgICAgICBjb25zdCBmaWVsZE5hbWVzID0gWyAieCIsICJ5IiwgInoiLCAidyIgXTsK
KyAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBub2RlLm51bUVsZW1lbnRzVmFsdWU7IGkrKykg
eworICAgICAgICAgICAgdGhpcy5fcmVzdWx0LnB1c2goeworICAgICAgICAgICAgICAgIG5hbWU6
IHRoaXMuX25hbWUuam9pbigiLiIpICsgIi4iICsgZmllbGROYW1lc1tpXSwKKyAgICAgICAgICAg
ICAgICBvZmZzZXQ6IHRoaXMuX29mZnNldCArIGksCisgICAgICAgICAgICAgICAgdHlwZTogbm9k
ZS5lbGVtZW50VHlwZS5uYW1lCisgICAgICAgICAgICB9KTsKKyAgICAgICAgfQorICAgIH0KIH0K
IApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRmxvYXRMaXRlcmFs
LmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRmxvYXRMaXRlcmFsLmpzCmluZGV4
IGU2YzU3MzdkZTE2YTRhNjQ4ZDg1YWRjYTE2OTM0NTRiNjE0MDcyN2UuLmQ1ZDFiMTUyMzBmMDlj
MTBhMGJjMTI1ZjAzY2Y1YWQ0Y2UzZGQyZjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRp
bmdMYW5ndWFnZVJJL0Zsb2F0TGl0ZXJhbC5qcworKysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFu
Z3VhZ2VSSS9GbG9hdExpdGVyYWwuanMKQEAgLTMwLDcgKzMwLDcgQEAgbGV0IEZsb2F0TGl0ZXJh
bCA9IGNyZWF0ZUxpdGVyYWwoewogICAgIAogICAgIG5lZ0NvbnN0ZXhwcihvcmlnaW4pCiAgICAg
ewotICAgICAgICByZXR1cm4gbmV3IEludExpdGVyYWwob3JpZ2luLCAtdGhpcy52YWx1ZSk7Cisg
ICAgICAgIHJldHVybiBuZXcgRmxvYXRMaXRlcmFsKG9yaWdpbiwgLXRoaXMudmFsdWUpOwogICAg
IH0sCiAgICAgCiAgICAgY3JlYXRlVHlwZShvcmlnaW4sIHZhbHVlKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRnVuYy5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdM
YW5ndWFnZVJJL0Z1bmMuanMKaW5kZXggNmZhN2M5ZDFiNmY0Yjk1ODMzNTk4MWMyNzI4YmU4NjVh
NTZlNzNhZS4uYzE1MzMwYjkyMzVkNTYwZDJkNjRhYjU0Yzk1MGM4NTE1YzMwMTFmZiAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRnVuYy5qcworKysgYi9Ub29scy9X
ZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9GdW5jLmpzCkBAIC0yNSw3ICsyNSw3IEBACiAidXNlIHN0
cmljdCI7CiAKIGNsYXNzIEZ1bmMgZXh0ZW5kcyBOb2RlIHsKLSAgICBjb25zdHJ1Y3Rvcihvcmln
aW4sIG5hbWUsIHJldHVyblR5cGUsIHR5cGVQYXJhbWV0ZXJzLCBwYXJhbWV0ZXJzLCBpc0Nhc3Qs
IHNoYWRlclR5cGUpCisgICAgY29uc3RydWN0b3Iob3JpZ2luLCBuYW1lLCByZXR1cm5UeXBlLCBw
YXJhbWV0ZXJzLCBpc0Nhc3QsIHNoYWRlclR5cGUpCiAgICAgewogICAgICAgICBpZiAoIShvcmln
aW4gaW5zdGFuY2VvZiBMZXhlclRva2VuKSkKICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigi
QmFkIG9yaWdpbjogIiArIG9yaWdpbik7CkBAIC0zOSw3ICszOSw2IEBAIGNsYXNzIEZ1bmMgZXh0
ZW5kcyBOb2RlIHsKICAgICAgICAgdGhpcy5fb3JpZ2luID0gb3JpZ2luOwogICAgICAgICB0aGlz
Ll9uYW1lID0gbmFtZTsKICAgICAgICAgdGhpcy5fcmV0dXJuVHlwZSA9IHJldHVyblR5cGU7Ci0g
ICAgICAgIHRoaXMuX3R5cGVQYXJhbWV0ZXJzID0gdHlwZVBhcmFtZXRlcnM7CiAgICAgICAgIHRo
aXMuX3BhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzOwogICAgICAgICB0aGlzLl9pc0Nhc3QgPSBpc0Nh
c3Q7CiAgICAgICAgIHRoaXMuX3NoYWRlclR5cGUgPSBzaGFkZXJUeXBlOwpAQCAtNDgsOCArNDcs
NiBAQCBjbGFzcyBGdW5jIGV4dGVuZHMgTm9kZSB7CiAgICAgZ2V0IG9yaWdpbigpIHsgcmV0dXJu
IHRoaXMuX29yaWdpbjsgfQogICAgIGdldCBuYW1lKCkgeyByZXR1cm4gdGhpcy5fbmFtZTsgfQog
ICAgIGdldCByZXR1cm5UeXBlKCkgeyByZXR1cm4gdGhpcy5fcmV0dXJuVHlwZTsgfQotICAgIGdl
dCB0eXBlUGFyYW1ldGVycygpIHsgcmV0dXJuIHRoaXMuX3R5cGVQYXJhbWV0ZXJzOyB9Ci0gICAg
Z2V0IHR5cGVQYXJhbWV0ZXJzRm9yQ2FsbFJlc29sdXRpb24oKSB7IHJldHVybiB0aGlzLnR5cGVQ
YXJhbWV0ZXJzOyB9CiAgICAgZ2V0IHBhcmFtZXRlcnMoKSB7IHJldHVybiB0aGlzLl9wYXJhbWV0
ZXJzOyB9CiAgICAgZ2V0IHBhcmFtZXRlclR5cGVzKCkgeyByZXR1cm4gdGhpcy5wYXJhbWV0ZXJz
Lm1hcChwYXJhbWV0ZXIgPT4gcGFyYW1ldGVyLnR5cGUpOyB9CiAgICAgZ2V0IGlzQ2FzdCgpIHsg
cmV0dXJuIHRoaXMuX2lzQ2FzdDsgfQpAQCAtNjUsOSArNjIsOSBAQCBjbGFzcyBGdW5jIGV4dGVu
ZHMgTm9kZSB7CiAgICAgICAgIGlmICh0aGlzLnNoYWRlclR5cGUpCiAgICAgICAgICAgICByZXN1
bHQgKz0gdGhpcy5zaGFkZXJUeXBlICsgIiAiOwogICAgICAgICBpZiAodGhpcy5pc0Nhc3QpCi0g
ICAgICAgICAgICByZXN1bHQgKz0gIm9wZXJhdG9yPCIgKyB0aGlzLnR5cGVQYXJhbWV0ZXJzICsg
Ij4gIiArIHRoaXMucmV0dXJuVHlwZTsKKyAgICAgICAgICAgIHJlc3VsdCArPSBgb3BlcmF0b3Ig
JHt0aGlzLnJldHVyblR5cGV9YDsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgcmVzdWx0ICs9
IHRoaXMucmV0dXJuVHlwZSArICIgIiArIHRoaXMubmFtZSArICI8IiArIHRoaXMudHlwZVBhcmFt
ZXRlcnMgKyAiPiI7CisgICAgICAgICAgICByZXN1bHQgKz0gYCR7dGhpcy5yZXR1cm5UeXBlfSAk
e3RoaXMubmFtZX1gOwogICAgICAgICByZXR1cm4gcmVzdWx0ICsgIigiICsgdGhpcy5wYXJhbWV0
ZXJzICsgIikiOwogICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdM
YW5ndWFnZVJJL0Z1bmNEZWYuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9GdW5j
RGVmLmpzCmluZGV4IDExZmEwOTJlM2IyMjc4ZTIxNWEwYTY3ZTk1MWUxN2RhYmExMzZhODMuLmNh
MDU5N2ZjZDI5NGRmYWI2MDQ0MjE0ZTA3NTRmN2VmOTQ0Yjg3OGUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0Z1bmNEZWYuanMKKysrIGIvVG9vbHMvV2ViR1BVU2hh
ZGluZ0xhbmd1YWdlUkkvRnVuY0RlZi5qcwpAQCAtMjUsOSArMjUsOSBAQAogInVzZSBzdHJpY3Qi
OwogCiBjbGFzcyBGdW5jRGVmIGV4dGVuZHMgRnVuYyB7Ci0gICAgY29uc3RydWN0b3Iob3JpZ2lu
LCBuYW1lLCByZXR1cm5UeXBlLCB0eXBlUGFyYW1ldGVycywgcGFyYW1ldGVycywgYm9keSwgaXND
YXN0LCBzaGFkZXJUeXBlKQorICAgIGNvbnN0cnVjdG9yKG9yaWdpbiwgbmFtZSwgcmV0dXJuVHlw
ZSwgcGFyYW1ldGVycywgYm9keSwgaXNDYXN0LCBzaGFkZXJUeXBlKQogICAgIHsKLSAgICAgICAg
c3VwZXIob3JpZ2luLCBuYW1lLCByZXR1cm5UeXBlLCB0eXBlUGFyYW1ldGVycywgcGFyYW1ldGVy
cywgaXNDYXN0LCBzaGFkZXJUeXBlKTsKKyAgICAgICAgc3VwZXIob3JpZ2luLCBuYW1lLCByZXR1
cm5UeXBlLCBwYXJhbWV0ZXJzLCBpc0Nhc3QsIHNoYWRlclR5cGUpOwogICAgICAgICB0aGlzLl9i
b2R5ID0gYm9keTsKICAgICAgICAgdGhpcy5pc1Jlc3RyaWN0ZWQgPSBmYWxzZTsKICAgICB9CkBA
IC0zNiw4ICszNiw2IEBAIGNsYXNzIEZ1bmNEZWYgZXh0ZW5kcyBGdW5jIHsKICAgICAKICAgICBy
ZXdyaXRlKHJld3JpdGVyKQogICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX3R5cGVQYXJhbWV0ZXJz
Lmxlbmd0aCkKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQ2Fubm90IHJld3JpdGUgYW4g
dW5pbnN0YW50aWF0ZWQgZnVuY3Rpb24iKTsKICAgICAgICAgdGhpcy5fcmV0dXJuVHlwZSA9IHRo
aXMuX3JldHVyblR5cGUudmlzaXQocmV3cml0ZXIpOwogICAgICAgICB0aGlzLl9wYXJhbWV0ZXJz
ID0gdGhpcy5fcGFyYW1ldGVycy5tYXAocGFyYW1ldGVyID0+IHBhcmFtZXRlci52aXNpdChyZXdy
aXRlcikpOwogICAgICAgICB0aGlzLl9ib2R5ID0gdGhpcy5ib2R5LnZpc2l0KHJld3JpdGVyKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0Z1bmNJbnN0YW50aWF0
b3IuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9GdW5jSW5zdGFudGlhdG9yLmpz
CmluZGV4IDg5Mjg2MmE2ZGQ4NTY1ZWUzN2U0MjA2MzFkN2FmNzBkNTIyN2U1ODYuLjk4NDRkOTBj
MTk3OTIxY2VlN2I2MmI1OTE5ZjQ2ZDdlNjVjNzRiOTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQ
VVNoYWRpbmdMYW5ndWFnZVJJL0Z1bmNJbnN0YW50aWF0b3IuanMKKysrIGIvVG9vbHMvV2ViR1BV
U2hhZGluZ0xhbmd1YWdlUkkvRnVuY0luc3RhbnRpYXRvci5qcwpAQCAtMjAsNyArMjAsNyBAQAog
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KICAqLwogInVzZSBzdHJpY3QiOwogCkBAIC0zMCw3MyArMzAsMzYgQEAg
Y2xhc3MgRnVuY0luc3RhbnRpYXRvciB7CiAgICAgICAgIHRoaXMuX3Byb2dyYW0gPSBwcm9ncmFt
OwogICAgICAgICB0aGlzLl9pbnN0YW5jZXMgPSBuZXcgTWFwKCk7CiAgICAgfQotICAgIAorCiAg
ICAgZ2V0IGluc3RhbmNlcygpIHsgcmV0dXJuIHRoaXMuX2luc3RhbmNlczsgfQotICAgIAorCiAg
ICAgLy8gUmV0dXJucyBhIEZ1bmMgb2JqZWN0IHRoYXQgdW5pcXVlbHkgaWRlbnRpZmllcyBhIHBh
cnRpY3VsYXIgc3lzdGVtIG9mIHR5cGUgYXJndW1lbnRzLiBZb3UgbXVzdAogICAgIC8vIGludGFu
dGlhdGUgdGhpbmdzIHdpdGggY29uY3JldGUgdHlwZXMsIGJlY2F1c2UgdGhpcyBjb2RlIGNhc3Vh
bGx5IGFzc3VtZXMgdGhpcy4gTm90ZSB0aGF0IHRoaXMKICAgICAvLyB3aWxsIHJldHVybiBhIGRp
ZmZlcmVudCBmdW5jIGZyb20gYGZ1bmNgIG5vIG1hdHRlciB3aGF0LiBUaGlzIGVuc3VyZXMgdGhh
dCB3ZSBjYW4gdXNlIHRoZQogICAgIC8vIHJldHVybmVkIGZ1bmMgZm9yIHJld3JpdGVzIHRoYXQg
aW5zdGFudGlhdGUgdHlwZXMgd2l0aG91dCBkZXN0cm95aW5nIG91ciBhYmlsaXR5IHRvIGRvIG92
ZXJsb2FkCiAgICAgLy8gcmVzb2x1dGlvbnMgb24gdGhlIG9yaWdpbmFsIFByb2dyYW0uCi0gICAg
Z2V0VW5pcXVlKGZ1bmMsIHR5cGVBcmd1bWVudHMpCisgICAgZ2V0VW5pcXVlKGZ1bmMpCiAgICAg
ewotICAgICAgICBjbGFzcyBGaW5kVHlwZVZhcmlhYmxlIGV4dGVuZHMgVmlzaXRvciB7Ci0gICAg
ICAgICAgICB2aXNpdFR5cGVSZWYobm9kZSkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICBmb3IgKGxldCB0eXBlQXJndW1lbnQgb2Ygbm9kZS50eXBlQXJndW1lbnRzKQotICAgICAgICAg
ICAgICAgICAgICB0eXBlQXJndW1lbnQudmlzaXQodGhpcyk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAKLSAgICAgICAgICAgIHZpc2l0VHlwZVZhcmlhYmxlKG5vZGUpIHsKLSAgICAgICAg
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIlVuZXhwZWN0ZWQgdHlwZSB2YXJpYWJsZTogIiArIG5v
ZGUgKyAiIHdoZW4gaW5zdGFudGlhdGluZyAiICsgZnVuYyArICIgd2l0aCBhcmd1bWVudHMgIiAr
IHR5cGVBcmd1bWVudHMpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGZvciAo
bGV0IHR5cGVBcmd1bWVudCBvZiB0eXBlQXJndW1lbnRzKQotICAgICAgICAgICAgdHlwZUFyZ3Vt
ZW50LnZpc2l0KG5ldyBGaW5kVHlwZVZhcmlhYmxlKCkpOwotICAgICAgICAKICAgICAgICAgbGV0
IGluc3RhbmNlcyA9IHRoaXMuX2luc3RhbmNlcy5nZXQoZnVuYyk7CiAgICAgICAgIGlmICghaW5z
dGFuY2VzKQogICAgICAgICAgICAgdGhpcy5faW5zdGFuY2VzLnNldChmdW5jLCBpbnN0YW5jZXMg
PSBbXSk7Ci0gICAgICAgIAotICAgICAgICBmb3IgKGxldCBpbnN0YW5jZSBvZiBpbnN0YW5jZXMp
IHsKLSAgICAgICAgICAgIGxldCBvayA9IHRydWU7Ci0gICAgICAgICAgICBmb3IgKGxldCBpID0g
aW5zdGFuY2UudHlwZUFyZ3VtZW50cy5sZW5ndGg7IGktLTspIHsKLSAgICAgICAgICAgICAgICBp
ZiAoIWluc3RhbmNlLnR5cGVBcmd1bWVudHNbaV0uZXF1YWxzKHR5cGVBcmd1bWVudHNbaV0pKSB7
Ci0gICAgICAgICAgICAgICAgICAgIG9rID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICgh
b2spCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICByZXR1cm4gaW5zdGFu
Y2UuZnVuYzsKLSAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICBsZXQgdGhpc0luc3RhbnRp
YXRvciA9IHRoaXM7Ci0gICAgICAgIAotICAgICAgICBjbGFzcyBJbnN0YW50aWF0aW9uU3Vic3Rp
dHV0aW9uIGV4dGVuZHMgU3Vic3RpdHV0aW9uIHsKKworICAgICAgICBjbGFzcyBJbnN0YW50aWF0
aW9uU3Vic3RpdHV0aW9uIGV4dGVuZHMgUmV3cml0ZXIgewogICAgICAgICAgICAgdmlzaXRDYWxs
RXhwcmVzc2lvbihub2RlKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGxldCByZXN1
bHQgPSBzdXBlci52aXNpdENhbGxFeHByZXNzaW9uKG5vZGUpOwotICAgICAgICAgICAgICAgIAot
ICAgICAgICAgICAgICAgIC8vIFdlIG1heSBoYXZlIHRvIHJlLXJlc29sdmUgdGhlIGZ1bmN0aW9u
IGNhbGwsIGlmIGl0IHdhcyBhIGNhbGwgdG8gYSBwcm90b2NvbAotICAgICAgICAgICAgICAgIC8v
IHNpZ25hdHVyZS4KLSAgICAgICAgICAgICAgICBpZiAocmVzdWx0LmZ1bmMgaW5zdGFuY2VvZiBQ
cm90b2NvbEZ1bmNEZWNsKSB7Ci0gICAgICAgICAgICAgICAgICAgIGxldCBvdmVybG9hZCA9IHJl
c29sdmVPdmVybG9hZEltcGwocmVzdWx0LnBvc3NpYmxlT3ZlcmxvYWRzLCByZXN1bHQudHlwZUFy
Z3VtZW50cywgcmVzdWx0LmFyZ3VtZW50VHlwZXMsIHJlc3VsdC5yZXR1cm5UeXBlKTsKLSAgICAg
ICAgICAgICAgICAgICAgaWYgKCFvdmVybG9hZC5mdW5jKQotICAgICAgICAgICAgICAgICAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCJDb3VsZCBub3QgcmVzb2x2ZSBwcm90b2NvbCBzaWduYXR1cmUg
ZnVuY3Rpb24gY2FsbCBkdXJpbmcgaW5zdGFudGlhdGlvbjogIiArIHJlc3VsdC5mdW5jICsgKG92
ZXJsb2FkLmZhaWx1cmVzLmxlbmd0aCA/ICI7IHRyaWVkOlxuIiArIG92ZXJsb2FkLmZhaWx1cmVz
LmpvaW4oIlxuIikgOiAiIikpOwotICAgICAgICAgICAgICAgICAgICByZXN1bHQucmVzb2x2ZVRv
T3ZlcmxvYWQob3ZlcmxvYWQpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICBpZiAocmVzdWx0LmZ1bmMuaXNOYXRpdmUpCi0gICAgICAgICAgICAg
ICAgICAgIHJlc3VsdC5uYXRpdmVGdW5jSW5zdGFuY2UgPSB0aGlzSW5zdGFudGlhdG9yLmdldFVu
aXF1ZShyZXN1bHQuZnVuYywgcmVzdWx0LmFjdHVhbFR5cGVBcmd1bWVudHMpOwotICAgICAgICAg
ICAgICAgIAorICAgICAgICAgICAgICAgICAgICByZXN1bHQubmF0aXZlRnVuY0luc3RhbmNlID0g
dGhpc0luc3RhbnRpYXRvci5nZXRVbmlxdWUocmVzdWx0LmZ1bmMpOworCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICAKLSAg
ICAgICAgbGV0IHN1YnN0aXR1dGlvbiA9IG5ldyBJbnN0YW50aWF0aW9uU3Vic3RpdHV0aW9uKGZ1
bmMudHlwZVBhcmFtZXRlcnMsIHR5cGVBcmd1bWVudHMpOwogCi0gICAgICAgIGNsYXNzIEluc3Rh
bnRpYXRpb25JbnN0YW50aWF0ZUltbWVkaWF0ZXMgZXh0ZW5kcyBJbnN0YW50aWF0ZUltbWVkaWF0
ZXMgeworICAgICAgICBsZXQgc3Vic3RpdHV0aW9uID0gbmV3IEluc3RhbnRpYXRpb25TdWJzdGl0
dXRpb24oKTsKKworICAgICAgICBjbGFzcyBJbnN0YW50aWF0aW9uSW5zdGFudGlhdGVJbW1lZGlh
dGVzIGV4dGVuZHMgUmV3cml0ZXIgewogICAgICAgICAgICAgdmlzaXRDYWxsRXhwcmVzc2lvbihu
b2RlKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gcHJlc2Vy
dmUgY2VydGFpbiB0aGluZ3MgdGhhdCB3b3VsZCBoYXZlIGluc3RhbnRpYXRlZCwgYnV0IHRoYXQg
d2UgY2Fubm90CkBAIC0xMDcsMTggKzcwLDE3IEBAIGNsYXNzIEZ1bmNJbnN0YW50aWF0b3Igewog
ICAgICAgICAgICAgICAgICAgICBub2RlLm9yaWdpbiwgbm9kZS5uYW1lLCBub2RlLnR5cGVBcmd1
bWVudHMsCiAgICAgICAgICAgICAgICAgICAgIG5vZGUuYXJndW1lbnRMaXN0Lm1hcChhcmd1bWVu
dCA9PiBOb2RlLnZpc2l0KGFyZ3VtZW50LCB0aGlzKSkpOwogICAgICAgICAgICAgICAgIHJlc3Vs
dCA9IHRoaXMucHJvY2Vzc0Rlcml2ZWRDYWxsRGF0YShub2RlLCByZXN1bHQpOwotICAgICAgICAg
ICAgICAgIAorCiAgICAgICAgICAgICAgICAgcmVzdWx0LmFyZ3VtZW50VHlwZXMgPSBBcnJheS5m
cm9tKG5vZGUuYXJndW1lbnRUeXBlcyk7CiAgICAgICAgICAgICAgICAgaWYgKG5vZGUuaXNDYXN0
KQogICAgICAgICAgICAgICAgICAgICByZXN1bHQuc2V0Q2FzdERhdGEobm9kZS5yZXR1cm5UeXBl
KTsKLSAgICAgICAgICAgICAgICByZXN1bHQuYWN0dWFsVHlwZUFyZ3VtZW50cyA9IEFycmF5LmZy
b20obm9kZS5hY3R1YWxUeXBlQXJndW1lbnRzKTsKLSAgICAgICAgICAgICAgICAKKwogICAgICAg
ICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAogICAg
ICAgICBsZXQgaW5zdGFudGlhdGVJbW1lZGlhdGVzID0gbmV3IEluc3RhbnRpYXRpb25JbnN0YW50
aWF0ZUltbWVkaWF0ZXMoKTsKLSAgICAgICAgCisKICAgICAgICAgY2xhc3MgSW5zdGFudGlhdGUg
ewogICAgICAgICAgICAgdmlzaXRGdW5jRGVmKGZ1bmMpCiAgICAgICAgICAgICB7CkBAIC0xMjgs
MTEgKzkwLDkgQEAgY2xhc3MgRnVuY0luc3RhbnRpYXRvciB7CiAgICAgICAgICAgICAgICAgcGFy
YW1ldGVycyA9IHBhcmFtZXRlcnMubWFwKHBhcmFtZXRlciA9PiBwYXJhbWV0ZXIudmlzaXQoaW5z
dGFudGlhdGVJbW1lZGlhdGVzKSk7CiAgICAgICAgICAgICAgICAgbGV0IGJvZHkgPSBmdW5jLmJv
ZHkudmlzaXQoc3Vic3RpdHV0aW9uKTsKICAgICAgICAgICAgICAgICBib2R5ID0gYm9keS52aXNp
dChpbnN0YW50aWF0ZUltbWVkaWF0ZXMpOwotICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRnVu
Y0RlZigKLSAgICAgICAgICAgICAgICAgICAgZnVuYy5vcmlnaW4sIGZ1bmMubmFtZSwgcmV0dXJu
VHlwZSwgW10sIHBhcmFtZXRlcnMsIGJvZHksIGZ1bmMuaXNDYXN0LAotICAgICAgICAgICAgICAg
ICAgICBmdW5jLnNoYWRlclR5cGUpOworICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRnVuY0Rl
ZihmdW5jLm9yaWdpbiwgZnVuYy5uYW1lLCByZXR1cm5UeXBlLCBwYXJhbWV0ZXJzLCBib2R5LCBm
dW5jLmlzQ2FzdCwgZnVuYy5zaGFkZXJUeXBlKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IAorCiAgICAgICAgICAgICB2aXNpdE5hdGl2ZUZ1bmMoZnVuYykKICAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgICByZXR1cm4gbmV3IE5hdGl2ZUZ1bmNJbnN0YW5jZSgKQEAgLTE0Niw3ICsx
MDYsNyBAQCBjbGFzcyBGdW5jSW5zdGFudGlhdG9yIHsKICAgICAgICAgfQogICAgICAgICBsZXQg
cmVzdWx0aW5nRnVuYyA9IGZ1bmMudmlzaXQobmV3IEluc3RhbnRpYXRlKCkpOwogICAgICAgICBy
ZXN1bHRpbmdGdW5jLnVuaW5zdGFudGlhdGVkUmV0dXJuVHlwZSA9IGZ1bmMucmV0dXJuVHlwZS52
aXNpdChzdWJzdGl0dXRpb24pOwotICAgICAgICBsZXQgaW5zdGFuY2UgPSB7ZnVuYzogcmVzdWx0
aW5nRnVuYywgdHlwZUFyZ3VtZW50c307CisgICAgICAgIGxldCBpbnN0YW5jZSA9IHtmdW5jOiBy
ZXN1bHRpbmdGdW5jfTsKICAgICAgICAgaW5zdGFuY2VzLnB1c2goaW5zdGFuY2UpOwogICAgICAg
ICByZXR1cm4gcmVzdWx0aW5nRnVuYzsKICAgICB9CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVT
aGFkaW5nTGFuZ3VhZ2VSSS9JbmZlclR5cGVzRm9yQ2FsbC5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRp
bmdMYW5ndWFnZVJJL0luZmVyVHlwZXNGb3JDYWxsLmpzCmluZGV4IDQ0NmIzNTFkYTU3MTVjNjhh
MzVkNzY5Nzk2OWQ2OThlYzczZTc0ZjguLjJkZDlkYTUwODhlZWNiNGYwZWIxM2U1NmQ2YWUzNTk0
ZDgwNTcwYWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0luZmVy
VHlwZXNGb3JDYWxsLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0luZmVy
VHlwZXNGb3JDYWxsLmpzCkBAIC0yMCw0NCArMjAsMzAgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8K
ICJ1c2Ugc3RyaWN0IjsKIAotZnVuY3Rpb24gaW5mZXJUeXBlc0ZvckNhbGwoZnVuYywgdHlwZUFy
Z3VtZW50cywgYXJndW1lbnRUeXBlcywgcmV0dXJuVHlwZSkKK2Z1bmN0aW9uIGluZmVyVHlwZXNG
b3JDYWxsKGZ1bmMsIGFyZ3VtZW50VHlwZXMsIHJldHVyblR5cGUpCiB7Ci0gICAgaWYgKHR5cGVB
cmd1bWVudHMubGVuZ3RoICYmIHR5cGVBcmd1bWVudHMubGVuZ3RoICE9IGZ1bmMudHlwZVBhcmFt
ZXRlcnMubGVuZ3RoKQotICAgICAgICByZXR1cm4ge2ZhaWx1cmU6IG5ldyBPdmVybG9hZFJlc29s
dXRpb25GYWlsdXJlKGZ1bmMsICJXcm9uZyBudW1iZXIgb2YgdHlwZSBhcmd1bWVudHMgKHBhc3Nl
ZCAiICsgdHlwZUFyZ3VtZW50cy5sZW5ndGggKyAiLCByZXF1aXJlICIgKyBmdW5jLnR5cGVQYXJh
bWV0ZXJzLmxlbmd0aCArICIpIil9OwogICAgIGlmIChhcmd1bWVudFR5cGVzLmxlbmd0aCAhPSBm
dW5jLnBhcmFtZXRlcnMubGVuZ3RoKQogICAgICAgICByZXR1cm4ge2ZhaWx1cmU6IG5ldyBPdmVy
bG9hZFJlc29sdXRpb25GYWlsdXJlKGZ1bmMsICJXcm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIChw
YXNzZWQgIiArIGFyZ3VtZW50VHlwZXMubGVuZ3RoICsgIiwgcmVxdWlyZSAiICsgZnVuYy5wYXJh
bWV0ZXJzLmxlbmd0aCArICIpIil9OwotICAgIGxldCB1bmlmaWNhdGlvbkNvbnRleHQgPSBuZXcg
VW5pZmljYXRpb25Db250ZXh0KGZ1bmMudHlwZVBhcmFtZXRlcnNGb3JDYWxsUmVzb2x1dGlvbik7
Ci0gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0eXBlQXJndW1lbnRzLmxlbmd0aDsgKytpKSB7Ci0g
ICAgICAgIGxldCBhcmd1bWVudCA9IHR5cGVBcmd1bWVudHNbaV07Ci0gICAgICAgIGxldCBwYXJh
bWV0ZXIgPSBmdW5jLnR5cGVQYXJhbWV0ZXJzW2ldOwotICAgICAgICBpZiAoIWFyZ3VtZW50LnVu
aWZ5KHVuaWZpY2F0aW9uQ29udGV4dCwgcGFyYW1ldGVyKSkKLSAgICAgICAgICAgIHJldHVybiB7
ZmFpbHVyZTogbmV3IE92ZXJsb2FkUmVzb2x1dGlvbkZhaWx1cmUoZnVuYywgIlR5cGUgYXJndW1l
bnQgIyIgKyAoaSArIDEpICsgIiBmb3IgcGFyYW1ldGVyICIgKyBwYXJhbWV0ZXIubmFtZSArICIg
ZG9lcyBub3QgbWF0Y2ggKHBhc3NlZCAiICsgYXJndW1lbnQgKyAiLCByZXF1aXJlICIgKyBwYXJh
bWV0ZXIgKyAiKSIpfTsKLSAgICB9CisgICAgbGV0IHVuaWZpY2F0aW9uQ29udGV4dCA9IG5ldyBV
bmlmaWNhdGlvbkNvbnRleHQoKTsKICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyZ3VtZW50VHlw
ZXMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgaWYgKCFhcmd1bWVudFR5cGVzW2ldKQogICAgICAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJOdWxsIGFyZ3VtZW50IHR5cGUgYXQgaSA9ICIgKyBpKTsK
ICAgICAgICAgaWYgKCFhcmd1bWVudFR5cGVzW2ldLnVuaWZ5KHVuaWZpY2F0aW9uQ29udGV4dCwg
ZnVuYy5wYXJhbWV0ZXJzW2ldLnR5cGUpKQogICAgICAgICAgICAgcmV0dXJuIHtmYWlsdXJlOiBu
ZXcgT3ZlcmxvYWRSZXNvbHV0aW9uRmFpbHVyZShmdW5jLCAiQXJndW1lbnQgIyIgKyAoaSArIDEp
ICsgIiAiICsgKGZ1bmMucGFyYW1ldGVyc1tpXS5uYW1lID8gImZvciBwYXJhbWV0ZXIgIiArIGZ1
bmMucGFyYW1ldGVyc1tpXS5uYW1lICsgIiAiIDogIiIpICsgImRvZXMgbm90IG1hdGNoIChwYXNz
ZWQgIiArIGFyZ3VtZW50VHlwZXNbaV0gKyAiLCByZXF1aXJlICIgKyBmdW5jLnBhcmFtZXRlcnNb
aV0udHlwZSArICIpIil9OwogICAgIH0KLSAgICBpZiAocmV0dXJuVHlwZSAmJiAhcmV0dXJuVHlw
ZS51bmlmeSh1bmlmaWNhdGlvbkNvbnRleHQsIGZ1bmMucmV0dXJuVHlwZSkpCisgICAgaWYgKHJl
dHVyblR5cGUgJiYgIXJldHVyblR5cGUudW5pZnkodW5pZmljYXRpb25Db250ZXh0LCBmdW5jLnJl
dHVyblR5cGUpKSB7CisgICAgICAgIGlmIChmdW5jLnJldHVyblR5cGUudG9TdHJpbmcoKSA9PSAi
dmVjdG9yIikgeworICAgICAgICAgICAgcmV0dXJuVHlwZS51bmlmeSh1bmlmaWNhdGlvbkNvbnRl
eHQsIGZ1bmMucmV0dXJuVHlwZSkKKyAgICAgICAgfQogICAgICAgICByZXR1cm4ge2ZhaWx1cmU6
IG5ldyBPdmVybG9hZFJlc29sdXRpb25GYWlsdXJlKGZ1bmMsICJSZXR1cm4gdHlwZSAiICsgZnVu
Yy5yZXR1cm5UeXBlICsgIiBkb2VzIG5vdCBtYXRjaCAiICsgcmV0dXJuVHlwZSl9OworICAgIH0K
ICAgICBsZXQgdmVyaWZpY2F0aW9uUmVzdWx0ID0gdW5pZmljYXRpb25Db250ZXh0LnZlcmlmeSgp
OwogICAgIGlmICghdmVyaWZpY2F0aW9uUmVzdWx0LnJlc3VsdCkKICAgICAgICAgcmV0dXJuIHtm
YWlsdXJlOiBuZXcgT3ZlcmxvYWRSZXNvbHV0aW9uRmFpbHVyZShmdW5jLCB2ZXJpZmljYXRpb25S
ZXN1bHQucmVhc29uKX07Ci0gICAgbGV0IHNob3VsZEJ1aWxkVHlwZUFyZ3VtZW50cyA9ICF0eXBl
QXJndW1lbnRzLmxlbmd0aDsKLSAgICBpZiAoc2hvdWxkQnVpbGRUeXBlQXJndW1lbnRzKQotICAg
ICAgICB0eXBlQXJndW1lbnRzID0gW107Ci0gICAgZm9yIChsZXQgdHlwZVBhcmFtZXRlciBvZiBm
dW5jLnR5cGVQYXJhbWV0ZXJzKSB7Ci0gICAgICAgIGxldCB0eXBlQXJndW1lbnQgPSB1bmlmaWNh
dGlvbkNvbnRleHQuZmluZCh0eXBlUGFyYW1ldGVyKTsKLSAgICAgICAgaWYgKHR5cGVBcmd1bWVu
dCA9PSB0eXBlUGFyYW1ldGVyKQotICAgICAgICAgICAgcmV0dXJuIHtmYWlsdXJlOiBuZXcgT3Zl
cmxvYWRSZXNvbHV0aW9uRmFpbHVyZShmdW5jLCAiVHlwZSBwYXJhbWV0ZXIgIiArIHR5cGVQYXJh
bWV0ZXIgKyAiIGRpZCBub3QgZ2V0IGFzc2lnbmVkIGEgdHlwZSIpfTsKLSAgICAgICAgaWYgKHNo
b3VsZEJ1aWxkVHlwZUFyZ3VtZW50cykKLSAgICAgICAgICAgIHR5cGVBcmd1bWVudHMucHVzaCh0
eXBlQXJndW1lbnQpOwotICAgIH0KLSAgICByZXR1cm4ge2Z1bmMsIHVuaWZpY2F0aW9uQ29udGV4
dCwgdHlwZUFyZ3VtZW50c307CisgICAgcmV0dXJuIHtmdW5jLCB1bmlmaWNhdGlvbkNvbnRleHR9
OwogfQogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9JbmxpbmUu
anMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9JbmxpbmUuanMKaW5kZXggZjAyODcz
YmQyNzNkOTEwYjNkZjA0ZmQyYTUxYTNjN2MwYTQ2N2NlZi4uMzMzNTIyMzViZTZjODc5ZjkzZTFh
NDgyNmU3ZTA3NGZkYTA2ZWJjNyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1
YWdlUkkvSW5saW5lLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0lubGlu
ZS5qcwpAQCAtMjgsMTggKzI4LDE0IEBAIGZ1bmN0aW9uIGlubGluZShwcm9ncmFtKQogewogICAg
IGZvciAobGV0IGZ1bmNMaXN0IG9mIHByb2dyYW0uZnVuY3Rpb25zLnZhbHVlcygpKSB7CiAgICAg
ICAgIGZvciAobGV0IGZ1bmMgb2YgZnVuY0xpc3QpIHsKLSAgICAgICAgICAgIGlmICghZnVuYy50
eXBlUGFyYW1ldGVycy5sZW5ndGgpIHsKLSAgICAgICAgICAgICAgICBmdW5jID0gcHJvZ3JhbS5m
dW5jSW5zdGFudGlhdG9yLmdldFVuaXF1ZShmdW5jLCBbXSkKLSAgICAgICAgICAgICAgICBfaW5s
aW5lRnVuY3Rpb24ocHJvZ3JhbSwgZnVuYywgbmV3IFZpc2l0aW5nU2V0KGZ1bmMpKTsKLSAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIGZ1bmMgPSBwcm9ncmFtLmZ1bmNJbnN0YW50aWF0b3IuZ2V0
VW5pcXVlKGZ1bmMpOworICAgICAgICAgICAgX2lubGluZUZ1bmN0aW9uKHByb2dyYW0sIGZ1bmMs
IG5ldyBWaXNpdGluZ1NldChmdW5jKSk7CiAgICAgICAgIH0KICAgICB9CiB9CiAKIGZ1bmN0aW9u
IF9pbmxpbmVGdW5jdGlvbihwcm9ncmFtLCBmdW5jLCB2aXNpdGluZykKIHsKLSAgICBpZiAoZnVu
Yy50eXBlUGFyYW1ldGVycy5sZW5ndGgpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcigiQ2Fubm90
IGlubGluZSBmdW5jdGlvbiB0aGF0IGhhcyB0eXBlIHBhcmFtZXRlcnMiKTsKICAgICBpZiAoZnVu
Yy5pbmxpbmVkIHx8IGZ1bmMuaXNOYXRpdmUpCiAgICAgICAgIHJldHVybjsKICAgICAKQEAgLTU1
LDE0ICs1MSwxMyBAQCBmdW5jdGlvbiBfaW5saW5lRnVuY3Rpb24ocHJvZ3JhbSwgZnVuYywgdmlz
aXRpbmcpCiAgICAgZnVuYy5pbmxpbmVkID0gdHJ1ZTsKIH0KIAotZnVuY3Rpb24gcmVzb2x2ZUlu
bGluZWRGdW5jdGlvbihwcm9ncmFtLCBuYW1lLCB0eXBlQXJndW1lbnRzLCBhcmd1bWVudFR5cGVz
LCBhbGxvd0VudHJ5UG9pbnQgPSBmYWxzZSkKK2Z1bmN0aW9uIHJlc29sdmVJbmxpbmVkRnVuY3Rp
b24ocHJvZ3JhbSwgbmFtZSwgYXJndW1lbnRUeXBlcywgYWxsb3dFbnRyeVBvaW50ID0gZmFsc2Up
CiB7Ci0gICAgbGV0IG92ZXJsb2FkID0gcHJvZ3JhbS5nbG9iYWxOYW1lQ29udGV4dC5yZXNvbHZl
RnVuY092ZXJsb2FkKG5hbWUsIHR5cGVBcmd1bWVudHMsIGFyZ3VtZW50VHlwZXMsIHVuZGVmaW5l
ZCwgYWxsb3dFbnRyeVBvaW50KTsKKyAgICBsZXQgb3ZlcmxvYWQgPSBwcm9ncmFtLmdsb2JhbE5h
bWVDb250ZXh0LnJlc29sdmVGdW5jT3ZlcmxvYWQobmFtZSwgW10sIGFyZ3VtZW50VHlwZXMsIHVu
ZGVmaW5lZCwgYWxsb3dFbnRyeVBvaW50KTsKICAgICBpZiAoIW92ZXJsb2FkLmZ1bmMpCiAgICAg
ICAgIHJldHVybiBvdmVybG9hZC5mYWlsdXJlczsKLSAgICBpZiAoIW92ZXJsb2FkLmZ1bmMudHlw
ZVBhcmFtZXRlcnMpCi0gICAgICAgIHJldHVybiBvdmVybG9hZC5mdW5jOwotICAgIGxldCBmdW5j
ID0gcHJvZ3JhbS5mdW5jSW5zdGFudGlhdG9yLmdldFVuaXF1ZShvdmVybG9hZC5mdW5jLCBvdmVy
bG9hZC50eXBlQXJndW1lbnRzKTsKKyAKKyAgICBsZXQgZnVuYyA9IHByb2dyYW0uZnVuY0luc3Rh
bnRpYXRvci5nZXRVbmlxdWUob3ZlcmxvYWQuZnVuYyk7CiAgICAgX2lubGluZUZ1bmN0aW9uKHBy
b2dyYW0sIGZ1bmMsIG5ldyBWaXNpdGluZ1NldChvdmVybG9hZC5mdW5jKSk7CiAgICAgcmV0dXJu
IGZ1bmM7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9Jbmxp
bmVyLmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvSW5saW5lci5qcwppbmRleCA0
OTFlZjNlMjIxZmMwNjMxOGVlMDM2N2EzODE2OTllNTcyM2JmZTVhLi4yODdjYjgzYjI5NjQwOWIz
ODZjMWMzMmJhYTE1NTY4NTA5M2ExYjJlIDEwMDY0NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5n
TGFuZ3VhZ2VSSS9JbmxpbmVyLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJ
L0lubGluZXIuanMKQEAgLTM1LDEwICszNSwxMCBAQCBjbGFzcyBJbmxpbmVyIGV4dGVuZHMgUmV3
cml0ZXIgewogICAgIHZpc2l0Q2FsbEV4cHJlc3Npb24obm9kZSkKICAgICB7CiAgICAgICAgIGxl
dCByZXN1bHQgPSBzdXBlci52aXNpdENhbGxFeHByZXNzaW9uKG5vZGUpOwotICAgICAgICBpZiAo
cmVzdWx0Lm5hdGl2ZUZ1bmNJbnN0YW5jZSkKKyAgICAgICAgaWYgKHJlc3VsdC5mdW5jLmlzTmF0
aXZlKQogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgcmV0dXJuIHRoaXMuX3Zp
c2l0aW5nLmRvVmlzaXQobm9kZS5mdW5jLCAoKSA9PiB7Ci0gICAgICAgICAgICBsZXQgZnVuYyA9
IHRoaXMuX3Byb2dyYW0uZnVuY0luc3RhbnRpYXRvci5nZXRVbmlxdWUocmVzdWx0LmZ1bmMsIHJl
c3VsdC5hY3R1YWxUeXBlQXJndW1lbnRzKTsKKyAgICAgICAgICAgIGxldCBmdW5jID0gdGhpcy5f
cHJvZ3JhbS5mdW5jSW5zdGFudGlhdG9yLmdldFVuaXF1ZShyZXN1bHQuZnVuYyk7CiAgICAgICAg
ICAgICBpZiAoZnVuYy5pc05hdGl2ZSkKICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IlVuZXhwZWN0ZWQgbmF0aXZlIGZ1bmM6ICIgKyBmdW5jKTsKICAgICAgICAgICAgIF9pbmxpbmVG
dW5jdGlvbih0aGlzLl9wcm9ncmFtLCBmdW5jLCB0aGlzLl92aXNpdGluZyk7CmRpZmYgLS1naXQg
YS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9JbnN0YW50aWF0ZUltbWVkaWF0ZXMuanMg
Yi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9JbnN0YW50aWF0ZUltbWVkaWF0ZXMuanMK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJiMzllZDY2MzgxNDEzNDhhYmMxMjc2OTZi
NmVlMzFlMGIwYzU4YjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvSW5zdGFudGlhdGVJbW1lZGlhdGVz
LmpzCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0g
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBzdHJpY3QiOwotCi1jbGFzcyBJbnN0YW50aWF0
ZUltbWVkaWF0ZXMgZXh0ZW5kcyBSZXdyaXRlciB7Ci0gICAgdmlzaXRUeXBlUmVmKG5vZGUpCi0g
ICAgewotICAgICAgICBub2RlID0gc3VwZXIudmlzaXRUeXBlUmVmKG5vZGUpOwotICAgICAgICBp
ZiAoIW5vZGUudHlwZS5pbnN0YW50aWF0ZSkgewotICAgICAgICAgICAgaWYgKG5vZGUudHlwZUFy
Z3VtZW50cy5sZW5ndGgpCi0gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJ0eXBlIGRv
ZXMgbm90IHN1cHBvcnQgaW5zdGFudGlhdGlvbjogIiArIHR5cGUgKyAiICgiICsgdHlwZS5jb25z
dHJ1Y3Rvci5uYW1lICsgIikiKTsKLSAgICAgICAgICAgIHJldHVybiBub2RlOwotICAgICAgICB9
Ci0gICAgICAgIHJldHVybiBub2RlLnR5cGUuaW5zdGFudGlhdGUobm9kZS50eXBlQXJndW1lbnRz
KS52aXNpdChuZXcgQXV0b1dyYXBwZXIoKSk7Ci0gICAgfQotICAgIAotICAgIHZpc2l0UmVmZXJl
bmNlVHlwZShub2RlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG5vZGU7Ci0gICAgfQotfQotCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9JbnRyaW5zaWNzLmpzIGIv
VG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvSW50cmluc2ljcy5qcwppbmRleCA5MzNkZmUw
MTEzMDJiMGZiYzgzNDQ5OTRhMWE1YzFmNzdjMDUyYTZmLi45ZWYyY2NiYjFkYjQ3ZDVkODM4Nzg0
MTI2MDliOWIyYTMxNjNmZTc3IDEwMDY0NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3Vh
Z2VSSS9JbnRyaW5zaWNzLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0lu
dHJpbnNpY3MuanMKQEAgLTM1LDcgKzM1LDcgQEAgY2xhc3MgSW50cmluc2ljcyB7CiAgICAgICAg
IC8vIHVzZSAiaW50IiBoZXJlLCBzaW5jZSB3ZSBkb24ndCB5ZXQga25vdyB0aGF0IHRoZXkgYXJl
IHRoZSBzYW1lIHR5cGUuCiAgICAgICAgIAogICAgICAgICB0aGlzLl9tYXAuc2V0KAotICAgICAg
ICAgICAgIm5hdGl2ZSB0eXBlZGVmIHZvaWQ8PiIsCisgICAgICAgICAgICAibmF0aXZlIHR5cGVk
ZWYgdm9pZCIsCiAgICAgICAgICAgICB0eXBlID0+IHsKICAgICAgICAgICAgICAgICB0aGlzLnZv
aWQgPSB0eXBlOwogICAgICAgICAgICAgICAgIHR5cGUuc2l6ZSA9IDA7CkBAIC01NSw5ICs1NSwx
NiBAQCBjbGFzcyBJbnRyaW5zaWNzIHsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVy
biB0cnVlOwogICAgICAgICB9CisgICAgICAgIAorICAgICAgICBmdW5jdGlvbiBjYXN0KHR5cGVk
QXJyYXlDb25zdHJ1Y3RvciwgbnVtYmVyKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgYXJy
YXkgPSBuZXcgdHlwZWRBcnJheUNvbnN0cnVjdG9yKDEpOworICAgICAgICAgICAgYXJyYXlbMF0g
PSBudW1iZXI7CisgICAgICAgICAgICByZXR1cm4gYXJyYXlbMF07CisgICAgICAgIH0KIAogICAg
ICAgICB0aGlzLl9tYXAuc2V0KAotICAgICAgICAgICAgIm5hdGl2ZSB0eXBlZGVmIGludDMyPD4i
LAorICAgICAgICAgICAgIm5hdGl2ZSB0eXBlZGVmIGludDMyIiwKICAgICAgICAgICAgIHR5cGUg
PT4gewogICAgICAgICAgICAgICAgIHRoaXMuaW50MzIgPSB0eXBlOwogICAgICAgICAgICAgICAg
IHR5cGUuaXNQcmltaXRpdmUgPSB0cnVlOwpAQCAtODIsNyArODksNyBAQCBjbGFzcyBJbnRyaW5z
aWNzIHsKICAgICAgICAgICAgIH0pOwogCiAgICAgICAgIHRoaXMuX21hcC5zZXQoCi0gICAgICAg
ICAgICAibmF0aXZlIHR5cGVkZWYgdWludDMyPD4iLAorICAgICAgICAgICAgIm5hdGl2ZSB0eXBl
ZGVmIHVpbnQzMiIsCiAgICAgICAgICAgICB0eXBlID0+IHsKICAgICAgICAgICAgICAgICB0aGlz
LnVpbnQzMiA9IHR5cGU7CiAgICAgICAgICAgICAgICAgdHlwZS5pc1ByaW1pdGl2ZSA9IHRydWU7
CkBAIC0xMDUsNyArMTEyLDcgQEAgY2xhc3MgSW50cmluc2ljcyB7CiAgICAgICAgICAgICB9KTsK
IAogICAgICAgICB0aGlzLl9tYXAuc2V0KAotICAgICAgICAgICAgIm5hdGl2ZSB0eXBlZGVmIHVp
bnQ4PD4iLAorICAgICAgICAgICAgIm5hdGl2ZSB0eXBlZGVmIHVpbnQ4IiwKICAgICAgICAgICAg
IHR5cGUgPT4gewogICAgICAgICAgICAgICAgIHRoaXMudWludDggPSB0eXBlOwogICAgICAgICAg
ICAgICAgIHR5cGUuaXNJbnQgPSB0cnVlOwpAQCAtMTI1LDkgKzEzMiw1NiBAQCBjbGFzcyBJbnRy
aW5zaWNzIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHlpZWxkIHt2YWx1ZTogaSwgbmFtZTog
aX07CiAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgIH0pOworICAgICAgICBmdW5jdGlv
biBiaXR3aXNlQ2FzdCh0eXBlZEFycmF5Q29uc3RydWN0b3IxLCB0eXBlZEFycmF5Q29uc3RydWN0
b3IyLCB2YWx1ZSkKKyAgICAgICAgeworICAgICAgICAgICAgbGV0IHR5cGVkQXJyYXkxID0gbmV3
IHR5cGVkQXJyYXlDb25zdHJ1Y3RvcjEoMSk7CisgICAgICAgICAgICBsZXQgdHlwZWRBcnJheTIg
PSBuZXcgdHlwZWRBcnJheUNvbnN0cnVjdG9yMih0eXBlZEFycmF5MS5idWZmZXIpOworICAgICAg
ICAgICAgdHlwZWRBcnJheTFbMF0gPSB2YWx1ZTsKKyAgICAgICAgICAgIHJldHVybiB0eXBlZEFy
cmF5MlswXTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGNhc3RUb0hhbGYobnVtYmVy
KQorICAgICAgICB7CisgICAgICAgICAgICAvLyBGSVhNRTogTWFrZSB0aGlzIG1hdGggb2JleSBJ
RUVFIDc1NC4KKyAgICAgICAgICAgIGlmIChOdW1iZXIuaXNOYU4obnVtYmVyKSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gbnVtYmVyCisgICAgICAgICAgICBpZiAobnVtYmVyID4gNjU1MDQpCisg
ICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlci5QT1NJVElWRV9JTkZJTklUWTsKKyAgICAgICAg
ICAgIGlmIChudW1iZXIgPCAtNjU1MDQpCisgICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlci5O
RUdBVElWRV9JTkZJTklUWTsKKyAgICAgICAgICAgIGlmIChudW1iZXIgPiAwICYmIG51bWJlciA8
IE1hdGgucG93KDIsIC0yNCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAg
ICBpZiAobnVtYmVyIDwgMCAmJiBudW1iZXIgPiAtTWF0aC5wb3coMiwgLTI0KSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gLTA7CisgICAgICAgICAgICBsZXQgZG91YmxlQXJyYXkgPSBuZXcgRmxv
YXQ2NEFycmF5KDEpOworICAgICAgICAgICAgbGV0IHVpbnRBcnJheSA9IG5ldyBVaW50OEFycmF5
KGRvdWJsZUFycmF5LmJ1ZmZlcik7CisgICAgICAgICAgICBkb3VibGVBcnJheVswXSA9IG51bWJl
cjsKKyAgICAgICAgICAgIGxldCBzaWduID0gdWludEFycmF5WzddICYgMHg4MDsKKyAgICAgICAg
ICAgIGxldCBleHBvbmVudCA9ICgodWludEFycmF5WzddICYgMHg3ZikgPDwgNCkgfCAoKHVpbnRB
cnJheVs2XSAmIDB4ZjApID4+PiA0KTsKKyAgICAgICAgICAgIGxldCBzaWduaWZpY2FuZCA9ICgo
dWludEFycmF5WzZdICYgMHgwZikgPDwgNikgfCAoKHVpbnRBcnJheVs1XSAmIDB4ZmMpID4+PiAy
KTsKKworICAgICAgICAgICAgaWYgKChleHBvbmVudCAtIDEwMjMpIDwgLTE0KSB7CisgICAgICAg
ICAgICAgICAgZXhwb25lbnQgPSAwOworICAgICAgICAgICAgICAgIHNpZ25pZmljYW5kID0gKE1h
dGguYWJzKG51bWJlcikgKiBNYXRoLnBvdygyLCAyNCkpID4+PiAwOworICAgICAgICAgICAgICAg
IGxldCB2YWx1ZSA9IE1hdGgucG93KDIsIC0xNCkgKiBzaWduaWZpY2FuZCAvIDEwMjQ7CisgICAg
ICAgICAgICAgICAgaWYgKHNpZ24gIT0gMCkKKyAgICAgICAgICAgICAgICAgICAgdmFsdWUgKj0g
LTE7CisgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBkb3VibGVBcnJheVswXSA9IDA7CiAKKyAgICAgICAgICAgIHVpbnRBcnJheVs3XSB8
PSBzaWduOworICAgICAgICAgICAgdWludEFycmF5WzddIHw9IChleHBvbmVudCA+Pj4gNCk7Cisg
ICAgICAgICAgICB1aW50QXJyYXlbNl0gfD0gKChleHBvbmVudCA8PCA0KSAmIDB4ZjApOworICAg
ICAgICAgICAgdWludEFycmF5WzZdIHw9IChzaWduaWZpY2FuZCA+Pj4gNik7CisgICAgICAgICAg
ICB1aW50QXJyYXlbNV0gfD0gKChzaWduaWZpY2FuZCA8PCAyKSAmIDB4ZmMpOworICAgICAgICAg
ICAgCisgICAgICAgICAgICByZXR1cm4gZG91YmxlQXJyYXlbMF07CisgICAgICAgIH0KKyAgICAg
ICAgCiAgICAgICAgIHRoaXMuX21hcC5zZXQoCi0gICAgICAgICAgICAibmF0aXZlIHR5cGVkZWYg
ZmxvYXQzMjw+IiwKKyAgICAgICAgICAgICJuYXRpdmUgdHlwZWRlZiBmbG9hdCIsCiAgICAgICAg
ICAgICB0eXBlID0+IHsKICAgICAgICAgICAgICAgICB0aGlzLmZsb2F0ID0gdHlwZTsKICAgICAg
ICAgICAgICAgICB0eXBlLmlzUHJpbWl0aXZlID0gdHJ1ZTsKQEAgLTE0MCw0MDkgKzE5NCw4MzYg
QEAgY2xhc3MgSW50cmluc2ljcyB7CiAgICAgICAgICAgICAgICAgdHlwZS5mb3JtYXRWYWx1ZUZy
b21VaW50TGl0ZXJhbCA9IHZhbHVlID0+IHZhbHVlOwogICAgICAgICAgICAgICAgIHR5cGUuZm9y
bWF0VmFsdWVGcm9tRmxvYXRMaXRlcmFsID0gdmFsdWUgPT4gTWF0aC5mcm91bmQodmFsdWUpOwog
ICAgICAgICAgICAgfSk7Ci0KKyAgICAgICAgCiAgICAgICAgIHRoaXMuX21hcC5zZXQoCi0gICAg
ICAgICAgICAibmF0aXZlIHR5cGVkZWYgYm9vbDw+IiwKKyAgICAgICAgICAgICJuYXRpdmUgdHlw
ZWRlZiBib29sIiwKICAgICAgICAgICAgIHR5cGUgPT4gewogICAgICAgICAgICAgICAgIHRoaXMu
Ym9vbCA9IHR5cGU7CiAgICAgICAgICAgICAgICAgdHlwZS5pc1ByaW1pdGl2ZSA9IHRydWU7CiAg
ICAgICAgICAgICAgICAgdHlwZS5zaXplID0gMTsKICAgICAgICAgICAgICAgICB0eXBlLnBvcHVs
YXRlRGVmYXVsdFZhbHVlID0gKGJ1ZmZlciwgb2Zmc2V0KSA9PiBidWZmZXIuc2V0KG9mZnNldCwg
ZmFsc2UpOwogICAgICAgICAgICAgfSk7CisKKyAgICAgICAgZm9yIChsZXQgdmVjdG9yVHlwZSBv
ZiBWZWN0b3JFbGVtZW50VHlwZXMpIHsKKyAgICAgICAgICAgIGZvciAobGV0IHNpemUgb2YgVmVj
dG9yRWxlbWVudFNpemVzKSB7CisgICAgICAgICAgICAgICAgdGhpcy5fbWFwLnNldCgKKyAgICAg
ICAgICAgICAgICAgICAgYG5hdGl2ZSB0eXBlZGVmIHZlY3Rvcjwke3ZlY3RvclR5cGV9LCAke3Np
emV9PmAsCisgICAgICAgICAgICAgICAgICAgIHR5cGUgID0+IHt9CisgICAgICAgICAgICAgICAg
KQorICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAgICAgIAogICAgICAgICB0aGlzLl9tYXAu
c2V0KAotICAgICAgICAgICAgIm5hdGl2ZSBvcGVyYXRvcjw+IGludDMyKHVpbnQzMikiLAorICAg
ICAgICAgICAgIm5hdGl2ZSBvcGVyYXRvciBpbnQzMih1aW50MzIpIiwKICAgICAgICAgICAgIGZ1
bmMgPT4gewogICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRpb24gPSAoW3ZhbHVlXSkg
PT4gRVB0ci5ib3godmFsdWUubG9hZFZhbHVlKCkgfCAwKTsKICAgICAgICAgICAgIH0pOwogICAg
ICAgICAKKyAgICAgICAgLy8gRklYTUU6IFdlaXJkIG1lcmdlIGlzc3VlCisgICAgICAgIC8vIHRo
aXMuX21hcC5zZXQoCisgICAgICAgIC8vICAgICAibmF0aXZlIG9wZXJhdG9yIGludDMyKHVpbnQ4
KSIsCisgICAgICAgIHRoaXMuX21hcC5zZXQoCisgICAgICAgICAgICAgIm5hdGl2ZSB0eXBlZGVm
IHVjaGFyIiwKKyAgICAgICAgICAgICB0eXBlID0+IHsKKyAgICAgICAgICAgICAgICAgdGhpcy51
Y2hhciA9IHR5cGU7CisgICAgICAgICAgICAgICAgIHR5cGUuaXNQcmltaXRpdmUgPSB0cnVlOwor
ICAgICAgICAgICAgICAgICB0eXBlLmlzSW50ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgdHlw
ZS5pc051bWJlciA9IHRydWU7CisgICAgICAgICAgICAgICAgIHR5cGUuaXNTaWduZWQgPSBmYWxz
ZTsKKyAgICAgICAgICAgICAgICAgdHlwZS5jYW5SZXByZXNlbnQgPSB2YWx1ZSA9PiBpc0JpdHdp
c2VFcXVpdmFsZW50KHZhbHVlICYgMHhmZiwgdmFsdWUpOworICAgICAgICAgICAgICAgICB0eXBl
LnNpemUgPSAxOworICAgICAgICAgICAgICAgICB0eXBlLmRlZmF1bHRWYWx1ZSA9IDA7CisgICAg
ICAgICAgICAgICAgIHR5cGUuY3JlYXRlTGl0ZXJhbCA9IChvcmlnaW4sIHZhbHVlKSA9PiBJbnRM
aXRlcmFsLndpdGhUeXBlKG9yaWdpbiwgdmFsdWUgJiAweGZmLCB0eXBlKTsKKyAgICAgICAgICAg
ICAgICAgdHlwZS5zdWNjZXNzb3JWYWx1ZSA9IHZhbHVlID0+ICh2YWx1ZSArIDEpICYgMHhmZjsK
KyAgICAgICAgICAgICAgICAgdHlwZS52YWx1ZXNFcXVhbCA9IChhLCBiKSA9PiBhID09PSBiOwor
ICAgICAgICAgICAgICAgICB0eXBlLnBvcHVsYXRlRGVmYXVsdFZhbHVlID0gKGJ1ZmZlciwgb2Zm
c2V0KSA9PiBidWZmZXIuc2V0KG9mZnNldCwgMCk7CisgICAgICAgICAgICAgICAgIHR5cGUuZm9y
bWF0VmFsdWVGcm9tSW50TGl0ZXJhbCA9IHZhbHVlID0+IHZhbHVlICYgMHhmZjsKKyAgICAgICAg
ICAgICAgICAgdHlwZS5mb3JtYXRWYWx1ZUZyb21VaW50TGl0ZXJhbCA9IHZhbHVlID0+IHZhbHVl
ICYgMHhmZjsKKyAgICAgICAgICAgICAgICAgdHlwZS5hbGxWYWx1ZXMgPSBmdW5jdGlvbiooKSB7
CisgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSAweGZmOyArK2kpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQge3ZhbHVlOiBpLCBuYW1lOiBpfTsKKyAgICAg
ICAgICAgICAgICAgfTsKKyAgICAgICAgICAgICB9KTsKKworICAgICAgICB0aGlzLl9tYXAuc2V0
KAorICAgICAgICAgICAgICJuYXRpdmUgdHlwZWRlZiB1c2hvcnQiLAorICAgICAgICAgICAgIHR5
cGUgPT4geworICAgICAgICAgICAgICAgICB0aGlzLnVzaG9ydCA9IHR5cGU7CisgICAgICAgICAg
ICAgICAgIHR5cGUuaXNQcmltaXRpdmUgPSB0cnVlOworICAgICAgICAgICAgICAgICB0eXBlLmlz
SW50ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgdHlwZS5pc051bWJlciA9IHRydWU7CisgICAg
ICAgICAgICAgICAgIHR5cGUuaXNTaWduZWQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgdHlw
ZS5jYW5SZXByZXNlbnQgPSB2YWx1ZSA9PiBpc0JpdHdpc2VFcXVpdmFsZW50KHZhbHVlICYgMHhm
ZmZmLCB2YWx1ZSk7CisgICAgICAgICAgICAgICAgIHR5cGUuc2l6ZSA9IDE7CisgICAgICAgICAg
ICAgICAgIHR5cGUuZGVmYXVsdFZhbHVlID0gMDsKKyAgICAgICAgICAgICAgICAgdHlwZS5jcmVh
dGVMaXRlcmFsID0gKG9yaWdpbiwgdmFsdWUpID0+IEludExpdGVyYWwud2l0aFR5cGUob3JpZ2lu
LCB2YWx1ZSAmIDB4ZmZmZiwgdHlwZSk7CisgICAgICAgICAgICAgICAgIHR5cGUuc3VjY2Vzc29y
VmFsdWUgPSB2YWx1ZSA9PiAodmFsdWUgKyAxKSAmIDB4ZmZmZjsKKyAgICAgICAgICAgICAgICAg
dHlwZS52YWx1ZXNFcXVhbCA9IChhLCBiKSA9PiBhID09PSBiOworICAgICAgICAgICAgICAgICB0
eXBlLnBvcHVsYXRlRGVmYXVsdFZhbHVlID0gKGJ1ZmZlciwgb2Zmc2V0KSA9PiBidWZmZXIuc2V0
KG9mZnNldCwgMCk7CisgICAgICAgICAgICAgICAgIHR5cGUuZm9ybWF0VmFsdWVGcm9tSW50TGl0
ZXJhbCA9IHZhbHVlID0+IHZhbHVlICYgMHhmZmZmOworICAgICAgICAgICAgICAgICB0eXBlLmZv
cm1hdFZhbHVlRnJvbVVpbnRMaXRlcmFsID0gdmFsdWUgPT4gdmFsdWUgJiAweGZmZmY7CisgICAg
ICAgICAgICAgICAgIHR5cGUuYWxsVmFsdWVzID0gZnVuY3Rpb24qKCkgeworICAgICAgICAgICAg
ICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPD0gMHhmZmZmOyArK2kpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgeWllbGQge3ZhbHVlOiBpLCBuYW1lOiBpfTsKKyAgICAgICAgICAgICAgICAg
fTsKKyAgICAgICAgICAgICB9KTsKKworICAgICAgICB0aGlzLl9tYXAuc2V0KAorICAgICAgICAg
ICAgICJuYXRpdmUgdHlwZWRlZiB1aW50IiwKKyAgICAgICAgICAgICB0eXBlID0+IHsKKyAgICAg
ICAgICAgICAgICAgdGhpcy51aW50ID0gdHlwZTsKKyAgICAgICAgICAgICAgICAgdHlwZS5pc1By
aW1pdGl2ZSA9IHRydWU7CisgICAgICAgICAgICAgICAgIHR5cGUuaXNJbnQgPSB0cnVlOworICAg
ICAgICAgICAgICAgICB0eXBlLmlzTnVtYmVyID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgdHlw
ZS5pc1NpZ25lZCA9IGZhbHNlOworICAgICAgICAgICAgICAgICB0eXBlLmNhblJlcHJlc2VudCA9
IHZhbHVlID0+IGlzQml0d2lzZUVxdWl2YWxlbnQodmFsdWUgPj4+IDAsIHZhbHVlKTsKKyAgICAg
ICAgICAgICAgICAgdHlwZS5zaXplID0gMTsKKyAgICAgICAgICAgICAgICAgdHlwZS5kZWZhdWx0
VmFsdWUgPSAwOworICAgICAgICAgICAgICAgICB0eXBlLmNyZWF0ZUxpdGVyYWwgPSAob3JpZ2lu
LCB2YWx1ZSkgPT4gSW50TGl0ZXJhbC53aXRoVHlwZShvcmlnaW4sIHZhbHVlID4+PiAwLCB0eXBl
KTsKKyAgICAgICAgICAgICAgICAgdHlwZS5zdWNjZXNzb3JWYWx1ZSA9IHZhbHVlID0+ICh2YWx1
ZSArIDEpID4+PiAwOworICAgICAgICAgICAgICAgICB0eXBlLnZhbHVlc0VxdWFsID0gKGEsIGIp
ID0+IGEgPT09IGI7CisgICAgICAgICAgICAgICAgIHR5cGUucG9wdWxhdGVEZWZhdWx0VmFsdWUg
PSAoYnVmZmVyLCBvZmZzZXQpID0+IGJ1ZmZlci5zZXQob2Zmc2V0LCAwKTsKKyAgICAgICAgICAg
ICAgICAgdHlwZS5mb3JtYXRWYWx1ZUZyb21JbnRMaXRlcmFsID0gdmFsdWUgPT4gdmFsdWUgPj4+
IDA7CisgICAgICAgICAgICAgICAgIHR5cGUuZm9ybWF0VmFsdWVGcm9tVWludExpdGVyYWwgPSB2
YWx1ZSA9PiB2YWx1ZSA+Pj4gMDsKKyAgICAgICAgICAgICAgICAgdHlwZS5hbGxWYWx1ZXMgPSBm
dW5jdGlvbiooKSB7CisgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSAw
eGZmZmZmZmZmOyArK2kpCisgICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQge3ZhbHVlOiBp
LCBuYW1lOiBpfTsKKyAgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgICB9KTsKKworICAg
ICAgICB0aGlzLl9tYXAuc2V0KAorICAgICAgICAgICAgICJuYXRpdmUgdHlwZWRlZiBjaGFyIiwK
KyAgICAgICAgICAgICB0eXBlID0+IHsKKyAgICAgICAgICAgICAgICAgdGhpcy5jaGFyID0gdHlw
ZTsKKyAgICAgICAgICAgICAgICAgdHlwZS5pc1ByaW1pdGl2ZSA9IHRydWU7CisgICAgICAgICAg
ICAgICAgIHR5cGUuaXNJbnQgPSB0cnVlOworICAgICAgICAgICAgICAgICB0eXBlLmlzTnVtYmVy
ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgdHlwZS5pc1NpZ25lZCA9IHRydWU7CisgICAgICAg
ICAgICAgICAgIHR5cGUuY2FuUmVwcmVzZW50ID0gdmFsdWUgPT4gaXNCaXR3aXNlRXF1aXZhbGVu
dChjYXN0KEludDhBcnJheSwgdmFsdWUpLCB2YWx1ZSk7CisgICAgICAgICAgICAgICAgIHR5cGUu
c2l6ZSA9IDE7CisgICAgICAgICAgICAgICAgIHR5cGUuZGVmYXVsdFZhbHVlID0gMDsKKyAgICAg
ICAgICAgICAgICAgdHlwZS5jcmVhdGVMaXRlcmFsID0gKG9yaWdpbiwgdmFsdWUpID0+IEludExp
dGVyYWwud2l0aFR5cGUob3JpZ2luLCBjYXN0KEludDhBcnJheSwgdmFsdWUpLCB0eXBlKTsKKyAg
ICAgICAgICAgICAgICAgdHlwZS5zdWNjZXNzb3JWYWx1ZSA9IHZhbHVlID0+IGNhc3QoSW50OEFy
cmF5LCB2YWx1ZSArIDEpOworICAgICAgICAgICAgICAgICB0eXBlLnZhbHVlc0VxdWFsID0gKGEs
IGIpID0+IGEgPT09IGI7CisgICAgICAgICAgICAgICAgIHR5cGUucG9wdWxhdGVEZWZhdWx0VmFs
dWUgPSAoYnVmZmVyLCBvZmZzZXQpID0+IGJ1ZmZlci5zZXQob2Zmc2V0LCAwKTsKKyAgICAgICAg
ICAgICAgICAgdHlwZS5mb3JtYXRWYWx1ZUZyb21JbnRMaXRlcmFsID0gdmFsdWUgPT4gY2FzdChJ
bnQ4QXJyYXksIHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgdHlwZS5mb3JtYXRWYWx1ZUZyb21V
aW50TGl0ZXJhbCA9IHZhbHVlID0+IGNhc3QoSW50OEFycmF5LCB2YWx1ZSk7CisgICAgICAgICAg
ICAgICAgIHR5cGUuYWxsVmFsdWVzID0gZnVuY3Rpb24qKCkgeworICAgICAgICAgICAgICAgICAg
ICAgZm9yIChsZXQgaSA9IDA7IGkgPD0gMHhmZjsgKytpKSB7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgbGV0IHZhbHVlID0gY2FzdChJbnQ4QXJyYXksIGkpOworICAgICAgICAgICAgICAgICAg
ICAgICAgIHlpZWxkIHt2YWx1ZTogdmFsdWUsIG5hbWU6IHZhbHVlfTsKKyAgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgICB9KTsKKworICAgICAg
ICB0aGlzLl9tYXAuc2V0KAorICAgICAgICAgICAgICJuYXRpdmUgdHlwZWRlZiBzaG9ydCIsCisg
ICAgICAgICAgICAgdHlwZSA9PiB7CisgICAgICAgICAgICAgICAgIHRoaXMuc2hvcnQgPSB0eXBl
OworICAgICAgICAgICAgICAgICB0eXBlLmlzUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgICAg
ICAgICAgdHlwZS5pc0ludCA9IHRydWU7CisgICAgICAgICAgICAgICAgIHR5cGUuaXNOdW1iZXIg
PSB0cnVlOworICAgICAgICAgICAgICAgICB0eXBlLmlzU2lnbmVkID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICAgdHlwZS5jYW5SZXByZXNlbnQgPSB2YWx1ZSA9PiBpc0JpdHdpc2VFcXVpdmFsZW50
KGNhc3QoSW50MTZBcnJheSwgdmFsdWUpLCB2YWx1ZSk7CisgICAgICAgICAgICAgICAgIHR5cGUu
c2l6ZSA9IDE7CisgICAgICAgICAgICAgICAgIHR5cGUuZGVmYXVsdFZhbHVlID0gMDsKKyAgICAg
ICAgICAgICAgICAgdHlwZS5jcmVhdGVMaXRlcmFsID0gKG9yaWdpbiwgdmFsdWUpID0+IEludExp
dGVyYWwud2l0aFR5cGUob3JpZ2luLCBjYXN0KEludDE2QXJyYXksIHZhbHVlKSwgdHlwZSk7Cisg
ICAgICAgICAgICAgICAgIHR5cGUuc3VjY2Vzc29yVmFsdWUgPSB2YWx1ZSA9PiBjYXN0KEludDE2
QXJyYXksIHZhbHVlICsgMSk7CisgICAgICAgICAgICAgICAgIHR5cGUudmFsdWVzRXF1YWwgPSAo
YSwgYikgPT4gYSA9PT0gYjsKKyAgICAgICAgICAgICAgICAgdHlwZS5wb3B1bGF0ZURlZmF1bHRW
YWx1ZSA9IChidWZmZXIsIG9mZnNldCkgPT4gYnVmZmVyLnNldChvZmZzZXQsIDApOworICAgICAg
ICAgICAgICAgICB0eXBlLmZvcm1hdFZhbHVlRnJvbUludExpdGVyYWwgPSB2YWx1ZSA9PiBjYXN0
KEludDE2QXJyYXksIHZhbHVlKTsKKyAgICAgICAgICAgICAgICAgdHlwZS5mb3JtYXRWYWx1ZUZy
b21VaW50TGl0ZXJhbCA9IHZhbHVlID0+IGNhc3QoSW50MTZBcnJheSwgdmFsdWUpOworICAgICAg
ICAgICAgICAgICB0eXBlLmFsbFZhbHVlcyA9IGZ1bmN0aW9uKigpIHsKKyAgICAgICAgICAgICAg
ICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IDB4ZmZmZjsgKytpKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgbGV0IHZhbHVlID0gY2FzdChJbnQxNkFycmF5LCBpKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICB5aWVsZCB7dmFsdWU6IHZhbHVlLCBuYW1lOiB2YWx1ZX07CisgICAgICAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgfSk7CisK
KyAgICAgICAgdGhpcy5fbWFwLnNldCgKKyAgICAgICAgICAgICAibmF0aXZlIHR5cGVkZWYgaW50
IiwKKyAgICAgICAgICAgICB0eXBlID0+IHsKKyAgICAgICAgICAgICAgICAgdGhpcy5pbnQgPSB0
eXBlOworICAgICAgICAgICAgICAgICB0eXBlLmlzUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICAgdHlwZS5pc0ludCA9IHRydWU7CisgICAgICAgICAgICAgICAgIHR5cGUuaXNOdW1i
ZXIgPSB0cnVlOworICAgICAgICAgICAgICAgICB0eXBlLmlzU2lnbmVkID0gdHJ1ZTsKKyAgICAg
ICAgICAgICAgICAgdHlwZS5jYW5SZXByZXNlbnQgPSB2YWx1ZSA9PiBpc0JpdHdpc2VFcXVpdmFs
ZW50KHZhbHVlIHwgMCwgdmFsdWUpOworICAgICAgICAgICAgICAgICB0eXBlLnNpemUgPSAxOwor
ICAgICAgICAgICAgICAgICB0eXBlLmRlZmF1bHRWYWx1ZSA9IDA7CisgICAgICAgICAgICAgICAg
IHR5cGUuY3JlYXRlTGl0ZXJhbCA9IChvcmlnaW4sIHZhbHVlKSA9PiBJbnRMaXRlcmFsLndpdGhU
eXBlKG9yaWdpbiwgdmFsdWUgfCAwLCB0eXBlKTsKKyAgICAgICAgICAgICAgICAgdHlwZS5zdWNj
ZXNzb3JWYWx1ZSA9IHZhbHVlID0+ICh2YWx1ZSArIDEpIHwgMDsKKyAgICAgICAgICAgICAgICAg
dHlwZS52YWx1ZXNFcXVhbCA9IChhLCBiKSA9PiBhID09PSBiOworICAgICAgICAgICAgICAgICB0
eXBlLnBvcHVsYXRlRGVmYXVsdFZhbHVlID0gKGJ1ZmZlciwgb2Zmc2V0KSA9PiBidWZmZXIuc2V0
KG9mZnNldCwgMCk7CisgICAgICAgICAgICAgICAgIHR5cGUuZm9ybWF0VmFsdWVGcm9tSW50TGl0
ZXJhbCA9IHZhbHVlID0+IHZhbHVlIHwgMDsKKyAgICAgICAgICAgICAgICAgdHlwZS5mb3JtYXRW
YWx1ZUZyb21VaW50TGl0ZXJhbCA9IHZhbHVlID0+IHZhbHVlIHwgMDsKKyAgICAgICAgICAgICAg
ICAgdHlwZS5hbGxWYWx1ZXMgPSBmdW5jdGlvbiooKSB7CisgICAgICAgICAgICAgICAgICAgICBm
b3IgKGxldCBpID0gMDsgaSA8PSAweGZmZmZmZmZmOyArK2kpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICBsZXQgdmFsdWUgPSBpIHwgMDsKKyAgICAgICAgICAgICAgICAgICAgICAgICB5aWVs
ZCB7dmFsdWU6IHZhbHVlLCBuYW1lOiB2YWx1ZX07CisgICAgICAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgfSk7CisKKyAgICAgICAgIHRoaXMuX21h
cC5zZXQoCisgICAgICAgICAgICAgIm5hdGl2ZSB0eXBlZGVmIGhhbGYiLAorICAgICAgICAgICAg
IHR5cGUgPT4geworICAgICAgICAgICAgICAgICB0aGlzLmhhbGYgPSB0eXBlOworICAgICAgICAg
ICAgICAgICB0eXBlLmlzUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgdHlwZS5z
aXplID0gMTsKKyAgICAgICAgICAgICAgICAgdHlwZS5pc0Zsb2F0aW5nID0gdHJ1ZTsKKyAgICAg
ICAgICAgICAgICAgdHlwZS5pc051bWJlciA9IHRydWU7CisgICAgICAgICAgICAgICAgIHR5cGUu
Y2FuUmVwcmVzZW50ID0gdmFsdWUgPT4gaXNCaXR3aXNlRXF1aXZhbGVudChjYXN0VG9IYWxmKHZh
bHVlKSwgdmFsdWUpOworICAgICAgICAgICAgICAgICB0eXBlLnBvcHVsYXRlRGVmYXVsdFZhbHVl
ID0gKGJ1ZmZlciwgb2Zmc2V0KSA9PiBidWZmZXIuc2V0KG9mZnNldCwgMCk7CisgICAgICAgICAg
ICAgICAgIHR5cGUuZm9ybWF0VmFsdWVGcm9tSW50TGl0ZXJhbCA9IHZhbHVlID0+IHZhbHVlOwor
ICAgICAgICAgICAgICAgICB0eXBlLmZvcm1hdFZhbHVlRnJvbVVpbnRMaXRlcmFsID0gdmFsdWUg
PT4gdmFsdWU7CisgICAgICAgICAgICAgICAgIHR5cGUuZm9ybWF0VmFsdWVGcm9tRmxvYXRMaXRl
cmFsID0gdmFsdWUgPT4gY2FzdFRvSGFsZih2YWx1ZSk7CisgICAgICAgICAgICAgfSk7CisKKwor
CisgICAgICAgIHRoaXMuX21hcC5zZXQoCisgICAgICAgICAgICAgIm5hdGl2ZSB0eXBlZGVmIGF0
b21pY19pbnQiLAorICAgICAgICAgICAgIHR5cGUgPT4geworICAgICAgICAgICAgICAgICB0aGlz
LmF0b21pY19pbnQgPSB0eXBlOworICAgICAgICAgICAgICAgICAvLyBGSVhNRTogRmlndXJlIG91
dCB3aGF0IHRvIHB1dCBoZXJlLgorICAgICAgICAgICAgIH0pOworCisgICAgICAgIHRoaXMuX21h
cC5zZXQoCisgICAgICAgICAgICAgIm5hdGl2ZSB0eXBlZGVmIGF0b21pY191aW50IiwKKyAgICAg
ICAgICAgICB0eXBlID0+IHsKKyAgICAgICAgICAgICAgICAgdGhpcy5hdG9taWNfdWludCA9IHR5
cGU7CisgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBGaWd1cmUgb3V0IHdoYXQgdG8gcHV0IGhl
cmUuCisgICAgICAgICAgICAgfSk7CisKKyAgICAgICAgZm9yIChsZXQgcHJpbWl0aXZlVHlwZSBv
ZiBbImJvb2wiLCAidWNoYXIiLCAidXNob3J0IiwgInVpbnQiLCAiY2hhciIsICJzaG9ydCIsICJp
bnQiLCAiaGFsZiIsICJmbG9hdCJdKSB7CisgICAgICAgICAgICBmb3IgKGxldCBpID0gMjsgaSA8
PSA0OyArK2kpIHsKKyAgICAgICAgICAgICAgICB0aGlzLl9tYXAuc2V0KAorICAgICAgICAgICAg
ICAgICAgICBgbmF0aXZlIHR5cGVkZWYgJHtwcmltaXRpdmVUeXBlfSR7aX1gLAorICAgICAgICAg
ICAgICAgICAgICB0eXBlID0+IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNbYCR7cHJp
bWl0aXZlVHlwZX0ke2l9YF0gPSB0eXBlOworICAgICAgICAgICAgICAgICAgICAgICAgLy8gRklY
TUU6IEZpZ3VyZSBvdXQgd2hhdCB0byBwdXQgaGVyZS4KKyAgICAgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBmb3IgKGxldCBwcmltaXRpdmVU
eXBlIG9mIFsiaGFsZiIsICJmbG9hdCJdKSB7CisgICAgICAgICAgICBmb3IgKGxldCBpID0gMjsg
aSA8PSA0OyArK2kpIHsKKyAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMjsgaiA8PSA0OyAr
K2opIHsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fbWFwLnNldCgKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGBuYXRpdmUgdHlwZWRlZiAke3ByaW1pdGl2ZVR5cGV9JHtpfXgke2p9YCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPT4geworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRoaXNbYCR7cHJpbWl0aXZlVHlwZX0ke2l9eCR7an1gXSA9IHR5cGU7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IEZpZ3VyZSBvdXQgd2hhdCB0byBwdXQgaGVyZS4K
KyAgICAgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorCiAgICAgICAgIHRoaXMuX21hcC5zZXQoCi0gICAgICAgICAgICAi
bmF0aXZlIG9wZXJhdG9yPD4gaW50MzIodWludDgpIiwKKyAgICAgICAgICAgICAibmF0aXZlIHR5
cGVkZWYgc2FtcGxlciIsCisgICAgICAgICAgICAgdHlwZSA9PiB7CisgICAgICAgICAgICAgICAg
IHRoaXMuc2FtcGxlciA9IHR5cGU7CisgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBGaWd1cmUg
b3V0IHdoYXQgdG8gcHV0IGhlcmUuCisgICAgICAgICAgICAgfSk7CisKKyAgICAgICAgLy8gRklY
TUU6IFByb2JhYmx5IHdhbnQgdG8gZG8gdGhpcyB0aGUgdHlwZWQgd2F5CisKKyAgICAgICAgZm9y
IChsZXQgdGV4dHVyZVR5cGUgb2YgWyJUZXh0dXJlMUQiLCAiUldUZXh0dXJlMUQiLCAiVGV4dHVy
ZTFEQXJyYXkiLCAiUldUZXh0dXJlMURBcnJheSIsICJUZXh0dXJlMkQiLCAiUldUZXh0dXJlMkQi
LCAiVGV4dHVyZTJEQXJyYXkiLCAiUldUZXh0dXJlMkRBcnJheSIsICJUZXh0dXJlM0QiLCAiUldU
ZXh0dXJlM0QiLCAiVGV4dHVyZUN1YmUiXSkgeworICAgICAgICAgICAgZm9yIChsZXQgdHlwZUFy
Z3VtZW50IG9mIFsiYm9vbCIsICJ1Y2hhciIsICJ1c2hvcnQiLCAidWludCIsICJjaGFyIiwgInNo
b3J0IiwgImludCIsICJoYWxmIiwgImZsb2F0Il0pIHsKKyAgICAgICAgICAgICAgICB0aGlzLl9t
YXAuc2V0KAorICAgICAgICAgICAgICAgICAgICBgbmF0aXZlIHR5cGVkZWYgJHt0ZXh0dXJlVHlw
ZX08JHt0eXBlQXJndW1lbnR9PmAsCisgICAgICAgICAgICAgICAgICAgIHR5cGUgPT4geworICAg
ICAgICAgICAgICAgICAgICAgICAgdGhpc1tgJHt0ZXh0dXJlVHlwZX08JHt0eXBlQXJndW1lbnR9
PmBdID0gdHlwZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBGaWd1cmUgb3V0
IHdoYXQgdG8gcHV0IGhlcmUuCisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
ICAgIGZvciAobGV0IGkgPSAyOyBpIDw9IDQ7ICsraSkgeworICAgICAgICAgICAgICAgICAgICB0
aGlzLl9tYXAuc2V0KAorICAgICAgICAgICAgICAgICAgICAgICAgYG5hdGl2ZSB0eXBlZGVmICR7
dGV4dHVyZVR5cGV9PCR7dHlwZUFyZ3VtZW50fSR7aX0+YCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHR5cGUgPT4geworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXNbYCR7dGV4dHVy
ZVR5cGV9PCR7dHlwZUFyZ3VtZW50fSR7aX0+YF0gPSB0eXBlOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIEZJWE1FOiBGaWd1cmUgb3V0IHdoYXQgdG8gcHV0IGhlcmUuCisgICAgICAg
ICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKworICAgICAgICBmb3IgKGxldCB0ZXh0dXJlVHlwZSBvZiBbIlRleHR1cmVEZXB0
aDJEIiwgIlJXVGV4dHVyZURlcHRoMkQiLCAiVGV4dHVyZURlcHRoMkRBcnJheSIsICJSV1RleHR1
cmVEZXB0aDJEQXJyYXkiLCAiVGV4dHVyZURlcHRoQ3ViZSJdKSB7CisgICAgICAgICAgICBmb3Ig
KGxldCB0eXBlQXJndW1lbnQgb2YgWyJmbG9hdCIsICJoYWxmIl0pIHsKKyAgICAgICAgICAgICAg
ICB0aGlzLl9tYXAuc2V0KAorICAgICAgICAgICAgICAgICAgICBgbmF0aXZlIHR5cGVkZWYgJHt0
ZXh0dXJlVHlwZX08JHt0eXBlQXJndW1lbnR9PmAsCisgICAgICAgICAgICAgICAgICAgIHR5cGUg
PT4geworICAgICAgICAgICAgICAgICAgICAgICAgdGhpc1tgJHt0ZXh0dXJlVHlwZX08JHt0eXBl
QXJndW1lbnR9PmBdID0gdHlwZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBG
aWd1cmUgb3V0IHdoYXQgdG8gcHV0IGhlcmUuCisgICAgICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgZm9yIChsZXQgcHJpbWl0aXZlVHlwZSBv
ZiBbInVzaG9ydCIsICJ1aW50IiwgImNoYXIiLCAic2hvcnQiLCAiaW50IiwgImhhbGYiLCAiZmxv
YXQiXSkgeworICAgICAgICAgICAgdGhpcy5fbWFwLnNldCgKKyAgICAgICAgICAgICAgICBgbmF0
aXZlIG9wZXJhdG9yIHVjaGFyKCR7cHJpbWl0aXZlVHlwZX0pYCwKKyAgICAgICAgICAgICAgICBm
dW5jID0+IHsKKyAgICAgICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbdmFs
dWVdKSA9PiBFUHRyLmJveCh2YWx1ZS5sb2FkVmFsdWUoKSAmIDB4ZmYpOworICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICB9CisKKyAgICAgICAgZm9yIChsZXQgcHJpbWl0aXZlVHlwZSBvZiBb
InVjaGFyIiwgInVpbnQiLCAiY2hhciIsICJzaG9ydCIsICJpbnQiLCAiaGFsZiIsICJmbG9hdCJd
KSB7CisgICAgICAgICAgICB0aGlzLl9tYXAuc2V0KAorICAgICAgICAgICAgICAgIGBuYXRpdmUg
b3BlcmF0b3IgdXNob3J0KCR7cHJpbWl0aXZlVHlwZX0pYCwKKyAgICAgICAgICAgICAgICBmdW5j
ID0+IHsKKyAgICAgICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbdmFsdWVd
KSA9PiBFUHRyLmJveCh2YWx1ZS5sb2FkVmFsdWUoKSAmIDB4ZmZmZik7CisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgIH0KKworICAgICAgICBmb3IgKGxldCBwcmltaXRpdmVUeXBlIG9mIFsi
dWNoYXIiLCAidXNob3J0IiwgImNoYXIiLCAic2hvcnQiLCAiaW50IiwgImhhbGYiLCAiZmxvYXQi
XSkgeworICAgICAgICAgICAgdGhpcy5fbWFwLnNldCgKKyAgICAgICAgICAgICAgICBgbmF0aXZl
IG9wZXJhdG9yIHVpbnQoJHtwcmltaXRpdmVUeXBlfSlgLAorICAgICAgICAgICAgICAgIGZ1bmMg
PT4geworICAgICAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFt2YWx1ZV0p
ID0+IEVQdHIuYm94KHZhbHVlLmxvYWRWYWx1ZSgpID4+PiAwKTsKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgfQorCisgICAgICAgIGZvciAobGV0IHByaW1pdGl2ZVR5cGUgb2YgWyJ1Y2hh
ciIsICJ1c2hvcnQiLCAidWludCIsICJzaG9ydCIsICJpbnQiLCAiaGFsZiIsICJmbG9hdCJdKSB7
CisgICAgICAgICAgICB0aGlzLl9tYXAuc2V0KAorICAgICAgICAgICAgICAgIGBuYXRpdmUgb3Bl
cmF0b3IgY2hhcigke3ByaW1pdGl2ZVR5cGV9KWAsCisgICAgICAgICAgICAgICAgZnVuYyA9PiB7
CisgICAgICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRpb24gPSAoW3ZhbHVlXSkgPT4g
RVB0ci5ib3goY2FzdChJbnQ4QXJyYXksIHZhbHVlLmxvYWRWYWx1ZSgpKSk7CisgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgIH0KKworICAgICAgICBmb3IgKGxldCBwcmltaXRpdmVUeXBlIG9m
IFsidWNoYXIiLCAidXNob3J0IiwgInVpbnQiLCAiY2hhciIsICJpbnQiLCAiaGFsZiIsICJmbG9h
dCJdKSB7CisgICAgICAgICAgICB0aGlzLl9tYXAuc2V0KAorICAgICAgICAgICAgICAgIGBuYXRp
dmUgb3BlcmF0b3Igc2hvcnQoJHtwcmltaXRpdmVUeXBlfSlgLAorICAgICAgICAgICAgICAgIGZ1
bmMgPT4geworICAgICAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFt2YWx1
ZV0pID0+IEVQdHIuYm94KGNhc3QoSW50MTZBcnJheSwgdmFsdWUubG9hZFZhbHVlKCkpKTsKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgfQorCisgICAgICAgIGZvciAobGV0IHByaW1pdGl2
ZVR5cGUgb2YgWyJ1Y2hhciIsICJ1c2hvcnQiLCAidWludCIsICJjaGFyIiwgInNob3J0IiwgImhh
bGYiLCAiZmxvYXQiXSkgeworICAgICAgICAgICAgdGhpcy5fbWFwLnNldCgKKyAgICAgICAgICAg
ICAgICBgbmF0aXZlIG9wZXJhdG9yIGludCgke3ByaW1pdGl2ZVR5cGV9KWAsCisgICAgICAgICAg
ICAgICAgZnVuYyA9PiB7CisgICAgICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRpb24g
PSAoW3ZhbHVlXSkgPT4gRVB0ci5ib3goY2FzdChJbnQzMkFycmF5LCB2YWx1ZS5sb2FkVmFsdWUo
KSkpOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICB9CisKKyAgICAgICAgZm9yIChsZXQg
cHJpbWl0aXZlVHlwZSBvZiBbInVjaGFyIiwgInVzaG9ydCIsICJ1aW50IiwgImNoYXIiLCAic2hv
cnQiLCAiaW50IiwgImZsb2F0Il0pIHsKKyAgICAgICAgICAgIHRoaXMuX21hcC5zZXQoCisgICAg
ICAgICAgICAgICAgYG5hdGl2ZSBvcGVyYXRvciBoYWxmKCR7cHJpbWl0aXZlVHlwZX0pYCwKKyAg
ICAgICAgICAgICAgICBmdW5jID0+IHsKKyAgICAgICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1l
bnRhdGlvbiA9IChbdmFsdWVdKSA9PiBFUHRyLmJveChjYXN0VG9IYWxmKHZhbHVlLmxvYWRWYWx1
ZSgpKSk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKworICAgICAgICBmb3IgKGxl
dCBwcmltaXRpdmVUeXBlIG9mIFsidWNoYXIiLCAidXNob3J0IiwgInVpbnQiLCAiY2hhciIsICJz
aG9ydCIsICJpbnQiLCAiaGFsZiJdKSB7CisgICAgICAgICAgICB0aGlzLl9tYXAuc2V0KAorICAg
ICAgICAgICAgICAgIGBuYXRpdmUgb3BlcmF0b3IgZmxvYXQoJHtwcmltaXRpdmVUeXBlfSlgLAor
ICAgICAgICAgICAgICAgIGZ1bmMgPT4geworICAgICAgICAgICAgICAgICAgICBmdW5jLmltcGxl
bWVudGF0aW9uID0gKFt2YWx1ZV0pID0+IEVQdHIuYm94KE1hdGguZnJvdW5kKHZhbHVlLmxvYWRW
YWx1ZSgpKSk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKworICAgICAgICB0aGlz
Ll9tYXAuc2V0KAorICAgICAgICAgICAgYG5hdGl2ZSBvcGVyYXRvciBpbnQoYXRvbWljX2ludClg
LAogICAgICAgICAgICAgZnVuYyA9PiB7Ci0gICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRh
dGlvbiA9IChbdmFsdWVdKSA9PiBFUHRyLmJveCh2YWx1ZS5sb2FkVmFsdWUoKSB8IDApOworICAg
ICAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRpb24gPSAoW3ZhbHVlXSkgPT4gRVB0ci5ib3go
dmFsdWUubG9hZFZhbHVlKCkpOwogICAgICAgICAgICAgfSk7Ci0gICAgICAgIAorCiAgICAgICAg
IHRoaXMuX21hcC5zZXQoCi0gICAgICAgICAgICAibmF0aXZlIG9wZXJhdG9yPD4gaW50MzIoZmxv
YXQpIiwKKyAgICAgICAgICAgIGBuYXRpdmUgb3BlcmF0b3IgdWludChhdG9taWNfdWludClgLAog
ICAgICAgICAgICAgZnVuYyA9PiB7Ci0gICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlv
biA9IChbdmFsdWVdKSA9PiBFUHRyLmJveCh2YWx1ZS5sb2FkVmFsdWUoKSB8IDApOworICAgICAg
ICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRpb24gPSAoW3ZhbHVlXSkgPT4gRVB0ci5ib3godmFs
dWUubG9hZFZhbHVlKCkpOwogICAgICAgICAgICAgfSk7Ci0gICAgICAgIAorCiAgICAgICAgIHRo
aXMuX21hcC5zZXQoCi0gICAgICAgICAgICAibmF0aXZlIG9wZXJhdG9yPD4gdWludDMyKGludDMy
KSIsCisgICAgICAgICAgICAibmF0aXZlIGJvb2wgb3BlcmF0b3I9PShib29sLGJvb2wpIiwKICAg
ICAgICAgICAgIGZ1bmMgPT4gewotICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRpb24g
PSAoW3ZhbHVlXSkgPT4gRVB0ci5ib3godmFsdWUubG9hZFZhbHVlKCkgPj4+IDApOworICAgICAg
ICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRpb24gPSAoW2xlZnQsIHJpZ2h0XSkgPT4KKyAgICAg
ICAgICAgICAgICAgICAgRVB0ci5ib3gobGVmdC5sb2FkVmFsdWUoKSA9PSByaWdodC5sb2FkVmFs
dWUoKSk7CiAgICAgICAgICAgICB9KTsKLSAgICAgICAgCisKKworICAgICAgICBmb3IgKGxldCBw
cmltaXRpdmVUeXBlIG9mIFsidWludCIsICJpbnQiLCAiZmxvYXQiXSkgeworICAgICAgICAgICAg
dGhpcy5fbWFwLnNldCgKKyAgICAgICAgICAgICAgICBgbmF0aXZlIGJvb2wgb3BlcmF0b3I9PSgk
e3ByaW1pdGl2ZVR5cGV9LCR7cHJpbWl0aXZlVHlwZX0pYCwKKyAgICAgICAgICAgICAgICBmdW5j
ID0+IHsKKyAgICAgICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbbGVmdCwg
cmlnaHRdKSA9PgorICAgICAgICAgICAgICAgICAgICAgICAgRVB0ci5ib3gobGVmdC5sb2FkVmFs
dWUoKSA9PSByaWdodC5sb2FkVmFsdWUoKSk7CisgICAgICAgICAgICAgICAgfSk7CisKKyAgICAg
ICAgICAgIHRoaXMuX21hcC5zZXQoCisgICAgICAgICAgICAgICAgYG5hdGl2ZSBib29sIG9wZXJh
dG9yPCgke3ByaW1pdGl2ZVR5cGV9LCR7cHJpbWl0aXZlVHlwZX0pYCwKKyAgICAgICAgICAgICAg
ICBmdW5jID0+IHsKKyAgICAgICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChb
bGVmdCwgcmlnaHRdKSA9PgorICAgICAgICAgICAgICAgICAgICAgICAgRVB0ci5ib3gobGVmdC5s
b2FkVmFsdWUoKSA8IHJpZ2h0LmxvYWRWYWx1ZSgpKTsKKyAgICAgICAgICAgICAgICB9KTsKKwor
ICAgICAgICAgICAgdGhpcy5fbWFwLnNldCgKKyAgICAgICAgICAgICAgICBgbmF0aXZlIGJvb2wg
b3BlcmF0b3I8PSgke3ByaW1pdGl2ZVR5cGV9LCR7cHJpbWl0aXZlVHlwZX0pYCwKKyAgICAgICAg
ICAgICAgICBmdW5jID0+IHsKKyAgICAgICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlv
biA9IChbbGVmdCwgcmlnaHRdKSA9PgorICAgICAgICAgICAgICAgICAgICAgICAgRVB0ci5ib3go
bGVmdC5sb2FkVmFsdWUoKSA8PSByaWdodC5sb2FkVmFsdWUoKSk7CisgICAgICAgICAgICAgICAg
fSk7CisKKyAgICAgICAgICAgIHRoaXMuX21hcC5zZXQoCisgICAgICAgICAgICAgICAgYG5hdGl2
ZSBib29sIG9wZXJhdG9yPigke3ByaW1pdGl2ZVR5cGV9LCR7cHJpbWl0aXZlVHlwZX0pYCwKKyAg
ICAgICAgICAgICAgICBmdW5jID0+IHsKKyAgICAgICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1l
bnRhdGlvbiA9IChbbGVmdCwgcmlnaHRdKSA9PgorICAgICAgICAgICAgICAgICAgICAgICAgRVB0
ci5ib3gobGVmdC5sb2FkVmFsdWUoKSA+IHJpZ2h0LmxvYWRWYWx1ZSgpKTsKKyAgICAgICAgICAg
ICAgICB9KTsKKworICAgICAgICAgICAgdGhpcy5fbWFwLnNldCgKKyAgICAgICAgICAgICAgICBg
bmF0aXZlIGJvb2wgb3BlcmF0b3I+PSgke3ByaW1pdGl2ZVR5cGV9LCR7cHJpbWl0aXZlVHlwZX0p
YCwKKyAgICAgICAgICAgICAgICBmdW5jID0+IHsKKyAgICAgICAgICAgICAgICAgICAgZnVuYy5p
bXBsZW1lbnRhdGlvbiA9IChbbGVmdCwgcmlnaHRdKSA9PgorICAgICAgICAgICAgICAgICAgICAg
ICAgRVB0ci5ib3gobGVmdC5sb2FkVmFsdWUoKSA+PSByaWdodC5sb2FkVmFsdWUoKSk7CisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKwogICAgICAgICB0aGlzLl9tYXAuc2V0KAotICAg
ICAgICAgICAgIm5hdGl2ZSBvcGVyYXRvcjw+IHVpbnQzMih1aW50OCkiLAorICAgICAgICAgICAg
Im5hdGl2ZSBpbnQgb3BlcmF0b3ItKGludCkiLAogICAgICAgICAgICAgZnVuYyA9PiB7Ci0gICAg
ICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbdmFsdWVdKSA9PiBFUHRyLmJveCh2
YWx1ZS5sb2FkVmFsdWUoKSA+Pj4gMCk7CisgICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRh
dGlvbiA9IChbdmFsdWVdKSA9PgorICAgICAgICAgICAgICAgICAgICBFUHRyLmJveCgoLXZhbHVl
LmxvYWRWYWx1ZSgpKSB8IDApOwogICAgICAgICAgICAgfSk7Ci0gICAgICAgIAorCiAgICAgICAg
IHRoaXMuX21hcC5zZXQoCi0gICAgICAgICAgICAibmF0aXZlIG9wZXJhdG9yPD4gdWludDMyKGZs
b2F0KSIsCisgICAgICAgICAgICAibmF0aXZlIGZsb2F0IG9wZXJhdG9yLShmbG9hdCkiLAogICAg
ICAgICAgICAgZnVuYyA9PiB7Ci0gICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9
IChbdmFsdWVdKSA9PiBFUHRyLmJveCh2YWx1ZS5sb2FkVmFsdWUoKSA+Pj4gMCk7CisgICAgICAg
ICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbdmFsdWVdKSA9PgorICAgICAgICAgICAg
ICAgICAgICBFUHRyLmJveChNYXRoLmZyb3VuZCgtdmFsdWUubG9hZFZhbHVlKCkpKTsKICAgICAg
ICAgICAgIH0pOwotICAgICAgICAKKwogICAgICAgICB0aGlzLl9tYXAuc2V0KAotICAgICAgICAg
ICAgIm5hdGl2ZSBvcGVyYXRvcjw+IHVpbnQ4KGludDMyKSIsCisgICAgICAgICAgICAibmF0aXZl
IGludCBvcGVyYXRvcisoaW50LGludCkiLAogICAgICAgICAgICAgZnVuYyA9PiB7Ci0gICAgICAg
ICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbdmFsdWVdKSA9PiBFUHRyLmJveCh2YWx1
ZS5sb2FkVmFsdWUoKSAmIDB4ZmYpOworICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRp
b24gPSAoW2xlZnQsIHJpZ2h0XSkgPT4KKyAgICAgICAgICAgICAgICAgICAgRVB0ci5ib3goKGxl
ZnQubG9hZFZhbHVlKCkgKyByaWdodC5sb2FkVmFsdWUoKSkgfCAwKTsKICAgICAgICAgICAgIH0p
OwotICAgICAgICAKKwogICAgICAgICB0aGlzLl9tYXAuc2V0KAotICAgICAgICAgICAgIm5hdGl2
ZSBvcGVyYXRvcjw+IHVpbnQ4KHVpbnQzMikiLAorICAgICAgICAgICAgIm5hdGl2ZSBpbnQgb3Bl
cmF0b3ItKGludCxpbnQpIiwKICAgICAgICAgICAgIGZ1bmMgPT4gewotICAgICAgICAgICAgICAg
IGZ1bmMuaW1wbGVtZW50YXRpb24gPSAoW3ZhbHVlXSkgPT4gRVB0ci5ib3godmFsdWUubG9hZFZh
bHVlKCkgJiAweGZmKTsKKyAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFts
ZWZ0LCByaWdodF0pID0+CisgICAgICAgICAgICAgICAgICAgIEVQdHIuYm94KChsZWZ0LmxvYWRW
YWx1ZSgpIC0gcmlnaHQubG9hZFZhbHVlKCkpIHwgMCk7CiAgICAgICAgICAgICB9KTsKLSAgICAg
ICAgCisKICAgICAgICAgdGhpcy5fbWFwLnNldCgKLSAgICAgICAgICAgICJuYXRpdmUgb3BlcmF0
b3I8PiB1aW50OChmbG9hdCkiLAorICAgICAgICAgICAgIm5hdGl2ZSBpbnQgb3BlcmF0b3IqKGlu
dCxpbnQpIiwKICAgICAgICAgICAgIGZ1bmMgPT4gewotICAgICAgICAgICAgICAgIGZ1bmMuaW1w
bGVtZW50YXRpb24gPSAoW3ZhbHVlXSkgPT4gRVB0ci5ib3godmFsdWUubG9hZFZhbHVlKCkgJiAw
eGZmKTsKKyAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFtsZWZ0LCByaWdo
dF0pID0+CisgICAgICAgICAgICAgICAgICAgIEVQdHIuYm94KChsZWZ0LmxvYWRWYWx1ZSgpICog
cmlnaHQubG9hZFZhbHVlKCkpIHwgMCk7CiAgICAgICAgICAgICB9KTsKLSAgICAgICAgCisKICAg
ICAgICAgdGhpcy5fbWFwLnNldCgKLSAgICAgICAgICAgICJuYXRpdmUgb3BlcmF0b3I8PiBmbG9h
dChpbnQzMikiLAorICAgICAgICAgICAgIm5hdGl2ZSBpbnQgb3BlcmF0b3IvKGludCxpbnQpIiwK
ICAgICAgICAgICAgIGZ1bmMgPT4gewotICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRp
b24gPSAoW3ZhbHVlXSkgPT4gRVB0ci5ib3goTWF0aC5mcm91bmQodmFsdWUubG9hZFZhbHVlKCkp
KTsKKyAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFtsZWZ0LCByaWdodF0p
ID0+CisgICAgICAgICAgICAgICAgICAgIEVQdHIuYm94KChsZWZ0LmxvYWRWYWx1ZSgpIC8gcmln
aHQubG9hZFZhbHVlKCkpIHwgMCk7CiAgICAgICAgICAgICB9KTsKLSAgICAgICAgCisKICAgICAg
ICAgdGhpcy5fbWFwLnNldCgKLSAgICAgICAgICAgICJuYXRpdmUgb3BlcmF0b3I8PiBmbG9hdCh1
aW50MzIpIiwKKyAgICAgICAgICAgICJuYXRpdmUgdWludCBvcGVyYXRvcisodWludCx1aW50KSIs
CiAgICAgICAgICAgICBmdW5jID0+IHsKLSAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0
aW9uID0gKFt2YWx1ZV0pID0+IEVQdHIuYm94KE1hdGguZnJvdW5kKHZhbHVlLmxvYWRWYWx1ZSgp
KSk7CisgICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbbGVmdCwgcmlnaHRd
KSA9PgorICAgICAgICAgICAgICAgICAgICBFUHRyLmJveCgobGVmdC5sb2FkVmFsdWUoKSArIHJp
Z2h0LmxvYWRWYWx1ZSgpKSA+Pj4gMCk7CiAgICAgICAgICAgICB9KTsKLSAgICAgICAgCisKICAg
ICAgICAgdGhpcy5fbWFwLnNldCgKLSAgICAgICAgICAgICJuYXRpdmUgb3BlcmF0b3I8PiBmbG9h
dCh1aW50OCkiLAorICAgICAgICAgICAgIm5hdGl2ZSB1aW50IG9wZXJhdG9yLSh1aW50LHVpbnQp
IiwKICAgICAgICAgICAgIGZ1bmMgPT4gewotICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50
YXRpb24gPSAoW3ZhbHVlXSkgPT4gRVB0ci5ib3goTWF0aC5mcm91bmQodmFsdWUubG9hZFZhbHVl
KCkpKTsKKyAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFtsZWZ0LCByaWdo
dF0pID0+CisgICAgICAgICAgICAgICAgICAgIEVQdHIuYm94KChsZWZ0LmxvYWRWYWx1ZSgpIC0g
cmlnaHQubG9hZFZhbHVlKCkpID4+PiAwKTsKICAgICAgICAgICAgIH0pOwotICAgICAgICAKKwog
ICAgICAgICB0aGlzLl9tYXAuc2V0KAotICAgICAgICAgICAgIm5hdGl2ZSBpbnQgb3BlcmF0b3Ir
PD4oaW50LGludCkiLAorICAgICAgICAgICAgIm5hdGl2ZSB1aW50IG9wZXJhdG9yKih1aW50LHVp
bnQpIiwKICAgICAgICAgICAgIGZ1bmMgPT4gewogICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVt
ZW50YXRpb24gPSAoW2xlZnQsIHJpZ2h0XSkgPT4KLSAgICAgICAgICAgICAgICAgICAgRVB0ci5i
b3goKGxlZnQubG9hZFZhbHVlKCkgKyByaWdodC5sb2FkVmFsdWUoKSkgfCAwKTsKKyAgICAgICAg
ICAgICAgICAgICAgRVB0ci5ib3goKGxlZnQubG9hZFZhbHVlKCkgKiByaWdodC5sb2FkVmFsdWUo
KSkgPj4+IDApOwogICAgICAgICAgICAgfSk7Ci0gICAgICAgIAorCiAgICAgICAgIHRoaXMuX21h
cC5zZXQoCi0gICAgICAgICAgICAibmF0aXZlIHVpbnQgb3BlcmF0b3IrPD4odWludCx1aW50KSIs
CisgICAgICAgICAgICAibmF0aXZlIHVpbnQgb3BlcmF0b3IvKHVpbnQsdWludCkiLAogICAgICAg
ICAgICAgZnVuYyA9PiB7CiAgICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChb
bGVmdCwgcmlnaHRdKSA9PgotICAgICAgICAgICAgICAgICAgICBFUHRyLmJveCgobGVmdC5sb2Fk
VmFsdWUoKSArIHJpZ2h0LmxvYWRWYWx1ZSgpKSA+Pj4gMCk7CisgICAgICAgICAgICAgICAgICAg
IEVQdHIuYm94KChsZWZ0LmxvYWRWYWx1ZSgpIC8gcmlnaHQubG9hZFZhbHVlKCkpID4+PiAwKTsK
ICAgICAgICAgICAgIH0pOwotICAgICAgICAKKwogICAgICAgICB0aGlzLl9tYXAuc2V0KAotICAg
ICAgICAgICAgIm5hdGl2ZSBmbG9hdCBvcGVyYXRvcis8PihmbG9hdCxmbG9hdCkiLAorICAgICAg
ICAgICAgIm5hdGl2ZSBmbG9hdCBvcGVyYXRvcisoZmxvYXQsZmxvYXQpIiwKICAgICAgICAgICAg
IGZ1bmMgPT4gewogICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRpb24gPSAoW2xlZnQs
IHJpZ2h0XSkgPT4KICAgICAgICAgICAgICAgICAgICAgRVB0ci5ib3goTWF0aC5mcm91bmQobGVm
dC5sb2FkVmFsdWUoKSArIHJpZ2h0LmxvYWRWYWx1ZSgpKSk7CiAgICAgICAgICAgICB9KTsKLSAg
ICAgICAgCisKICAgICAgICAgdGhpcy5fbWFwLnNldCgKLSAgICAgICAgICAgICJuYXRpdmUgaW50
IG9wZXJhdG9yLTw+KGludCxpbnQpIiwKKyAgICAgICAgICAgICJuYXRpdmUgZmxvYXQgb3BlcmF0
b3ItKGZsb2F0LGZsb2F0KSIsCiAgICAgICAgICAgICBmdW5jID0+IHsKICAgICAgICAgICAgICAg
ICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFtsZWZ0LCByaWdodF0pID0+Ci0gICAgICAgICAgICAg
ICAgICAgIEVQdHIuYm94KChsZWZ0LmxvYWRWYWx1ZSgpIC0gcmlnaHQubG9hZFZhbHVlKCkpIHwg
MCk7CisgICAgICAgICAgICAgICAgICAgIEVQdHIuYm94KE1hdGguZnJvdW5kKGxlZnQubG9hZFZh
bHVlKCkgLSByaWdodC5sb2FkVmFsdWUoKSkpOwogICAgICAgICAgICAgfSk7Ci0gICAgICAgIAor
CiAgICAgICAgIHRoaXMuX21hcC5zZXQoCi0gICAgICAgICAgICAibmF0aXZlIHVpbnQgb3BlcmF0
b3ItPD4odWludCx1aW50KSIsCisgICAgICAgICAgICAibmF0aXZlIGZsb2F0IG9wZXJhdG9yKihm
bG9hdCxmbG9hdCkiLAogICAgICAgICAgICAgZnVuYyA9PiB7CiAgICAgICAgICAgICAgICAgZnVu
Yy5pbXBsZW1lbnRhdGlvbiA9IChbbGVmdCwgcmlnaHRdKSA9PgotICAgICAgICAgICAgICAgICAg
ICBFUHRyLmJveCgobGVmdC5sb2FkVmFsdWUoKSAtIHJpZ2h0LmxvYWRWYWx1ZSgpKSA+Pj4gMCk7
CisgICAgICAgICAgICAgICAgICAgIEVQdHIuYm94KE1hdGguZnJvdW5kKGxlZnQubG9hZFZhbHVl
KCkgKiByaWdodC5sb2FkVmFsdWUoKSkpOwogICAgICAgICAgICAgfSk7Ci0gICAgICAgIAorCiAg
ICAgICAgIHRoaXMuX21hcC5zZXQoCi0gICAgICAgICAgICAibmF0aXZlIGZsb2F0IG9wZXJhdG9y
LTw+KGZsb2F0LGZsb2F0KSIsCisgICAgICAgICAgICAibmF0aXZlIGZsb2F0IG9wZXJhdG9yLyhm
bG9hdCxmbG9hdCkiLAogICAgICAgICAgICAgZnVuYyA9PiB7CiAgICAgICAgICAgICAgICAgZnVu
Yy5pbXBsZW1lbnRhdGlvbiA9IChbbGVmdCwgcmlnaHRdKSA9PgotICAgICAgICAgICAgICAgICAg
ICBFUHRyLmJveChNYXRoLmZyb3VuZChsZWZ0LmxvYWRWYWx1ZSgpIC0gcmlnaHQubG9hZFZhbHVl
KCkpKTsKKyAgICAgICAgICAgICAgICAgICAgRVB0ci5ib3goTWF0aC5mcm91bmQobGVmdC5sb2Fk
VmFsdWUoKSAvIHJpZ2h0LmxvYWRWYWx1ZSgpKSk7CiAgICAgICAgICAgICB9KTsKLSAgICAgICAg
CisKICAgICAgICAgdGhpcy5fbWFwLnNldCgKLSAgICAgICAgICAgICJuYXRpdmUgaW50IG9wZXJh
dG9yKjw+KGludCxpbnQpIiwKKyAgICAgICAgICAgICJuYXRpdmUgaW50IG9wZXJhdG9yJihpbnQs
aW50KSIsCiAgICAgICAgICAgICBmdW5jID0+IHsKICAgICAgICAgICAgICAgICBmdW5jLmltcGxl
bWVudGF0aW9uID0gKFtsZWZ0LCByaWdodF0pID0+Ci0gICAgICAgICAgICAgICAgICAgIEVQdHIu
Ym94KChsZWZ0LmxvYWRWYWx1ZSgpICogcmlnaHQubG9hZFZhbHVlKCkpIHwgMCk7CisgICAgICAg
ICAgICAgICAgICAgIEVQdHIuYm94KChsZWZ0LmxvYWRWYWx1ZSgpICYgcmlnaHQubG9hZFZhbHVl
KCkpIHwgMCk7CiAgICAgICAgICAgICB9KTsKLSAgICAgICAgCisKICAgICAgICAgdGhpcy5fbWFw
LnNldCgKLSAgICAgICAgICAgICJuYXRpdmUgdWludCBvcGVyYXRvcio8Pih1aW50LHVpbnQpIiwK
KyAgICAgICAgICAgICJuYXRpdmUgaW50IG9wZXJhdG9yfChpbnQsaW50KSIsCiAgICAgICAgICAg
ICBmdW5jID0+IHsKICAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFtsZWZ0
LCByaWdodF0pID0+Ci0gICAgICAgICAgICAgICAgICAgIEVQdHIuYm94KChsZWZ0LmxvYWRWYWx1
ZSgpICogcmlnaHQubG9hZFZhbHVlKCkpID4+PiAwKTsKKyAgICAgICAgICAgICAgICAgICAgRVB0
ci5ib3goKGxlZnQubG9hZFZhbHVlKCkgfCByaWdodC5sb2FkVmFsdWUoKSkgfCAwKTsKICAgICAg
ICAgICAgIH0pOwotICAgICAgICAKKwogICAgICAgICB0aGlzLl9tYXAuc2V0KAotICAgICAgICAg
ICAgIm5hdGl2ZSBmbG9hdCBvcGVyYXRvcio8PihmbG9hdCxmbG9hdCkiLAorICAgICAgICAgICAg
Im5hdGl2ZSBpbnQgb3BlcmF0b3JeKGludCxpbnQpIiwKICAgICAgICAgICAgIGZ1bmMgPT4gewog
ICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRpb24gPSAoW2xlZnQsIHJpZ2h0XSkgPT4K
LSAgICAgICAgICAgICAgICAgICAgRVB0ci5ib3goTWF0aC5mcm91bmQobGVmdC5sb2FkVmFsdWUo
KSAqIHJpZ2h0LmxvYWRWYWx1ZSgpKSk7CisgICAgICAgICAgICAgICAgICAgIEVQdHIuYm94KChs
ZWZ0LmxvYWRWYWx1ZSgpIF4gcmlnaHQubG9hZFZhbHVlKCkpIHwgMCk7CiAgICAgICAgICAgICB9
KTsKLSAgICAgICAgCisKICAgICAgICAgdGhpcy5fbWFwLnNldCgKLSAgICAgICAgICAgICJuYXRp
dmUgaW50IG9wZXJhdG9yLzw+KGludCxpbnQpIiwKKyAgICAgICAgICAgICJuYXRpdmUgaW50IG9w
ZXJhdG9yfihpbnQpIiwKICAgICAgICAgICAgIGZ1bmMgPT4gewotICAgICAgICAgICAgICAgIGZ1
bmMuaW1wbGVtZW50YXRpb24gPSAoW2xlZnQsIHJpZ2h0XSkgPT4KLSAgICAgICAgICAgICAgICAg
ICAgRVB0ci5ib3goKGxlZnQubG9hZFZhbHVlKCkgLyByaWdodC5sb2FkVmFsdWUoKSkgfCAwKTsK
KyAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFt2YWx1ZV0pID0+IEVQdHIu
Ym94KCh+dmFsdWUubG9hZFZhbHVlKCkpIHwgMCk7CiAgICAgICAgICAgICB9KTsKLSAgICAgICAg
CisKICAgICAgICAgdGhpcy5fbWFwLnNldCgKLSAgICAgICAgICAgICJuYXRpdmUgdWludCBvcGVy
YXRvci88Pih1aW50LHVpbnQpIiwKKyAgICAgICAgICAgICJuYXRpdmUgaW50IG9wZXJhdG9yPDwo
aW50LHVpbnQpIiwKICAgICAgICAgICAgIGZ1bmMgPT4gewogICAgICAgICAgICAgICAgIGZ1bmMu
aW1wbGVtZW50YXRpb24gPSAoW2xlZnQsIHJpZ2h0XSkgPT4KLSAgICAgICAgICAgICAgICAgICAg
RVB0ci5ib3goKGxlZnQubG9hZFZhbHVlKCkgLyByaWdodC5sb2FkVmFsdWUoKSkgPj4+IDApOwor
ICAgICAgICAgICAgICAgICAgICBFUHRyLmJveCgobGVmdC5sb2FkVmFsdWUoKSA8PCByaWdodC5s
b2FkVmFsdWUoKSkgfCAwKTsKICAgICAgICAgICAgIH0pOwotICAgICAgICAKKwogICAgICAgICB0
aGlzLl9tYXAuc2V0KAotICAgICAgICAgICAgIm5hdGl2ZSBpbnQgb3BlcmF0b3ImPD4oaW50LGlu
dCkiLAorICAgICAgICAgICAgIm5hdGl2ZSBpbnQgb3BlcmF0b3I+PihpbnQsdWludCkiLAogICAg
ICAgICAgICAgZnVuYyA9PiB7CiAgICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9
IChbbGVmdCwgcmlnaHRdKSA9PgotICAgICAgICAgICAgICAgICAgICBFUHRyLmJveChsZWZ0Lmxv
YWRWYWx1ZSgpICYgcmlnaHQubG9hZFZhbHVlKCkpOworICAgICAgICAgICAgICAgICAgICBFUHRy
LmJveCgobGVmdC5sb2FkVmFsdWUoKSA+PiByaWdodC5sb2FkVmFsdWUoKSkgfCAwKTsKICAgICAg
ICAgICAgIH0pOwotICAgICAgICAKKwogICAgICAgICB0aGlzLl9tYXAuc2V0KAotICAgICAgICAg
ICAgIm5hdGl2ZSB1aW50IG9wZXJhdG9yJjw+KHVpbnQsdWludCkiLAorICAgICAgICAgICAgIm5h
dGl2ZSB1aW50IG9wZXJhdG9yJih1aW50LHVpbnQpIiwKICAgICAgICAgICAgIGZ1bmMgPT4gewog
ICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRpb24gPSAoW2xlZnQsIHJpZ2h0XSkgPT4K
ICAgICAgICAgICAgICAgICAgICAgRVB0ci5ib3goKGxlZnQubG9hZFZhbHVlKCkgJiByaWdodC5s
b2FkVmFsdWUoKSkgPj4+IDApOwogICAgICAgICAgICAgfSk7Ci0gICAgICAgIAorCiAgICAgICAg
IHRoaXMuX21hcC5zZXQoCi0gICAgICAgICAgICAibmF0aXZlIGludCBvcGVyYXRvcnw8PihpbnQs
aW50KSIsCisgICAgICAgICAgICAibmF0aXZlIHVpbnQgb3BlcmF0b3J8KHVpbnQsdWludCkiLAog
ICAgICAgICAgICAgZnVuYyA9PiB7CiAgICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlv
biA9IChbbGVmdCwgcmlnaHRdKSA9PgotICAgICAgICAgICAgICAgICAgICBFUHRyLmJveChsZWZ0
LmxvYWRWYWx1ZSgpIHwgcmlnaHQubG9hZFZhbHVlKCkpOworICAgICAgICAgICAgICAgICAgICBF
UHRyLmJveCgobGVmdC5sb2FkVmFsdWUoKSB8IHJpZ2h0LmxvYWRWYWx1ZSgpKSA+Pj4gMCk7CiAg
ICAgICAgICAgICB9KTsKLSAgICAgICAgCisKICAgICAgICAgdGhpcy5fbWFwLnNldCgKLSAgICAg
ICAgICAgICJuYXRpdmUgdWludCBvcGVyYXRvcnw8Pih1aW50LHVpbnQpIiwKKyAgICAgICAgICAg
ICJuYXRpdmUgdWludCBvcGVyYXRvcl4odWludCx1aW50KSIsCiAgICAgICAgICAgICBmdW5jID0+
IHsKICAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFtsZWZ0LCByaWdodF0p
ID0+Ci0gICAgICAgICAgICAgICAgICAgIEVQdHIuYm94KChsZWZ0LmxvYWRWYWx1ZSgpIHwgcmln
aHQubG9hZFZhbHVlKCkpID4+PiAwKTsKKyAgICAgICAgICAgICAgICAgICAgRVB0ci5ib3goKGxl
ZnQubG9hZFZhbHVlKCkgXiByaWdodC5sb2FkVmFsdWUoKSkgPj4+IDApOwogICAgICAgICAgICAg
fSk7Ci0gICAgICAgIAorCiAgICAgICAgIHRoaXMuX21hcC5zZXQoCi0gICAgICAgICAgICAibmF0
aXZlIGludCBvcGVyYXRvcl48PihpbnQsaW50KSIsCisgICAgICAgICAgICAibmF0aXZlIHVpbnQg
b3BlcmF0b3J+KHVpbnQpIiwKICAgICAgICAgICAgIGZ1bmMgPT4gewotICAgICAgICAgICAgICAg
IGZ1bmMuaW1wbGVtZW50YXRpb24gPSAoW2xlZnQsIHJpZ2h0XSkgPT4KLSAgICAgICAgICAgICAg
ICAgICAgRVB0ci5ib3gobGVmdC5sb2FkVmFsdWUoKSBeIHJpZ2h0LmxvYWRWYWx1ZSgpKTsKKyAg
ICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFt2YWx1ZV0pID0+IEVQdHIuYm94
KCh+dmFsdWUubG9hZFZhbHVlKCkpID4+PiAwKTsKICAgICAgICAgICAgIH0pOwotICAgICAgICAK
KwogICAgICAgICB0aGlzLl9tYXAuc2V0KAotICAgICAgICAgICAgIm5hdGl2ZSB1aW50IG9wZXJh
dG9yXjw+KHVpbnQsdWludCkiLAorICAgICAgICAgICAgIm5hdGl2ZSB1aW50IG9wZXJhdG9yPDwo
dWludCx1aW50KSIsCiAgICAgICAgICAgICBmdW5jID0+IHsKICAgICAgICAgICAgICAgICBmdW5j
LmltcGxlbWVudGF0aW9uID0gKFtsZWZ0LCByaWdodF0pID0+Ci0gICAgICAgICAgICAgICAgICAg
IEVQdHIuYm94KChsZWZ0LmxvYWRWYWx1ZSgpIF4gcmlnaHQubG9hZFZhbHVlKCkpID4+PiAwKTsK
KyAgICAgICAgICAgICAgICAgICAgRVB0ci5ib3goKGxlZnQubG9hZFZhbHVlKCkgPDwgcmlnaHQu
bG9hZFZhbHVlKCkpID4+PiAwKTsKICAgICAgICAgICAgIH0pOwotICAgICAgICAKKwogICAgICAg
ICB0aGlzLl9tYXAuc2V0KAotICAgICAgICAgICAgIm5hdGl2ZSBpbnQgb3BlcmF0b3I8PDw+KGlu
dCx1aW50KSIsCisgICAgICAgICAgICAibmF0aXZlIHVpbnQgb3BlcmF0b3I+Pih1aW50LHVpbnQp
IiwKICAgICAgICAgICAgIGZ1bmMgPT4gewogICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50
YXRpb24gPSAoW2xlZnQsIHJpZ2h0XSkgPT4KLSAgICAgICAgICAgICAgICAgICAgRVB0ci5ib3go
bGVmdC5sb2FkVmFsdWUoKSA8PCByaWdodC5sb2FkVmFsdWUoKSk7CisgICAgICAgICAgICAgICAg
ICAgIEVQdHIuYm94KChsZWZ0LmxvYWRWYWx1ZSgpID4+IHJpZ2h0LmxvYWRWYWx1ZSgpKSA+Pj4g
MCk7CiAgICAgICAgICAgICB9KTsKLSAgICAgICAgCisKICAgICAgICAgdGhpcy5fbWFwLnNldCgK
LSAgICAgICAgICAgICJuYXRpdmUgdWludCBvcGVyYXRvcjw8PD4odWludCx1aW50KSIsCisgICAg
ICAgICAgICAibmF0aXZlIGZsb2F0IGNvcyhmbG9hdCkiLAogICAgICAgICAgICAgZnVuYyA9PiB7
Ci0gICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbbGVmdCwgcmlnaHRdKSA9
PgotICAgICAgICAgICAgICAgICAgICBFUHRyLmJveCgobGVmdC5sb2FkVmFsdWUoKSA8PCByaWdo
dC5sb2FkVmFsdWUoKSkgPj4+IDApOworICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRp
b24gPSAoW3ZhbHVlXSkgPT4KKyAgICAgICAgICAgICAgICAgICAgRVB0ci5ib3goTWF0aC5mcm91
bmQoTWF0aC5jb3ModmFsdWUubG9hZFZhbHVlKCkpKSk7CiAgICAgICAgICAgICB9KTsKLSAgICAg
ICAgCisKICAgICAgICAgdGhpcy5fbWFwLnNldCgKLSAgICAgICAgICAgICJuYXRpdmUgaW50IG9w
ZXJhdG9yPj48PihpbnQsdWludCkiLAorICAgICAgICAgICAgIm5hdGl2ZSBmbG9hdCBzaW4oZmxv
YXQpIiwKICAgICAgICAgICAgIGZ1bmMgPT4gewotICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVt
ZW50YXRpb24gPSAoW2xlZnQsIHJpZ2h0XSkgPT4KLSAgICAgICAgICAgICAgICAgICAgRVB0ci5i
b3gobGVmdC5sb2FkVmFsdWUoKSA+PiByaWdodC5sb2FkVmFsdWUoKSk7CisgICAgICAgICAgICAg
ICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbdmFsdWVdKSA9PgorICAgICAgICAgICAgICAgICAg
ICBFUHRyLmJveChNYXRoLmZyb3VuZChNYXRoLnNpbih2YWx1ZS5sb2FkVmFsdWUoKSkpKTsKICAg
ICAgICAgICAgIH0pOwotICAgICAgICAKKwogICAgICAgICB0aGlzLl9tYXAuc2V0KAotICAgICAg
ICAgICAgIm5hdGl2ZSB1aW50IG9wZXJhdG9yPj48Pih1aW50LHVpbnQpIiwKKyAgICAgICAgICAg
ICJuYXRpdmUgZmxvYXQgdGFuKGZsb2F0KSIsCiAgICAgICAgICAgICBmdW5jID0+IHsKLSAgICAg
ICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFtsZWZ0LCByaWdodF0pID0+Ci0gICAg
ICAgICAgICAgICAgICAgIEVQdHIuYm94KGxlZnQubG9hZFZhbHVlKCkgPj4+IHJpZ2h0LmxvYWRW
YWx1ZSgpKTsKKyAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFt2YWx1ZV0p
ID0+CisgICAgICAgICAgICAgICAgICAgIEVQdHIuYm94KE1hdGguZnJvdW5kKE1hdGgudGFuKHZh
bHVlLmxvYWRWYWx1ZSgpKSkpOwogICAgICAgICAgICAgfSk7Ci0gICAgICAgIAorCiAgICAgICAg
IHRoaXMuX21hcC5zZXQoCi0gICAgICAgICAgICAibmF0aXZlIGludCBvcGVyYXRvcn48PihpbnQp
IiwKKyAgICAgICAgICAgICJuYXRpdmUgZmxvYXQgYWNvcyhmbG9hdCkiLAogICAgICAgICAgICAg
ZnVuYyA9PiB7Ci0gICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbdmFsdWVd
KSA9PiBFUHRyLmJveCh+dmFsdWUubG9hZFZhbHVlKCkpOworICAgICAgICAgICAgICAgIGZ1bmMu
aW1wbGVtZW50YXRpb24gPSAoW3ZhbHVlXSkgPT4KKyAgICAgICAgICAgICAgICAgICAgRVB0ci5i
b3goTWF0aC5mcm91bmQoTWF0aC5hY29zKHZhbHVlLmxvYWRWYWx1ZSgpKSkpOwogICAgICAgICAg
ICAgfSk7Ci0gICAgICAgIAorCiAgICAgICAgIHRoaXMuX21hcC5zZXQoCi0gICAgICAgICAgICAi
bmF0aXZlIHVpbnQgb3BlcmF0b3J+PD4odWludCkiLAorICAgICAgICAgICAgIm5hdGl2ZSBmbG9h
dCBhc2luKGZsb2F0KSIsCiAgICAgICAgICAgICBmdW5jID0+IHsKLSAgICAgICAgICAgICAgICBm
dW5jLmltcGxlbWVudGF0aW9uID0gKFt2YWx1ZV0pID0+IEVQdHIuYm94KCh+dmFsdWUubG9hZFZh
bHVlKCkpID4+PiAwKTsKKyAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFt2
YWx1ZV0pID0+CisgICAgICAgICAgICAgICAgICAgIEVQdHIuYm94KE1hdGguZnJvdW5kKE1hdGgu
YXNpbih2YWx1ZS5sb2FkVmFsdWUoKSkpKTsKICAgICAgICAgICAgIH0pOwotICAgICAgICAKKwog
ICAgICAgICB0aGlzLl9tYXAuc2V0KAotICAgICAgICAgICAgIm5hdGl2ZSBmbG9hdCBvcGVyYXRv
ci88PihmbG9hdCxmbG9hdCkiLAorICAgICAgICAgICAgIm5hdGl2ZSBmbG9hdCBhdGFuKGZsb2F0
KSIsCiAgICAgICAgICAgICBmdW5jID0+IHsKLSAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVu
dGF0aW9uID0gKFtsZWZ0LCByaWdodF0pID0+Ci0gICAgICAgICAgICAgICAgICAgIEVQdHIuYm94
KE1hdGguZnJvdW5kKGxlZnQubG9hZFZhbHVlKCkgLyByaWdodC5sb2FkVmFsdWUoKSkpOworICAg
ICAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRpb24gPSAoW3ZhbHVlXSkgPT4KKyAgICAgICAg
ICAgICAgICAgICAgRVB0ci5ib3goTWF0aC5mcm91bmQoTWF0aC5hdGFuKHZhbHVlLmxvYWRWYWx1
ZSgpKSkpOwogICAgICAgICAgICAgfSk7Ci0gICAgICAgIAorCiAgICAgICAgIHRoaXMuX21hcC5z
ZXQoCi0gICAgICAgICAgICAibmF0aXZlIGJvb2wgb3BlcmF0b3I9PTw+KGludCxpbnQpIiwKKyAg
ICAgICAgICAgICJuYXRpdmUgZmxvYXQgY29zaChmbG9hdCkiLAogICAgICAgICAgICAgZnVuYyA9
PiB7Ci0gICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbbGVmdCwgcmlnaHRd
KSA9PgotICAgICAgICAgICAgICAgICAgICBFUHRyLmJveChsZWZ0LmxvYWRWYWx1ZSgpID09IHJp
Z2h0LmxvYWRWYWx1ZSgpKTsKKyAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0g
KFt2YWx1ZV0pID0+CisgICAgICAgICAgICAgICAgICAgIEVQdHIuYm94KE1hdGguZnJvdW5kKE1h
dGguY29zaCh2YWx1ZS5sb2FkVmFsdWUoKSkpKTsKICAgICAgICAgICAgIH0pOwotICAgICAgICAK
KwogICAgICAgICB0aGlzLl9tYXAuc2V0KAotICAgICAgICAgICAgIm5hdGl2ZSBib29sIG9wZXJh
dG9yPT08Pih1aW50LHVpbnQpIiwKKyAgICAgICAgICAgICJuYXRpdmUgZmxvYXQgc2luaChmbG9h
dCkiLAogICAgICAgICAgICAgZnVuYyA9PiB7Ci0gICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1l
bnRhdGlvbiA9IChbbGVmdCwgcmlnaHRdKSA9PgotICAgICAgICAgICAgICAgICAgICBFUHRyLmJv
eChsZWZ0LmxvYWRWYWx1ZSgpID09IHJpZ2h0LmxvYWRWYWx1ZSgpKTsKKyAgICAgICAgICAgICAg
ICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFt2YWx1ZV0pID0+CisgICAgICAgICAgICAgICAgICAg
IEVQdHIuYm94KE1hdGguZnJvdW5kKE1hdGguc2luaCh2YWx1ZS5sb2FkVmFsdWUoKSkpKTsKICAg
ICAgICAgICAgIH0pOwotICAgICAgICAKKwogICAgICAgICB0aGlzLl9tYXAuc2V0KAotICAgICAg
ICAgICAgIm5hdGl2ZSBib29sIG9wZXJhdG9yPT08Pihib29sLGJvb2wpIiwKKyAgICAgICAgICAg
ICJuYXRpdmUgZmxvYXQgdGFuaChmbG9hdCkiLAogICAgICAgICAgICAgZnVuYyA9PiB7Ci0gICAg
ICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbbGVmdCwgcmlnaHRdKSA9PgotICAg
ICAgICAgICAgICAgICAgICBFUHRyLmJveChsZWZ0LmxvYWRWYWx1ZSgpID09IHJpZ2h0LmxvYWRW
YWx1ZSgpKTsKKyAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFt2YWx1ZV0p
ID0+CisgICAgICAgICAgICAgICAgICAgIEVQdHIuYm94KE1hdGguZnJvdW5kKE1hdGgudGFuaCh2
YWx1ZS5sb2FkVmFsdWUoKSkpKTsKICAgICAgICAgICAgIH0pOwotICAgICAgICAKKwogICAgICAg
ICB0aGlzLl9tYXAuc2V0KAotICAgICAgICAgICAgIm5hdGl2ZSBib29sIG9wZXJhdG9yPT08Pihm
bG9hdCxmbG9hdCkiLAorICAgICAgICAgICAgIm5hdGl2ZSBmbG9hdCBjZWlsKGZsb2F0KSIsCiAg
ICAgICAgICAgICBmdW5jID0+IHsKLSAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9u
ID0gKFtsZWZ0LCByaWdodF0pID0+Ci0gICAgICAgICAgICAgICAgICAgIEVQdHIuYm94KGxlZnQu
bG9hZFZhbHVlKCkgPT0gcmlnaHQubG9hZFZhbHVlKCkpOworICAgICAgICAgICAgICAgIGZ1bmMu
aW1wbGVtZW50YXRpb24gPSAoW3ZhbHVlXSkgPT4KKyAgICAgICAgICAgICAgICAgICAgRVB0ci5i
b3goTWF0aC5mcm91bmQoTWF0aC5jZWlsKHZhbHVlLmxvYWRWYWx1ZSgpKSkpOwogICAgICAgICAg
ICAgfSk7Ci0gICAgICAgIAorCiAgICAgICAgIHRoaXMuX21hcC5zZXQoCi0gICAgICAgICAgICAi
bmF0aXZlIGJvb2wgb3BlcmF0b3I8PD4oaW50LGludCkiLAorICAgICAgICAgICAgIm5hdGl2ZSBm
bG9hdCBleHAoZmxvYXQpIiwKICAgICAgICAgICAgIGZ1bmMgPT4gewotICAgICAgICAgICAgICAg
IGZ1bmMuaW1wbGVtZW50YXRpb24gPSAoW2xlZnQsIHJpZ2h0XSkgPT4KLSAgICAgICAgICAgICAg
ICAgICAgRVB0ci5ib3gobGVmdC5sb2FkVmFsdWUoKSA8IHJpZ2h0LmxvYWRWYWx1ZSgpKTsKKyAg
ICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFt2YWx1ZV0pID0+CisgICAgICAg
ICAgICAgICAgICAgIEVQdHIuYm94KE1hdGguZnJvdW5kKE1hdGguZXhwKHZhbHVlLmxvYWRWYWx1
ZSgpKSkpOwogICAgICAgICAgICAgfSk7Ci0gICAgICAgIAorCiAgICAgICAgIHRoaXMuX21hcC5z
ZXQoCi0gICAgICAgICAgICAibmF0aXZlIGJvb2wgb3BlcmF0b3I8PD4odWludCx1aW50KSIsCisg
ICAgICAgICAgICAibmF0aXZlIGZsb2F0IGZsb29yKGZsb2F0KSIsCiAgICAgICAgICAgICBmdW5j
ID0+IHsKLSAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFtsZWZ0LCByaWdo
dF0pID0+Ci0gICAgICAgICAgICAgICAgICAgIEVQdHIuYm94KGxlZnQubG9hZFZhbHVlKCkgPCBy
aWdodC5sb2FkVmFsdWUoKSk7CisgICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9
IChbdmFsdWVdKSA9PgorICAgICAgICAgICAgICAgICAgICBFUHRyLmJveChNYXRoLmZyb3VuZChN
YXRoLmZsb29yKHZhbHVlLmxvYWRWYWx1ZSgpKSkpOwogICAgICAgICAgICAgfSk7Ci0gICAgICAg
IAorCiAgICAgICAgIHRoaXMuX21hcC5zZXQoCi0gICAgICAgICAgICAibmF0aXZlIGJvb2wgb3Bl
cmF0b3I8PD4oZmxvYXQsZmxvYXQpIiwKKyAgICAgICAgICAgICJuYXRpdmUgZmxvYXQgbG9nKGZs
b2F0KSIsCiAgICAgICAgICAgICBmdW5jID0+IHsKLSAgICAgICAgICAgICAgICBmdW5jLmltcGxl
bWVudGF0aW9uID0gKFtsZWZ0LCByaWdodF0pID0+Ci0gICAgICAgICAgICAgICAgICAgIEVQdHIu
Ym94KGxlZnQubG9hZFZhbHVlKCkgPCByaWdodC5sb2FkVmFsdWUoKSk7CisgICAgICAgICAgICAg
ICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbdmFsdWVdKSA9PgorICAgICAgICAgICAgICAgICAg
ICBFUHRyLmJveChNYXRoLmZyb3VuZChNYXRoLmxvZyh2YWx1ZS5sb2FkVmFsdWUoKSkpKTsKICAg
ICAgICAgICAgIH0pOwotICAgICAgICAKKwogICAgICAgICB0aGlzLl9tYXAuc2V0KAotICAgICAg
ICAgICAgIm5hdGl2ZSBib29sIG9wZXJhdG9yPD08PihpbnQsaW50KSIsCisgICAgICAgICAgICAi
bmF0aXZlIGZsb2F0IHJvdW5kKGZsb2F0KSIsCiAgICAgICAgICAgICBmdW5jID0+IHsKLSAgICAg
ICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFtsZWZ0LCByaWdodF0pID0+Ci0gICAg
ICAgICAgICAgICAgICAgIEVQdHIuYm94KGxlZnQubG9hZFZhbHVlKCkgPD0gcmlnaHQubG9hZFZh
bHVlKCkpOworICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRpb24gPSAoW3ZhbHVlXSkg
PT4KKyAgICAgICAgICAgICAgICAgICAgRVB0ci5ib3goTWF0aC5mcm91bmQoTWF0aC5yb3VuZCh2
YWx1ZS5sb2FkVmFsdWUoKSkpKTsKICAgICAgICAgICAgIH0pOwotICAgICAgICAKKwogICAgICAg
ICB0aGlzLl9tYXAuc2V0KAotICAgICAgICAgICAgIm5hdGl2ZSBib29sIG9wZXJhdG9yPD08Pih1
aW50LHVpbnQpIiwKKyAgICAgICAgICAgICJuYXRpdmUgZmxvYXQgc3FydChmbG9hdCkiLAogICAg
ICAgICAgICAgZnVuYyA9PiB7Ci0gICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9
IChbbGVmdCwgcmlnaHRdKSA9PgotICAgICAgICAgICAgICAgICAgICBFUHRyLmJveChsZWZ0Lmxv
YWRWYWx1ZSgpIDw9IHJpZ2h0LmxvYWRWYWx1ZSgpKTsKKyAgICAgICAgICAgICAgICBmdW5jLmlt
cGxlbWVudGF0aW9uID0gKFt2YWx1ZV0pID0+CisgICAgICAgICAgICAgICAgICAgIEVQdHIuYm94
KE1hdGguZnJvdW5kKE1hdGguc3FydCh2YWx1ZS5sb2FkVmFsdWUoKSkpKTsKICAgICAgICAgICAg
IH0pOwotICAgICAgICAKKwogICAgICAgICB0aGlzLl9tYXAuc2V0KAotICAgICAgICAgICAgIm5h
dGl2ZSBib29sIG9wZXJhdG9yPD08PihmbG9hdCxmbG9hdCkiLAorICAgICAgICAgICAgIm5hdGl2
ZSBmbG9hdCB0cnVuYyhmbG9hdCkiLAogICAgICAgICAgICAgZnVuYyA9PiB7Ci0gICAgICAgICAg
ICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbbGVmdCwgcmlnaHRdKSA9PgotICAgICAgICAg
ICAgICAgICAgICBFUHRyLmJveChsZWZ0LmxvYWRWYWx1ZSgpIDw9IHJpZ2h0LmxvYWRWYWx1ZSgp
KTsKKyAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFt2YWx1ZV0pID0+Cisg
ICAgICAgICAgICAgICAgICAgIEVQdHIuYm94KE1hdGguZnJvdW5kKE1hdGgudHJ1bmModmFsdWUu
bG9hZFZhbHVlKCkpKSk7CiAgICAgICAgICAgICB9KTsKLSAgICAgICAgCisKICAgICAgICAgdGhp
cy5fbWFwLnNldCgKLSAgICAgICAgICAgICJuYXRpdmUgYm9vbCBvcGVyYXRvcj48PihpbnQsaW50
KSIsCisgICAgICAgICAgICAibmF0aXZlIGZsb2F0IGRkeChmbG9hdCkiLAogICAgICAgICAgICAg
ZnVuYyA9PiB7Ci0gICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbbGVmdCwg
cmlnaHRdKSA9PgotICAgICAgICAgICAgICAgICAgICBFUHRyLmJveChsZWZ0LmxvYWRWYWx1ZSgp
ID4gcmlnaHQubG9hZFZhbHVlKCkpOworICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRp
b24gPSAoW3ZhbHVlXSkgPT4gRVB0ci5ib3goMCk7CiAgICAgICAgICAgICB9KTsKLSAgICAgICAg
CisKICAgICAgICAgdGhpcy5fbWFwLnNldCgKLSAgICAgICAgICAgICJuYXRpdmUgYm9vbCBvcGVy
YXRvcj48Pih1aW50LHVpbnQpIiwKKyAgICAgICAgICAgICJuYXRpdmUgZmxvYXQgZGR5KGZsb2F0
KSIsCiAgICAgICAgICAgICBmdW5jID0+IHsKLSAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVu
dGF0aW9uID0gKFtsZWZ0LCByaWdodF0pID0+Ci0gICAgICAgICAgICAgICAgICAgIEVQdHIuYm94
KGxlZnQubG9hZFZhbHVlKCkgPiByaWdodC5sb2FkVmFsdWUoKSk7CisgICAgICAgICAgICAgICAg
ZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbdmFsdWVdKSA9PiBFUHRyLmJveCgwKTsKICAgICAgICAg
ICAgIH0pOwotICAgICAgICAKKwogICAgICAgICB0aGlzLl9tYXAuc2V0KAotICAgICAgICAgICAg
Im5hdGl2ZSBib29sIG9wZXJhdG9yPjw+KGZsb2F0LGZsb2F0KSIsCisgICAgICAgICAgICAibmF0
aXZlIGZsb2F0IHBvdyhmbG9hdCxmbG9hdCkiLAogICAgICAgICAgICAgZnVuYyA9PiB7CiAgICAg
ICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbbGVmdCwgcmlnaHRdKSA9PgotICAg
ICAgICAgICAgICAgICAgICBFUHRyLmJveChsZWZ0LmxvYWRWYWx1ZSgpID4gcmlnaHQubG9hZFZh
bHVlKCkpOworICAgICAgICAgICAgICAgICAgICBFUHRyLmJveChNYXRoLmZyb3VuZChNYXRoLnBv
dyhsZWZ0LmxvYWRWYWx1ZSgpLCByaWdodC5sb2FkVmFsdWUoKSkpKTsKICAgICAgICAgICAgIH0p
OwotICAgICAgICAKKwogICAgICAgICB0aGlzLl9tYXAuc2V0KAotICAgICAgICAgICAgIm5hdGl2
ZSBib29sIG9wZXJhdG9yPj08PihpbnQsaW50KSIsCisgICAgICAgICAgICAibmF0aXZlIGJvb2wg
aXNmaW5pdGUoZmxvYXQpIiwKICAgICAgICAgICAgIGZ1bmMgPT4gewotICAgICAgICAgICAgICAg
IGZ1bmMuaW1wbGVtZW50YXRpb24gPSAoW2xlZnQsIHJpZ2h0XSkgPT4KLSAgICAgICAgICAgICAg
ICAgICAgRVB0ci5ib3gobGVmdC5sb2FkVmFsdWUoKSA+PSByaWdodC5sb2FkVmFsdWUoKSk7Cisg
ICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbdmFsdWVdKSA9PgorICAgICAg
ICAgICAgICAgICAgICBFUHRyLmJveChOdW1iZXIuaXNGaW5pdGUodmFsdWUubG9hZFZhbHVlKCkp
KTsKICAgICAgICAgICAgIH0pOwotICAgICAgICAKKwogICAgICAgICB0aGlzLl9tYXAuc2V0KAot
ICAgICAgICAgICAgIm5hdGl2ZSBib29sIG9wZXJhdG9yPj08Pih1aW50LHVpbnQpIiwKKyAgICAg
ICAgICAgICJuYXRpdmUgYm9vbCBpc2luZihmbG9hdCkiLAogICAgICAgICAgICAgZnVuYyA9PiB7
Ci0gICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbbGVmdCwgcmlnaHRdKSA9
PgotICAgICAgICAgICAgICAgICAgICBFUHRyLmJveChsZWZ0LmxvYWRWYWx1ZSgpID49IHJpZ2h0
LmxvYWRWYWx1ZSgpKTsKKyAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFt2
YWx1ZV0pID0+CisgICAgICAgICAgICAgICAgICAgIEVQdHIuYm94KCh2YWx1ZS5sb2FkVmFsdWUo
KSA9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHx8ICh2YWx1ZS5sb2FkVmFsdWUoKSA9PSBO
dW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpKTsKICAgICAgICAgICAgIH0pOwotICAgICAgICAKKwog
ICAgICAgICB0aGlzLl9tYXAuc2V0KAotICAgICAgICAgICAgIm5hdGl2ZSBib29sIG9wZXJhdG9y
Pj08PihmbG9hdCxmbG9hdCkiLAorICAgICAgICAgICAgIm5hdGl2ZSBib29sIGlzbmFuKGZsb2F0
KSIsCisgICAgICAgICAgICBmdW5jID0+IHsKKyAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVu
dGF0aW9uID0gKFt2YWx1ZV0pID0+CisgICAgICAgICAgICAgICAgICAgIEVQdHIuYm94KE51bWJl
ci5pc05hTih2YWx1ZS5sb2FkVmFsdWUoKSkpOworICAgICAgICAgICAgfSk7CisKKyAgICAgICAg
Ly8gRklYTUU6IEltcGxlbWVudCB0aGlzLgorICAgICAgICB0aGlzLl9tYXAuc2V0KAorICAgICAg
ICAgICAgIm5hdGl2ZSBib29sIGlzbm9ybWFsKGhhbGYpIiwKKyAgICAgICAgICAgIGZ1bmMgPT4g
eworICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRpb24gPSAoW3ZhbHVlXSkgPT4KKyAg
ICAgICAgICAgICAgICAgICAgRVB0ci5ib3goaXNOYU4odmFsdWUubG9hZFZhbHVlKCkpKTsKKyAg
ICAgICAgICAgIH0pOworCisgICAgICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcy4KKyAgICAg
ICAgdGhpcy5fbWFwLnNldCgKKyAgICAgICAgICAgICJuYXRpdmUgYm9vbCBpc25vcm1hbChmbG9h
dCkiLAorICAgICAgICAgICAgZnVuYyA9PiB7CisgICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1l
bnRhdGlvbiA9IChbdmFsdWVdKSA9PgorICAgICAgICAgICAgICAgICAgICBFUHRyLmJveChpc05h
Tih2YWx1ZS5sb2FkVmFsdWUoKSkpOworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgdGhpcy5f
bWFwLnNldCgKKyAgICAgICAgICAgICJuYXRpdmUgZmxvYXQgYXRhbjIoZmxvYXQsZmxvYXQpIiwK
ICAgICAgICAgICAgIGZ1bmMgPT4gewogICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRp
b24gPSAoW2xlZnQsIHJpZ2h0XSkgPT4KLSAgICAgICAgICAgICAgICAgICAgRVB0ci5ib3gobGVm
dC5sb2FkVmFsdWUoKSA+PSByaWdodC5sb2FkVmFsdWUoKSk7CisgICAgICAgICAgICAgICAgICAg
IEVQdHIuYm94KE1hdGguZnJvdW5kKE1hdGguYXRhbjIobGVmdC5sb2FkVmFsdWUoKSwgcmlnaHQu
bG9hZFZhbHVlKCkpKSk7CiAgICAgICAgICAgICB9KTsKLSAgICAgICAgCi0gICAgICAgIGZvciAo
bGV0IGFkZHJlc3NTcGFjZSBvZiBhZGRyZXNzU3BhY2VzKSB7Ci0gICAgICAgICAgICB0aGlzLl9t
YXAuc2V0KAotICAgICAgICAgICAgICAgIGBuYXRpdmUgVCogJHthZGRyZXNzU3BhY2V9IG9wZXJh
dG9yJltdPFQ+KFRbXSAke2FkZHJlc3NTcGFjZX0sdWludClgLAotICAgICAgICAgICAgICAgIGZ1
bmMgPT4gewotICAgICAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFtyZWYs
IGluZGV4XSwgbm9kZSkgPT4gewotICAgICAgICAgICAgICAgICAgICAgICAgcmVmID0gcmVmLmxv
YWRWYWx1ZSgpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFyZWYpCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFdUcmFwRXJyb3Iobm9kZS5vcmlnaW4ub3JpZ2lu
U3RyaW5nLCAiTnVsbCBkZXJlZmVyZW5jZSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgaW5k
ZXggPSBpbmRleC5sb2FkVmFsdWUoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmRl
eCA+IHJlZi5sZW5ndGgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFdU
cmFwRXJyb3Iobm9kZS5vcmlnaW4ub3JpZ2luU3RyaW5nLCAiQXJyYXkgaW5kZXggIiArIGluZGV4
ICsgIiBpcyBvdXQgb2YgYm91bmRzIG9mICIgKyByZWYpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEVQdHIuYm94KHJlZi5wdHIucGx1cyhpbmRleCAqIG5vZGUuaW5zdGFudGlhdGVk
QWN0dWFsVHlwZUFyZ3VtZW50c1swXS5zaXplKSk7Ci0gICAgICAgICAgICAgICAgICAgIH07Ci0g
ICAgICAgICAgICAgICAgfSk7CiAKLSAgICAgICAgICAgIHRoaXMuX21hcC5zZXQoCi0gICAgICAg
ICAgICAgICAgYG5hdGl2ZSB1aW50IG9wZXJhdG9yLmxlbmd0aDxUPihUW10gJHthZGRyZXNzU3Bh
Y2V9KWAsCi0gICAgICAgICAgICAgICAgZnVuYyA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIGZ1
bmMuaW1wbGVtZW50YXRpb24gPSAoW3JlZl0sIG5vZGUpID0+IHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHJlZiA9IHJlZi5sb2FkVmFsdWUoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICghcmVmKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBFUHRyLmJveCgwKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBFUHRyLmJveChyZWYubGVuZ3RoKTsKLSAg
ICAgICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgfQorICAg
ICAgICBmb3IgKGxldCBzd2l6emxlIG9mIFN3aXp6bGVPcC5mdW5jdGlvbnMoKSkKKyAgICAgICAg
ICAgIHRoaXMuX21hcC5zZXQoc3dpenpsZS50b1N0cmluZygpLCBmdW5jID0+IHN3aXp6bGUuaW5z
dGFudGlhdGVJbXBsZW1lbnRhdGlvbihmdW5jKSk7CiAKLSAgICAgICAgZm9yIChsZXQgc3dpenps
ZSBvZiBTd2l6emxlT3AuYWxsU3dpenpsZU9wZXJhdG9ycygpKSB7Ci0gICAgICAgICAgICB0aGlz
Ll9tYXAuc2V0KHN3aXp6bGUudG9TdHJpbmcoKSwgCi0gICAgICAgICAgICBmdW5jID0+IHsKLSAg
ICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFt2ZWNdLCBub2RlKSA9PiB7Ci0g
ICAgICAgICAgICAgICAgICAgIGNvbnN0IG91dHB1dEJ1ZmZlciA9IG5ldyBFQnVmZmVyKHN3aXp6
bGUub3V0U2l6ZSk7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlYWRJbmRpY2VzID0geyAn
eCc6IDAsICd5JzogMSwgJ3onOiAyLCAndyc6IDMgfTsKLSAgICAgICAgICAgICAgICAgICAgZm9y
IChsZXQgaSA9IDA7IGkgPCBzd2l6emxlLm91dFNpemU7IGkrKykKLSAgICAgICAgICAgICAgICAg
ICAgICAgIG91dHB1dEJ1ZmZlci5zZXQoaSwgdmVjLmdldChyZWFkSW5kaWNlc1tzd2l6emxlLmNv
bXBvbmVudHNbaV1dKSk7Ci0gICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAg
ICAKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFUHRyKG91dHB1dEJ1ZmZlciwgMCk7
Ci0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9u
RGF0YSA9IHN3aXp6bGU7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIGNvbnNvbGUubG9n
KHN3aXp6bGUudG9TdHJpbmcoKSk7Ci0gICAgICAgIH0KKyAgICAgICAgZm9yIChsZXQgYm9vbE9w
IG9mIE9wZXJhdG9yQm9vbC5mdW5jdGlvbnMoKSkKKyAgICAgICAgICAgIHRoaXMuX21hcC5zZXQo
Ym9vbE9wLnRvU3RyaW5nKCksIGZ1bmMgPT4gYm9vbE9wLmluc3RhbnRpYXRlSW1wbGVtZW50YXRp
b24oZnVuYykpOworCisgICAgICAgIGZvciAobGV0IGFuZGVySW5kZXggb2YgT3BlcmF0b3JBbmRl
ckluZGV4ZXIuZnVuY3Rpb25zKCkpCisgICAgICAgICAgICB0aGlzLl9tYXAuc2V0KGFuZGVySW5k
ZXgudG9TdHJpbmcoKSwgZnVuYyA9PiBhbmRlckluZGV4Lmluc3RhbnRpYXRlSW1wbGVtZW50YXRp
b24oZnVuYykpOworCisgICAgICAgIGZvciAobGV0IGNhc3Qgb2YgQnVpbHRpblZlY3RvckNhc3Rz
LmZ1bmN0aW9ucygpKQorICAgICAgICAgICAgdGhpcy5fbWFwLnNldChjYXN0LnRvU3RyaW5nKCks
IGZ1bmMgPT4gY2FzdC5pbnN0YW50aWF0ZUltcGxlbWVudGF0aW9uKGZ1bmMpKTsKKworICAgICAg
ICBmb3IgKGxldCBnZXR0ZXIgb2YgQnVpbHRpblZlY3RvckluZGV4R2V0dGVyLmZ1bmN0aW9ucygp
KQorICAgICAgICAgICAgdGhpcy5fbWFwLnNldChnZXR0ZXIudG9TdHJpbmcoKSwgZnVuYyA9PiBn
ZXR0ZXIuaW5zdGFudGlhdGVJbXBsZW1lbnRhdGlvbihmdW5jKSk7CisKKyAgICAgICAgZm9yIChs
ZXQgc2V0dGVyIG9mIEJ1aWx0aW5WZWN0b3JJbmRleFNldHRlci5mdW5jdGlvbnMoKSkKKyAgICAg
ICAgICAgIHRoaXMuX21hcC5zZXQoc2V0dGVyLnRvU3RyaW5nKCksIGZ1bmMgPT4gc2V0dGVyLmlu
c3RhbnRpYXRlSW1wbGVtZW50YXRpb24oZnVuYykpOworCisgICAgICAgIGZvciAobGV0IGVxdWFs
aXR5T3BlcmF0b3Igb2YgQnVpbHRpblZlY3RvckVxdWFsaXR5T3BlcmF0b3IuZnVuY3Rpb25zKCkp
CisgICAgICAgICAgICB0aGlzLl9tYXAuc2V0KGVxdWFsaXR5T3BlcmF0b3IudG9TdHJpbmcoKSwg
ZnVuYyA9PiBlcXVhbGl0eU9wZXJhdG9yLmluc3RhbnRpYXRlSW1wbGVtZW50YXRpb24oZnVuYykp
OworCisgICAgICAgIGZvciAobGV0IGdldHRlciBvZiBCdWlsdGluVmVjdG9yR2V0dGVyLmZ1bmN0
aW9ucygpKQorICAgICAgICAgICAgdGhpcy5fbWFwLnNldChnZXR0ZXIudG9TdHJpbmcoKSwgZnVu
YyA9PiBnZXR0ZXIuaW5zdGFudGlhdGVJbXBsZW1lbnRhdGlvbihmdW5jKSk7CisKKyAgICAgICAg
Zm9yIChsZXQgc2V0dGVyIG9mIEJ1aWx0aW5WZWN0b3JTZXR0ZXIuZnVuY3Rpb25zKCkpCisgICAg
ICAgICAgICB0aGlzLl9tYXAuc2V0KHNldHRlci50b1N0cmluZygpLCBmdW5jID0+IHNldHRlci5p
bnN0YW50aWF0ZUltcGxlbWVudGF0aW9uKGZ1bmMpKTsKKyAgICAgICAgICAgIAorICAgICAgICB0
aGlzLl9tYXAuc2V0KAorICAgICAgICAgICAgIm5hdGl2ZSBpbnQgYXNpbnQoZmxvYXQpIiwKKyAg
ICAgICAgICAgIGZ1bmMgPT4geworICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRpb24g
PSAoW3ZhbHVlXSkgPT4KKyAgICAgICAgICAgICAgICAgICAgRVB0ci5ib3goYml0d2lzZUNhc3Qo
RmxvYXQzMkFycmF5LCBJbnQzMkFycmF5LCB2YWx1ZS5sb2FkVmFsdWUoKSkpOworICAgICAgICAg
ICAgfSk7CisKKyAgICAgICAgdGhpcy5fbWFwLnNldCgKKyAgICAgICAgICAgICJuYXRpdmUgdWlu
dCBhc3VpbnQoZmxvYXQpIiwKKyAgICAgICAgICAgIGZ1bmMgPT4geworICAgICAgICAgICAgICAg
IGZ1bmMuaW1wbGVtZW50YXRpb24gPSAoW3ZhbHVlXSkgPT4KKyAgICAgICAgICAgICAgICAgICAg
RVB0ci5ib3goYml0d2lzZUNhc3QoRmxvYXQzMkFycmF5LCBVaW50MzJBcnJheSwgdmFsdWUubG9h
ZFZhbHVlKCkpKTsKKyAgICAgICAgICAgIH0pOworCisgICAgICAgIHRoaXMuX21hcC5zZXQoCisg
ICAgICAgICAgICAibmF0aXZlIGZsb2F0IGFzZmxvYXQoaW50KSIsCisgICAgICAgICAgICBmdW5j
ID0+IHsKKyAgICAgICAgICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFt2YWx1ZV0pID0+
CisgICAgICAgICAgICAgICAgICAgIEVQdHIuYm94KGJpdHdpc2VDYXN0KEludDMyQXJyYXksIEZs
b2F0MzJBcnJheSwgdmFsdWUubG9hZFZhbHVlKCkpKTsKKyAgICAgICAgICAgIH0pOworCisgICAg
ICAgIHRoaXMuX21hcC5zZXQoCisgICAgICAgICAgICAibmF0aXZlIGZsb2F0IGFzZmxvYXQodWlu
dCkiLAorICAgICAgICAgICAgZnVuYyA9PiB7CisgICAgICAgICAgICAgICAgZnVuYy5pbXBsZW1l
bnRhdGlvbiA9IChbdmFsdWVdKSA9PgorICAgICAgICAgICAgICAgICAgICBFUHRyLmJveChiaXR3
aXNlQ2FzdChVaW50MzJBcnJheSwgRmxvYXQzMkFycmF5LCB2YWx1ZS5sb2FkVmFsdWUoKSkpOwor
ICAgICAgICAgICAgfSk7CisKKyAgICAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzLgorICAg
ICAgICB0aGlzLl9tYXAuc2V0KAorICAgICAgICAgICAgIm5hdGl2ZSBmbG9hdCBmMTZ0b2YzMih1
aW50KSIsCisgICAgICAgICAgICBmdW5jID0+IHsKKyAgICAgICAgICAgICAgICBmdW5jLmltcGxl
bWVudGF0aW9uID0gKFt2YWx1ZV0pID0+CisgICAgICAgICAgICAgICAgICAgIEVQdHIuYm94KDAp
OworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzLgor
ICAgICAgICB0aGlzLl9tYXAuc2V0KAorICAgICAgICAgICAgIm5hdGl2ZSB1aW50IGYzMnRvZjE2
KGZsb2F0KSIsCisgICAgICAgICAgICBmdW5jID0+IHsKKyAgICAgICAgICAgICAgICBmdW5jLmlt
cGxlbWVudGF0aW9uID0gKFt2YWx1ZV0pID0+CisgICAgICAgICAgICAgICAgICAgIEVQdHIuYm94
KDApOworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgdGhpcy5fbWFwLnNldCgKKyAgICAgICAg
ICAgICJuYXRpdmUgdm9pZCBBbGxNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3luYygpIiwKKyAgICAg
ICAgICAgIGZ1bmMgPT4geworICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRpb24gPSBm
dW5jdGlvbigpIHt9OworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgdGhpcy5fbWFwLnNldCgK
KyAgICAgICAgICAgICJuYXRpdmUgdm9pZCBEZXZpY2VNZW1vcnlCYXJyaWVyV2l0aEdyb3VwU3lu
YygpIiwKKyAgICAgICAgICAgIGZ1bmMgPT4geworICAgICAgICAgICAgICAgIGZ1bmMuaW1wbGVt
ZW50YXRpb24gPSBmdW5jdGlvbigpIHt9OworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgdGhp
cy5fbWFwLnNldCgKKyAgICAgICAgICAgICJuYXRpdmUgdm9pZCBHcm91cE1lbW9yeUJhcnJpZXJX
aXRoR3JvdXBTeW5jKCkiLAorICAgICAgICAgICAgZnVuYyA9PiB7CisgICAgICAgICAgICAgICAg
ZnVuYy5pbXBsZW1lbnRhdGlvbiA9IGZ1bmN0aW9uKCkge307CisgICAgICAgICAgICB9KTsKICAg
ICB9CiAgICAgCiAgICAgYWRkKHRoaW5nKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGlu
Z0xhbmd1YWdlUkkvTGV4ZXIuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9MZXhl
ci5qcwppbmRleCBiZTIxNjVkYjc5ZTgzZWNjMjhmNWQzNDZiNWM1ZDIxZTMyNDRiZDBjLi5hZjFh
MDliN2VmZjYyYTE4ODAzNDZkOTE3NjQ0NzZkZWY3NWQ0ZDAzIDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9MZXhlci5qcworKysgYi9Ub29scy9XZWJHUFVTaGFkaW5n
TGFuZ3VhZ2VSSS9MZXhlci5qcwpAQCAtMTIyLDcgKzEyMiw3IEBAIGNsYXNzIExleGVyIHsKICAg
ICAgICAgCiAgICAgICAgIC8vIEZJWE1FOiBNYWtlIHRoaXMgZG8gVW5pY29kZS4KICAgICAgICAg
aWYgKExleGVyLl90ZXh0SXNJZGVudGlmaWVySW1wbChyZWxldmFudFRleHQpKSB7Ci0gICAgICAg
ICAgICBpZiAoL14oc3RydWN0fHByb3RvY29sfHR5cGVkZWZ8aWZ8ZWxzZXxlbnVtfGNvbnRpbnVl
fGJyZWFrfHN3aXRjaHxjYXNlfGRlZmF1bHR8Zm9yfHdoaWxlfGRvfHJldHVybnxjb25zdGFudHxk
ZXZpY2V8dGhyZWFkZ3JvdXB8dGhyZWFkfG9wZXJhdG9yfG51bGx8dHJ1ZXxmYWxzZSkkLy50ZXN0
KFJlZ0V4cC5sYXN0TWF0Y2gpKQorICAgICAgICAgICAgaWYgKC9eKHN0cnVjdHx0eXBlZGVmfGlm
fGVsc2V8ZW51bXxjb250aW51ZXxicmVha3xzd2l0Y2h8Y2FzZXxkZWZhdWx0fGZvcnx3aGlsZXxk
b3xyZXR1cm58Y29uc3RhbnR8ZGV2aWNlfHRocmVhZGdyb3VwfHRocmVhZHxvcGVyYXRvcnxudWxs
fHRydWV8ZmFsc2UpJC8udGVzdChSZWdFeHAubGFzdE1hdGNoKSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gcmVzdWx0KCJrZXl3b3JkIik7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIGlmICh0
aGlzLl9vcmlnaW5LaW5kID09ICJuYXRpdmUiICYmIC9eKG5hdGl2ZXxyZXN0cmljdGVkKSQvLnRl
c3QoUmVnRXhwLmxhc3RNYXRjaCkpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFu
Z3VhZ2VSSS9MaXRlcmFsVHlwZUNoZWNrZXIuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3Vh
Z2VSSS9MaXRlcmFsVHlwZUNoZWNrZXIuanMKaW5kZXggODQ5ZDAzNGQ1MzU3M2RhM2JmOTM4Zjkw
NWNkNjBiNzYzN2RjYWE1My4uNTVhZTAxYjA5MDE4YzBjZGExZGJjODg0ZWI1OTU1Y2Y4NzM2OGY2
YyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvTGl0ZXJhbFR5cGVD
aGVja2VyLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0xpdGVyYWxUeXBl
Q2hlY2tlci5qcwpAQCAtNDMsNiArNDMsOCBAQCBjbGFzcyBMaXRlcmFsVHlwZUNoZWNrZXIgZXh0
ZW5kcyBWaXNpdG9yIHsKICAgICB7CiAgICAgICAgIGlmICghbm9kZS50eXBlKQogICAgICAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKG5vZGUgKyAiIGF0ICIgKyBub2RlLm9yaWdpbi5vcmlnaW5TdHJp
bmcgKyAiIGRvZXMgbm90IGhhdmUgdHlwZSIpOworICAgICAgICBpZiAoIW5vZGUudHlwZS50eXBl
LmNhblJlcHJlc2VudChub2RlLnZhbHVlKSkKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihg
JHtub2RlLnZhbHVlfSBhdCAke25vZGUub3JpZ2luLm9yaWdpblN0cmluZ30gY2Fubm90IGJlIHJl
cHJlc2VudGVkIGJ5ICR7bm9kZS50eXBlfWApOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvTXlsZXMuaHRtbCBiL1Rvb2xzL1dlYkdQVVNoYWRp
bmdMYW5ndWFnZVJJL015bGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2JlZGM4ZTY3YzMyNGVhNDU2YTRi
YTJmMTFlOWM1MTIwOGM3YzI4YwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRp
bmdMYW5ndWFnZVJJL015bGVzLmh0bWwKQEAgLTAsMCArMSwxNTIgQEAKKzxodG1sPgorPGhlYWQ+
Cis8dGl0bGU+TXlsZXM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ik5vZGUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9IlR5cGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IlJlZmVyZW5jZVR5
cGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IlZhbHVlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJFeHByZXNzaW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJSZXdyaXRlci5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iVmlzaXRvci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iQ3JlYXRlTGl0ZXJhbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iQ3JlYXRlTGl0
ZXJhbFR5cGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IlByb3BlcnR5QWNjZXNzRXhwcmVz
c2lvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iU3dpenpsZU9wLmpzIj48L3NjcmlwdD4K
KworPHNjcmlwdCBzcmM9IkFkZHJlc3NTcGFjZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
QW5vbnltb3VzVmFyaWFibGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IkFycmF5UmVmVHlw
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iQXJyYXlUeXBlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJBc3NpZ25tZW50LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJBdXRvV3Jh
cHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iQmxvY2suanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9IkJvb2xMaXRlcmFsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJCcmVhay5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iQ2FsbEV4cHJlc3Npb24uanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9IkNhbGxGdW5jdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iQ2hl
Y2suanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IkNoZWNrTGl0ZXJhbFR5cGVzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJDaGVja0xvb3BzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJDaGVja1JlY3Vyc2lvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iQ2hlY2tSZWN1cnNp
dmVUeXBlcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iQ2hlY2tSZXR1cm5zLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJDaGVja1VucmVhY2hhYmxlQ29kZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iQ2hlY2tXcmFwcGVkLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJDaGVj
a2VyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJDbG9uZVByb2dyYW0uanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9IkNvbW1hRXhwcmVzc2lvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iQ29uc3RleHByRm9sZGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJDb250aW51ZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iQ29udmVydFB0clRvQXJyYXlSZWZFeHByZXNzaW9u
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJEb1doaWxlTG9vcC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iRG90RXhwcmVzc2lvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iRGVy
ZWZlcmVuY2VFeHByZXNzaW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJFQXJyYXlSZWYu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IkVCdWZmZXIuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9IkVCdWZmZXJCdWlsZGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJFUHRyLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJFbnVtTGl0ZXJhbC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iRW51bU1lbWJlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iRW51bVR5cGUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IkV2YWx1YXRpb25Db21tb24uanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9IkV2YWx1YXRvci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iRXhw
cmVzc2lvbkZpbmRlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iRXh0ZXJuYWxPcmlnaW4u
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IkZpZWxkLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJGaW5kSGlnaFpvbWJpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IkZsYXR0ZW5l
ZFN0cnVjdE9mZnNldEdhdGhlcmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJGbG9hdExp
dGVyYWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IkZsb2F0TGl0ZXJhbFR5cGUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9IkZvbGRDb25zdGV4cHJzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJGb3JMb29wLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJGdW5jLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJGdW5jRGVmLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJG
dW5jUGFyYW1ldGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJGdW5jdGlvbkxpa2VCbG9j
ay5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iSGlnaFpvbWJpZUZpbmRlci5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iSWRlbnRpdHlFeHByZXNzaW9uLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJJZlN0YXRlbWVudC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iSW5kZXhFeHBy
ZXNzaW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJJbmZlclR5cGVzRm9yQ2FsbC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iSW5saW5lLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJJbmxpbmVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJJbnRMaXRlcmFsLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJJbnRMaXRlcmFsVHlwZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iSW50cmluc2ljcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iTGF0ZUNoZWNrZXIu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IkxleGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJMZXhlclRva2VuLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJMaXRlcmFsVHlwZUNo
ZWNrZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IkxvZ2ljYWxFeHByZXNzaW9uLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJMb2dpY2FsTm90LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJMb29wQ2hlY2tlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iTWFrZUFycmF5UmVm
RXhwcmVzc2lvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iTWFrZVB0ckV4cHJlc3Npb24u
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ik5hbWVDb250ZXh0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJOYW1lRmluZGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJOYW1lUmVz
b2x2ZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ik5hdGl2ZUZ1bmMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ik5hdGl2ZVR5cGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ik5v
cm1hbFVzZVByb3BlcnR5UmVzb2x2ZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ik51bGxM
aXRlcmFsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJOdWxsVHlwZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iT3JpZ2luS2luZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iT3Zl
cmxvYWRSZXNvbHV0aW9uRmFpbHVyZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iUGFyc2Uu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IlByZXBhcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9IlByb3BlcnR5UmVzb2x2ZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IlByb2dy
YW0uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IlByb2dyYW1XaXRoVW5uZWNlc3NhcnlUaGlu
Z3NSZW1vdmVkLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJQdHJUeXBlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJSZWFkTW9kaWZ5V3JpdGVFeHByZXNzaW9uLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSJSZWN1cnNpb25DaGVja2VyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJSZWN1cnNpdmVUeXBlQ2hlY2tlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iUmVzb2x2
ZU5hbWVzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJSZXNvbHZlT3ZlcmxvYWRJbXBsLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJSZXNvbHZlUHJvcGVydGllcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iUmVzb2x2ZVR5cGVEZWZzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJSZXR1cm4uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IlJldHVybkNoZWNrZXIuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9IlJldHVybkV4Y2VwdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iU3RhbmRhcmRMaWJyYXJ5LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJTdGF0
ZW1lbnRDbG9uZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IlN0cnVjdExheW91dEJ1aWxk
ZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IlN0cnVjdFR5cGUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9IlN1YnN0aXR1dGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iU3dp
dGNoQ2FzZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iU3dpdGNoU3RhdGVtZW50LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJTeW50aGVzaXplRW51bUZ1bmN0aW9ucy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iU3ludGhlc2l6ZVN0cnVjdEFjY2Vzc29ycy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iVGVybmFyeUV4cHJlc3Npb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9IlRyYXBTdGF0ZW1lbnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IlR5cGVEZWYuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IlR5cGVEZWZSZXNvbHZlci5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iVHlwZU9yVmFyaWFibGVSZWYuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
IlR5cGVSZWYuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IlR5cGVkVmFsdWUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9IlVpbnRMaXRlcmFsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJVaW50TGl0ZXJhbFR5cGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IlVuaWZpY2F0aW9u
Q29udGV4dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iVW5yZWFjaGFibGVDb2RlQ2hlY2tl
ci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iVmFyaWFibGVEZWNsLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSJWYXJpYWJsZVJlZi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iVmlz
aXRpbmdTZXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IldTeW50YXhFcnJvci5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iV1RyYXBFcnJvci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iV1R5cGVFcnJvci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iV2hpbGVMb29wLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJXcmFwQ2hlY2tlci5qcyI+PC9zY3JpcHQ+CisKKzxzY3Jp
cHQgc3JjPSJUZXN0LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KK3dpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CisgICAgcHJlcGFyZSgpOworfSk7Cis8L3Njcmlw
dD4KKworPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJtZXNzYWdlcyI+PC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9NeWxl
cy5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL015bGVzLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjRjYTNjM2JlZjcyNmE3MDQ2MzE3MzFjMzI5MmVlNDA5ZDgxZGVhZWIKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9NeWxlcy5qcwpAQCAtMCwwICsxLDM4
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisidXNlIHN0
cmljdCI7CisKK2lmICh0aGlzLndpbmRvdykgeworICAgIHRoaXMucHJpbnQgPSAodGV4dCkgPT4g
eworICAgICAgICB2YXIgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1lc3NhZ2VzIikuYXBwZW5kQ2hpbGQoc3Bh
bik7CisgICAgICAgIHNwYW4uaW5uZXJIVE1MID0gdGV4dC5yZXBsYWNlKC8gL2csICImbmJzcDsi
KS5yZXBsYWNlKC9cbi9nLCAiPGJyPiIpICsgIjxicj4iOworICAgICAgICB3aW5kb3cuc2Nyb2xs
VG8oMCxkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodCk7CisgICAgfTsKKyAgICB0aGlzLnByZWNp
c2VUaW1lID0gKCkgPT4gcGVyZm9ybWFuY2Uubm93KCkgLyAxMDAwOworfSBlbHNlCisgICAgbG9h
ZCgiQWxsLmpzIik7CisKK3ByZXBhcmUoIi9pbnRlcm5hbC90ZXN0IiwgMCwgIiIpOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvTmFtZUNvbnRleHQuanMgYi9Ub29s
cy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9OYW1lQ29udGV4dC5qcwppbmRleCBjMzFiYzQyODI5
NDQzMGJkNDUyNzc5NmY0ZDdhOTk2MDUzOWY2MTg4Li43MGNjODkwZmZiZTU1MzEyZjRmZDdmNjMw
YTkwZGQzY2I3ZTI1YWM1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VS
SS9OYW1lQ29udGV4dC5qcworKysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9OYW1l
Q29udGV4dC5qcwpAQCAtNDgsNyArNDgsNyBAQCBjbGFzcyBOYW1lQ29udGV4dCB7CiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIGlmICghdGhpbmcub3JpZ2luKQogICAgICAgICAgICAgdGhy
b3cgbmV3IEVycm9yKCJUaGluZyBkb2VzIG5vdCBoYXZlIG9yaWdpbjogIiArIHRoaW5nKTsKLSAg
ICAgICAgCisKICAgICAgICAgaWYgKHRoaW5nLmlzTmF0aXZlICYmICF0aGluZy5pbXBsZW1lbnRh
dGlvbikgewogICAgICAgICAgICAgaWYgKCF0aGlzLl9pbnRyaW5zaWNzKQogICAgICAgICAgICAg
ICAgIHRocm93IG5ldyBFcnJvcigiTmF0aXZlIGZ1bmN0aW9uIGluIGEgc2NvcGUgdGhhdCBkb2Vz
IG5vdCByZWNvZ25pemUgaW50cmluc2ljcyIpOwpAQCAtNjcsOSArNjcsMjMgQEAgY2xhc3MgTmFt
ZUNvbnRleHQgewogICAgICAgICAgICAgICAgIHRocm93IG5ldyBXVHlwZUVycm9yKHRoaW5nLm9y
aWdpbi5vcmlnaW5TdHJpbmcsICJDYW5ub3QgcmV1c2UgdHlwZSBuYW1lIGZvciBmdW5jdGlvbjog
IiArIHRoaW5nLm5hbWUpOwogICAgICAgICAgICAgYXJyYXkucHVzaCh0aGluZyk7CiAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0gZWxzZSBpZiAodGhpbmcua2luZCA9PSBOYXRpdmVQYXJh
bWV0ZXJpemVkVHlwZSkgeworICAgICAgICAgICAgdGhpcy5fc2V0LmFkZCh0aGluZyk7CisgICAg
ICAgICAgICBsZXQgYXJyYXkgPSB0aGlzLl9tYXAuZ2V0KHRoaW5nLm5hbWUpOworICAgICAgICAg
ICAgaWYgKCFhcnJheSkgeworICAgICAgICAgICAgICAgIGFycmF5ID0gW107CisgICAgICAgICAg
ICAgICAgYXJyYXkua2luZCA9IE5hdGl2ZVBhcmFtZXRlcml6ZWRUeXBlOworICAgICAgICAgICAg
ICAgIHRoaXMuX21hcC5zZXQodGhpbmcubmFtZSwgYXJyYXkpOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgaWYgKGFycmF5LmtpbmQgIT0gTmF0aXZlUGFyYW1ldGVyaXplZFR5cGUpCisgICAg
ICAgICAgICAgICAgdGhyb3cgbmV3IFdUeXBlRXJyb3IodGhpbmcub3JpZ2luLm9yaWdpblN0cmlu
ZywgIkNhbm5vdCByZXVzZSBuYW1lIGZvciAiICsgdGhpbmcubmFtZSk7CisgICAgICAgICAgICBh
cnJheS5wdXNoKHRoaW5nKTsKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQorCiAgICAg
ICAgIGlmICh0aGlzLl9tYXAuaGFzKHRoaW5nLm5hbWUpKQogICAgICAgICAgICAgdGhyb3cgbmV3
IFdUeXBlRXJyb3IodGhpbmcub3JpZ2luLm9yaWdpblN0cmluZywgIkR1cGxpY2F0ZSBuYW1lOiAi
ICsgdGhpbmcubmFtZSk7CisKICAgICAgICAgdGhpcy5fc2V0LmFkZCh0aGluZyk7CiAgICAgICAg
IHRoaXMuX21hcC5zZXQodGhpbmcubmFtZSwgdGhpbmcpOwogICAgIH0KQEAgLTEwMCwxNyArMTE0
LDIzIEBAIGNsYXNzIE5hbWVDb250ZXh0IHsKICAgICAgICAgICAgIGZvciAobGV0IGZ1bmMgb2Yg
dGhpbmcpCiAgICAgICAgICAgICAgICAgeWllbGQgZnVuYzsKICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgfSBlbHNlIGlmICh0aGluZy5raW5kID09PSBOYXRpdmVQYXJhbWV0ZXJpemVkVHlw
ZSkgeworICAgICAgICAgICAgaWYgKCEodGhpbmcgaW5zdGFuY2VvZiBBcnJheSkpCisgICAgICAg
ICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJOYXRpdmVQYXJhbWV0ZXJpemVkIHRoaW5nIGlzIG5v
dCBhbiBhcnJheSAiICsgdGhpbmcpOworICAgICAgICAgICAgZm9yIChsZXQgbmF0aXZlUGFyYW1l
dGVyaXplZFR5cGUgb2YgdGhpbmcpCisgICAgICAgICAgICAgICAgeWllbGQgbmF0aXZlUGFyYW1l
dGVyaXplZFR5cGU7CisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgeWll
bGQgdGhpbmc7CiAgICAgfQogICAgIAotICAgIHJlc29sdmVGdW5jT3ZlcmxvYWQobmFtZSwgdHlw
ZUFyZ3VtZW50cywgYXJndW1lbnRUeXBlcywgcmV0dXJuVHlwZSwgYWxsb3dFbnRyeVBvaW50ID0g
ZmFsc2UpCisgICAgcmVzb2x2ZUZ1bmNPdmVybG9hZChuYW1lLCBhcmd1bWVudFR5cGVzLCByZXR1
cm5UeXBlLCBhbGxvd0VudHJ5UG9pbnQgPSBmYWxzZSkKICAgICB7CiAgICAgICAgIGxldCBmdW5j
dGlvbnMgPSB0aGlzLmdldChGdW5jLCBuYW1lKTsKICAgICAgICAgaWYgKCFmdW5jdGlvbnMpCiAg
ICAgICAgICAgICByZXR1cm4ge2ZhaWx1cmVzOiBbXX07CiAgICAgICAgIAotICAgICAgICByZXR1
cm4gcmVzb2x2ZU92ZXJsb2FkSW1wbChmdW5jdGlvbnMsIHR5cGVBcmd1bWVudHMsIGFyZ3VtZW50
VHlwZXMsIHJldHVyblR5cGUsIGFsbG93RW50cnlQb2ludCk7CisgICAgICAgIHJldHVybiByZXNv
bHZlT3ZlcmxvYWRJbXBsKGZ1bmN0aW9ucywgYXJndW1lbnRUeXBlcywgcmV0dXJuVHlwZSwgYWxs
b3dFbnRyeVBvaW50KTsKICAgICB9CiAgICAgCiAgICAgZ2V0IGN1cnJlbnRTdGF0ZW1lbnQoKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvTmFtZUZpbmRlci5qcyBi
L1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL05hbWVGaW5kZXIuanMKaW5kZXggZmMyZmRi
ZDAzMjUyN2NjYzU0Y2FkNzFiYTU3NmI5OTIyMWVlOWM3ZC4uNjlkZTMyOGUxNTgyZDk3ZDg5MTM5
NmNkODdkMWQ3ZjFmNjgzNjQzZSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1
YWdlUkkvTmFtZUZpbmRlci5qcworKysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9O
YW1lRmluZGVyLmpzCkBAIC00MywxMiArNDMsNiBAQCBjbGFzcyBOYW1lRmluZGVyIGV4dGVuZHMg
VmlzaXRvciB7CiAgICAgICAgIHRoaXMuX3dvcmtsaXN0LnB1c2gobmFtZSk7CiAgICAgfQogICAg
IAotICAgIHZpc2l0UHJvdG9jb2xSZWYobm9kZSkKLSAgICB7Ci0gICAgICAgIHRoaXMuYWRkKG5v
ZGUubmFtZSk7Ci0gICAgICAgIHN1cGVyLnZpc2l0UHJvdG9jb2xSZWYobm9kZSk7Ci0gICAgfQot
ICAgIAogICAgIHZpc2l0VHlwZVJlZihub2RlKQogICAgIHsKICAgICAgICAgdGhpcy5hZGQobm9k
ZS5uYW1lKTsKQEAgLTYwLDExICs1NCw2IEBAIGNsYXNzIE5hbWVGaW5kZXIgZXh0ZW5kcyBWaXNp
dG9yIHsKICAgICAgICAgdGhpcy5hZGQobm9kZS5uYW1lKTsKICAgICAgICAgc3VwZXIudmlzaXRW
YXJpYWJsZVJlZihub2RlKTsKICAgICB9Ci0gICAgCi0gICAgdmlzaXRUeXBlT3JWYXJpYWJsZVJl
Zihub2RlKQotICAgIHsKLSAgICAgICAgdGhpcy5hZGQobm9kZS5uYW1lKTsKLSAgICB9CiAKICAg
ICBfaGFuZGxlUHJvcGVydHlBY2Nlc3Mobm9kZSkKICAgICB7CmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9OYW1lUmVzb2x2ZXIuanMgYi9Ub29scy9XZWJHUFVTaGFk
aW5nTGFuZ3VhZ2VSSS9OYW1lUmVzb2x2ZXIuanMKaW5kZXggNzMxOTY0ZmM3ODIyMWFlNzMxMTg5
ODEyNTIyMzI1MDNiY2ZhYmMzMC4uNmFiMzVjZTFjNzc4NmU2MjA5MTU4OGY3MzViYjhjYmM0YTI0
NGFlOSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvTmFtZVJlc29s
dmVyLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL05hbWVSZXNvbHZlci5q
cwpAQCAtNDEsMTkgKzQxLDE0IEBAIGNsYXNzIE5hbWVSZXNvbHZlciBleHRlbmRzIFZpc2l0b3Ig
ewogICAgICAgICB0aGlzLl9uYW1lQ29udGV4dC5kb1N0YXRlbWVudChzdGF0ZW1lbnQsICgpID0+
IHN0YXRlbWVudC52aXNpdCh0aGlzKSk7CiAgICAgfQogICAgIAotICAgIF92aXNpdFR5cGVQYXJh
bWV0ZXJzQW5kQnVpbGROYW1lQ29udGV4dChub2RlKQorICAgIF9idWlsZE5hbWVDb250ZXh0KCkK
ICAgICB7Ci0gICAgICAgIGxldCBuYW1lQ29udGV4dCA9IG5ldyBOYW1lQ29udGV4dCh0aGlzLl9u
YW1lQ29udGV4dCk7Ci0gICAgICAgIGZvciAobGV0IHR5cGVQYXJhbWV0ZXIgb2Ygbm9kZS50eXBl
UGFyYW1ldGVycykgewotICAgICAgICAgICAgbmFtZUNvbnRleHQuYWRkKHR5cGVQYXJhbWV0ZXIp
OwotICAgICAgICAgICAgdHlwZVBhcmFtZXRlci52aXNpdCh0aGlzKTsKLSAgICAgICAgfQotICAg
ICAgICByZXR1cm4gbmFtZUNvbnRleHQ7CisgICAgICAgIHJldHVybiBuZXcgTmFtZUNvbnRleHQo
dGhpcy5fbmFtZUNvbnRleHQpOwogICAgIH0KICAgICAKICAgICB2aXNpdEZ1bmMobm9kZSkKICAg
ICB7Ci0gICAgICAgIGxldCBjaGVja2VyID0gbmV3IE5hbWVSZXNvbHZlcih0aGlzLl92aXNpdFR5
cGVQYXJhbWV0ZXJzQW5kQnVpbGROYW1lQ29udGV4dChub2RlKSk7CisgICAgICAgIGxldCBjaGVj
a2VyID0gbmV3IE5hbWVSZXNvbHZlcih0aGlzLl9idWlsZE5hbWVDb250ZXh0KG5vZGUpKTsKICAg
ICAgICAgbm9kZS5yZXR1cm5UeXBlLnZpc2l0KGNoZWNrZXIpOwogICAgICAgICBmb3IgKGxldCBw
YXJhbWV0ZXIgb2Ygbm9kZS5wYXJhbWV0ZXJzKQogICAgICAgICAgICAgcGFyYW1ldGVyLnZpc2l0
KGNoZWNrZXIpOwpAQCAtNjEsMTYgKzU2LDE0IEBAIGNsYXNzIE5hbWVSZXNvbHZlciBleHRlbmRz
IFZpc2l0b3IgewogICAgIAogICAgIHZpc2l0RnVuY0RlZihub2RlKQogICAgIHsKLSAgICAgICAg
bGV0IGNvbnRleHRXaXRoVHlwZVBhcmFtZXRlcnMgPSB0aGlzLl92aXNpdFR5cGVQYXJhbWV0ZXJz
QW5kQnVpbGROYW1lQ29udGV4dChub2RlKTsKLSAgICAgICAgbGV0IGNoZWNrZXJXaXRoVHlwZVBh
cmFtZXRlcnMgPSBuZXcgTmFtZVJlc29sdmVyKGNvbnRleHRXaXRoVHlwZVBhcmFtZXRlcnMpOwot
ICAgICAgICBub2RlLnJldHVyblR5cGUudmlzaXQoY2hlY2tlcldpdGhUeXBlUGFyYW1ldGVycyk7
Ci0gICAgICAgIGxldCBjb250ZXh0V2l0aFBhcmFtZXRlcnMgPSBuZXcgTmFtZUNvbnRleHQoY29u
dGV4dFdpdGhUeXBlUGFyYW1ldGVycyk7CisgICAgICAgIGxldCBpbm5lckNvbnRleHQgPSB0aGlz
Ll9idWlsZE5hbWVDb250ZXh0KCk7CisgICAgICAgIGxldCBpbm5lckNoZWNrZXIgPSBuZXcgTmFt
ZVJlc29sdmVyKGlubmVyQ29udGV4dCk7CisgICAgICAgIG5vZGUucmV0dXJuVHlwZS52aXNpdChp
bm5lckNoZWNrZXIpOwogICAgICAgICBmb3IgKGxldCBwYXJhbWV0ZXIgb2Ygbm9kZS5wYXJhbWV0
ZXJzKSB7Ci0gICAgICAgICAgICBwYXJhbWV0ZXIudmlzaXQoY2hlY2tlcldpdGhUeXBlUGFyYW1l
dGVycyk7Ci0gICAgICAgICAgICBjb250ZXh0V2l0aFBhcmFtZXRlcnMuYWRkKHBhcmFtZXRlcik7
CisgICAgICAgICAgICBwYXJhbWV0ZXIudmlzaXQoaW5uZXJDaGVja2VyKTsKKyAgICAgICAgICAg
IGlubmVyQ29udGV4dC5hZGQocGFyYW1ldGVyKTsKICAgICAgICAgfQotICAgICAgICBsZXQgY2hl
Y2tlcldpdGhQYXJhbWV0ZXJzID0gbmV3IE5hbWVSZXNvbHZlcihjb250ZXh0V2l0aFBhcmFtZXRl
cnMpOwotICAgICAgICBub2RlLmJvZHkudmlzaXQoY2hlY2tlcldpdGhQYXJhbWV0ZXJzKTsKKyAg
ICAgICAgbm9kZS5ib2R5LnZpc2l0KGlubmVyQ2hlY2tlcik7CiAgICAgfQogICAgIAogICAgIHZp
c2l0QmxvY2sobm9kZSkKQEAgLTExNSw0MSArMTA4LDkgQEAgY2xhc3MgTmFtZVJlc29sdmVyIGV4
dGVuZHMgVmlzaXRvciB7CiAgICAgICAgIG5vZGUuYm9keS52aXNpdChuZXdSZXNvbHZlcik7CiAg
ICAgfQogICAgIAotICAgIHZpc2l0UHJvdG9jb2xEZWNsKG5vZGUpCi0gICAgewotICAgICAgICBm
b3IgKGxldCBwYXJlbnQgb2Ygbm9kZS5leHRlbmRzKQotICAgICAgICAgICAgcGFyZW50LnZpc2l0
KHRoaXMpOwotICAgICAgICBsZXQgbmFtZUNvbnRleHQgPSBuZXcgTmFtZUNvbnRleHQodGhpcy5f
bmFtZUNvbnRleHQpOwotICAgICAgICBuYW1lQ29udGV4dC5hZGQobm9kZS50eXBlVmFyaWFibGUp
OwotICAgICAgICBsZXQgY2hlY2tlciA9IG5ldyBOYW1lUmVzb2x2ZXIobmFtZUNvbnRleHQpOwot
ICAgICAgICBmb3IgKGxldCBzaWduYXR1cmUgb2Ygbm9kZS5zaWduYXR1cmVzKQotICAgICAgICAg
ICAgc2lnbmF0dXJlLnZpc2l0KGNoZWNrZXIpOwotICAgIH0KLSAgICAKLSAgICB2aXNpdFByb3Rv
Y29sUmVmKG5vZGUpCi0gICAgewotICAgICAgICBsZXQgcmVzdWx0ID0gdGhpcy5fbmFtZUNvbnRl
eHQuZ2V0KFByb3RvY29sLCBub2RlLm5hbWUpOwotICAgICAgICBpZiAoIXJlc3VsdCkKLSAgICAg
ICAgICAgIHRocm93IG5ldyBXVHlwZUVycm9yKG5vZGUub3JpZ2luLm9yaWdpblN0cmluZywgIkNv
dWxkIG5vdCBmaW5kIHByb3RvY29sIG5hbWVkICIgKyBub2RlLm5hbWUpOwotICAgICAgICBub2Rl
LnByb3RvY29sRGVjbCA9IHJlc3VsdDsKLSAgICB9Ci0gICAgCi0gICAgdmlzaXRQcm90b2NvbEZ1
bmNEZWNsKG5vZGUpCi0gICAgewotICAgICAgICB0aGlzLnZpc2l0RnVuYyhub2RlKTsKLSAgICAg
ICAgbGV0IGZ1bmNzID0gdGhpcy5fbmFtZUNvbnRleHQuZ2V0KEZ1bmMsIG5vZGUubmFtZSk7Ci0g
ICAgICAgIGlmICghZnVuY3MpCi0gICAgICAgICAgICB0aHJvdyBuZXcgV1R5cGVFcnJvcihub2Rl
Lm9yaWdpbi5vcmlnaW5TdHJpbmcsICJDYW5ub3QgZmluZCBhbnkgZnVuY3Rpb25zIG5hbWVkICIg
KyBub2RlLm5hbWUpOwotICAgICAgICBub2RlLnBvc3NpYmxlT3ZlcmxvYWRzID0gZnVuY3M7Ci0g
ICAgfQotICAgIAogICAgIHZpc2l0VHlwZURlZihub2RlKQogICAgIHsKICAgICAgICAgbGV0IG5h
bWVDb250ZXh0ID0gbmV3IE5hbWVDb250ZXh0KHRoaXMuX25hbWVDb250ZXh0KTsKLSAgICAgICAg
Zm9yIChsZXQgdHlwZVBhcmFtZXRlciBvZiBub2RlLnR5cGVQYXJhbWV0ZXJzKSB7Ci0gICAgICAg
ICAgICB0eXBlUGFyYW1ldGVyLnZpc2l0KHRoaXMpOwotICAgICAgICAgICAgbmFtZUNvbnRleHQu
YWRkKHR5cGVQYXJhbWV0ZXIpOwotICAgICAgICB9CiAgICAgICAgIGxldCBjaGVja2VyID0gbmV3
IE5hbWVSZXNvbHZlcihuYW1lQ29udGV4dCk7CiAgICAgICAgIG5vZGUudHlwZS52aXNpdChjaGVj
a2VyKTsKICAgICB9CkBAIC0xNTcsMTUgKzExOCw1MSBAQCBjbGFzcyBOYW1lUmVzb2x2ZXIgZXh0
ZW5kcyBWaXNpdG9yIHsKICAgICB2aXNpdFN0cnVjdFR5cGUobm9kZSkKICAgICB7CiAgICAgICAg
IGxldCBuYW1lQ29udGV4dCA9IG5ldyBOYW1lQ29udGV4dCh0aGlzLl9uYW1lQ29udGV4dCk7Ci0g
ICAgICAgIGZvciAobGV0IHR5cGVQYXJhbWV0ZXIgb2Ygbm9kZS50eXBlUGFyYW1ldGVycykgewot
ICAgICAgICAgICAgdHlwZVBhcmFtZXRlci52aXNpdCh0aGlzKTsKLSAgICAgICAgICAgIG5hbWVD
b250ZXh0LmFkZCh0eXBlUGFyYW1ldGVyKTsKLSAgICAgICAgfQogICAgICAgICBsZXQgY2hlY2tl
ciA9IG5ldyBOYW1lUmVzb2x2ZXIobmFtZUNvbnRleHQpOwogICAgICAgICBmb3IgKGxldCBmaWVs
ZCBvZiBub2RlLmZpZWxkcykKICAgICAgICAgICAgIGZpZWxkLnZpc2l0KGNoZWNrZXIpOwogICAg
IH0KICAgICAKKyAgICB2aXNpdFR5cGVSZWYobm9kZSkKKyAgICB7CisgICAgICAgIGZvciAobGV0
IGFyZyBvZiBub2RlLnR5cGVBcmd1bWVudHMpCisgICAgICAgICAgICBhcmcudmlzaXQodGhpcyk7
CisgICAgICAgIAorICAgICAgICBsZXQgdHlwZSA9IG5vZGUudHlwZTsKKyAgICAgICAgaWYgKCF0
eXBlKSB7CisgICAgICAgICAgICB0eXBlID0gdGhpcy5fbmFtZUNvbnRleHQuZ2V0KFR5cGUsIG5v
ZGUubmFtZSk7CisgICAgICAgICAgICBpZiAodHlwZSkKKyAgICAgICAgICAgICAgICBub2RlLnR5
cGUgPSB0eXBlOworICAgICAgICAgICAgZWxzZSB7IAorICAgICAgICAgICAgICAgIGxldCBwb3Nz
aWJsZVR5cGVzID0gdGhpcy5fbmFtZUNvbnRleHQuZ2V0KE5hdGl2ZVBhcmFtZXRlcml6ZWRUeXBl
LCBub2RlLm5hbWUpOworICAgICAgICAgICAgICAgIGZvciAobGV0IHBvc3NpYmxlVHlwZSBvZiBw
b3NzaWJsZVR5cGVzKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEF0IHRoaXMgcG9pbnQgdGhl
IHBvc3NpYmxlIHR5cGUgYXJndW1lbnRzIG1pZ2h0IGJlIHVucmVzb2x2ZWQgVHlwZVJlZiwgd2Ug
ZW5zdXJlIHRoZXkgYXJlIGNvbmNyZXRlIHR5cGVzLgorICAgICAgICAgICAgICAgICAgICBwb3Nz
aWJsZVR5cGUudmlzaXQodGhpcyk7CisgICAgICAgICAgICAgICAgICAgIGlmIChwb3NzaWJsZVR5
cGUudHlwZUFyZ3VtZW50cy5sZW5ndGggPT0gbm9kZS50eXBlQXJndW1lbnRzLmxlbmd0aCkgewor
ICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGFyZ3VtZW50c01hdGNoID0gdHJ1ZTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBhcmd1bWVudHNNYXRjaCAmJiBpIDwg
cG9zc2libGVUeXBlLnR5cGVBcmd1bWVudHMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoIW5vZGUudHlwZUFyZ3VtZW50c1tpXS5lcXVhbHMocG9zc2libGVU
eXBlLnR5cGVBcmd1bWVudHNbaV0pKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh
cmd1bWVudHNNYXRjaCA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoYXJndW1lbnRzTWF0Y2gpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0eXBlID0gcG9zc2libGVUeXBlOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCF0eXBlKQor
ICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgV1R5cGVFcnJvcihub2RlLm9yaWdpbi5vcmln
aW5TdHJpbmcsIGBDb3VsZCBub3QgZmluZCB0eXBlIG5hbWVkICR7bm9kZS5uYW1lfSB3aXRoIGFy
Z3VtZW50cyAke25vZGUudHlwZUFyZ3VtZW50cy5qb2luKCIsICIpfWApOworICAgICAgICAgICAg
fQorCisgICAgICAgICAgICBpZiAoIXR5cGUpCisgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFdU
eXBlRXJyb3Iobm9kZS5vcmlnaW4ub3JpZ2luU3RyaW5nLCAiQ291bGQgbm90IGZpbmQgdHlwZSBu
YW1lZCAiICsgbm9kZS5uYW1lKTsKKworICAgICAgICAgICAgbm9kZS50eXBlID0gdHlwZTsKKyAg
ICAgICAgfQorICAgIH0KKwogICAgIF9yZXNvbHZlVHlwZUFyZ3VtZW50cyh0eXBlQXJndW1lbnRz
KQogICAgIHsKICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0eXBlQXJndW1lbnRzLmxlbmd0
aDsgKytpKSB7CkBAIC0xODEsMzYgKzE3OCwxNiBAQCBjbGFzcyBOYW1lUmVzb2x2ZXIgZXh0ZW5k
cyBWaXNpdG9yIHsKICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIHRo
cm93IG5ldyBXVHlwZUVycm9yKHR5cGVBcmd1bWVudC5vcmlnaW4ub3JpZ2luU3RyaW5nLCAiVHlw
ZSBhcmd1bWVudCByZXNvbHZlZCB0byB3cm9uZyBraW5kIG9mIHRoaW5nOiAiICsgdGhpbmcua2lu
ZCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmICh0eXBlQXJn
dW1lbnRbaV0gaW5zdGFuY2VvZiBWYWx1ZQotICAgICAgICAgICAgICAgICYmICF0eXBlQXJndW1l
bnRbaV0uaXNDb25zdGV4cHIpCisgICAgICAgICAgICBpZiAodHlwZUFyZ3VtZW50W2ldIGluc3Rh
bmNlb2YgVmFsdWUgJiYgIXR5cGVBcmd1bWVudFtpXS5pc0NvbnN0ZXhwcikKICAgICAgICAgICAg
ICAgICB0aHJvdyBuZXcgV1R5cGVFcnJvcih0eXBlQXJndW1lbnRbaV0ub3JpZ2luLm9yaWdpblN0
cmluZywgIkV4cGVjdGVkIGNvbnN0ZXhwciIpOwogICAgICAgICB9CiAgICAgfQogICAgIAotICAg
IHZpc2l0VHlwZVJlZihub2RlKQorICAgIHZpc2l0TmF0aXZlVHlwZShub2RlKQogICAgIHsKICAg
ICAgICAgdGhpcy5fcmVzb2x2ZVR5cGVBcmd1bWVudHMobm9kZS50eXBlQXJndW1lbnRzKTsKLSAg
ICAgICAgCi0gICAgICAgIGxldCB0eXBlID0gbm9kZS50eXBlOwotICAgICAgICBpZiAoIXR5cGUp
IHsKLSAgICAgICAgICAgIHR5cGUgPSB0aGlzLl9uYW1lQ29udGV4dC5nZXQoVHlwZSwgbm9kZS5u
YW1lKTsKLSAgICAgICAgICAgIGlmICghdHlwZSkKLSAgICAgICAgICAgICAgICB0aHJvdyBuZXcg
V1R5cGVFcnJvcihub2RlLm9yaWdpbi5vcmlnaW5TdHJpbmcsICJDb3VsZCBub3QgZmluZCB0eXBl
IG5hbWVkICIgKyBub2RlLm5hbWUpOwotICAgICAgICAgICAgbm9kZS50eXBlID0gdHlwZTsKLSAg
ICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYgKHR5cGUudHlwZVBhcmFtZXRlcnMubGVuZ3Ro
ICE9IG5vZGUudHlwZUFyZ3VtZW50cy5sZW5ndGgpCi0gICAgICAgICAgICB0aHJvdyBuZXcgV1R5
cGVFcnJvcihub2RlLm9yaWdpbi5vcmlnaW5TdHJpbmcsICJXcm9uZyBudW1iZXIgb2YgdHlwZSBh
cmd1bWVudHMgKHBhc3NlZCAiICsgbm9kZS50eXBlQXJndW1lbnRzLmxlbmd0aCArICIsIGV4cGVj
dGVkICIgKyB0eXBlLnR5cGVQYXJhbWV0ZXJzLmxlbmd0aCArICIpIik7Ci0gICAgICAgIGZvciAo
bGV0IGkgPSAwOyBpIDwgdHlwZS50eXBlUGFyYW1ldGVycy5sZW5ndGg7ICsraSkgewotICAgICAg
ICAgICAgbGV0IHBhcmFtZXRlcklzVHlwZSA9IHR5cGUudHlwZVBhcmFtZXRlcnNbaV0gaW5zdGFu
Y2VvZiBUeXBlVmFyaWFibGU7Ci0gICAgICAgICAgICBsZXQgYXJndW1lbnRJc1R5cGUgPSBub2Rl
LnR5cGVBcmd1bWVudHNbaV0gaW5zdGFuY2VvZiBUeXBlOwotICAgICAgICAgICAgbm9kZS50eXBl
QXJndW1lbnRzW2ldLnZpc2l0KHRoaXMpOwotICAgICAgICAgICAgaWYgKHBhcmFtZXRlcklzVHlw
ZSAmJiAhYXJndW1lbnRJc1R5cGUpCi0gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFdUeXBlRXJy
b3Iobm9kZS5vcmlnaW4ub3JpZ2luU3RyaW5nLCAiRXhwZWN0ZWQgdHlwZSwgYnV0IGdvdCB2YWx1
ZSBhdCBhcmd1bWVudCAjIiArIGkpOwotICAgICAgICAgICAgaWYgKCFwYXJhbWV0ZXJJc1R5cGUg
JiYgYXJndW1lbnRJc1R5cGUpCi0gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFdUeXBlRXJyb3Io
bm9kZS5vcmlnaW4ub3JpZ2luU3RyaW5nLCAiRXhwZWN0ZWQgdmFsdWUsIGJ1dCBnb3QgdHlwZSBh
dCBhcmd1bWVudCAjIiArIGkpOwotICAgICAgICB9CisgICAgICAgIGZvcihsZXQgdHlwZUFyZ3Vt
ZW50IG9mIG5vZGUudHlwZUFyZ3VtZW50cykKKyAgICAgICAgICAgIHR5cGVBcmd1bWVudC52aXNp
dCh0aGlzKTsKICAgICB9CiAgICAgCiAgICAgdmlzaXRSZWZlcmVuY2VUeXBlKG5vZGUpCkBAIC0y
NzksOCArMjU2LDYgQEAgY2xhc3MgTmFtZVJlc29sdmVyIGV4dGVuZHMgVmlzaXRvciB7CiAgICAg
CiAgICAgdmlzaXRDYWxsRXhwcmVzc2lvbihub2RlKQogICAgIHsKLSAgICAgICAgdGhpcy5fcmVz
b2x2ZVR5cGVBcmd1bWVudHMobm9kZS50eXBlQXJndW1lbnRzKTsKLSAgICAgICAgCiAgICAgICAg
IGxldCBmdW5jcyA9IHRoaXMuX25hbWVDb250ZXh0LmdldChGdW5jLCBub2RlLm5hbWUpOwogICAg
ICAgICBpZiAoZnVuY3MpCiAgICAgICAgICAgICBub2RlLnBvc3NpYmxlT3ZlcmxvYWRzID0gZnVu
Y3M7CkBAIC0yOTYsNSArMjcxLDExIEBAIGNsYXNzIE5hbWVSZXNvbHZlciBleHRlbmRzIFZpc2l0
b3IgewogICAgICAgICAKICAgICAgICAgc3VwZXIudmlzaXRDYWxsRXhwcmVzc2lvbihub2RlKTsK
ICAgICB9Ci19CiAKKyAgICB2aXNpdFZlY3RvclR5cGUobm9kZSkKKyAgICB7CisgICAgICAgIGZv
ciAobGV0IGFyZyBvZiBub2RlLnR5cGVBcmd1bWVudHMpCisgICAgICAgICAgICBhcmcudmlzaXQo
dGhpcyk7CisgICAgfQorfQorIApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL05hdGl2ZUZ1bmMuanMgYi9Ub29scy9X
ZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9OYXRpdmVGdW5jLmpzCmluZGV4IGE1NTMzNTJkOWFlZTYw
YmNhNjJhZDZlMTIzMjg4Yjg5MDUxODI0ODcuLmRjMGZmNzgxYjY5MmUxODQ2Mjc4NjQ4NTBlZjY4
ZGQzNWI5YThmMDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL05h
dGl2ZUZ1bmMuanMKKysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvTmF0aXZlRnVu
Yy5qcwpAQCAtMjUsMTMgKzI1LDEyIEBACiAidXNlIHN0cmljdCI7CiAKIGNsYXNzIE5hdGl2ZUZ1
bmMgZXh0ZW5kcyBGdW5jIHsKLSAgICBjb25zdHJ1Y3RvcihvcmlnaW4sIG5hbWUsIHJldHVyblR5
cGUsIHR5cGVQYXJhbWV0ZXJzLCBwYXJhbWV0ZXJzLCBpc0Nhc3QsIHNoYWRlclR5cGUpCisgICAg
Y29uc3RydWN0b3Iob3JpZ2luLCBuYW1lLCByZXR1cm5UeXBlLCBwYXJhbWV0ZXJzLCBpc0Nhc3Qs
IHNoYWRlclR5cGUpCiAgICAgewotICAgICAgICBzdXBlcihvcmlnaW4sIG5hbWUsIHJldHVyblR5
cGUsIHR5cGVQYXJhbWV0ZXJzLCBwYXJhbWV0ZXJzLCBpc0Nhc3QsIHNoYWRlclR5cGUpOworICAg
ICAgICBzdXBlcihvcmlnaW4sIG5hbWUsIHJldHVyblR5cGUsIHBhcmFtZXRlcnMsIGlzQ2FzdCwg
c2hhZGVyVHlwZSk7CiAgICAgICAgIHRoaXMuaXNSZXN0cmljdGVkID0gZmFsc2U7CiAgICAgICAg
IHRoaXMuaW1wbGVtZW50YXRpb24gPSBudWxsOwogICAgICAgICB0aGlzLl9pbXBsZW1lbnRhdGlv
bkRhdGEgPSBudWxsOwotICAgICAgICB0aGlzLmluc3RhbnRpYXRlSW1wbGVtZW50YXRpb24gPSAo
c3Vic3RpdHV0aW9uKSA9PiB7fTsKICAgICAgICAgdGhpcy52aXNpdEltcGxlbWVudGF0aW9uRGF0
YSA9IChpbXBsZW1lbnRhdGlvbkRhdGEsIHZpc2l0b3IpID0+IG51bGw7CiAgICAgICAgIHRoaXMu
ZGlkTGF5b3V0U3RydWN0c0luSW1wbGVtZW50YXRpb25EYXRhID0gaW1wbGVtZW50YXRpb25EYXRh
ID0+IG51bGw7CiAgICAgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdl
UkkvTmF0aXZlRnVuY0luc3RhbmNlLmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkv
TmF0aXZlRnVuY0luc3RhbmNlLmpzCmluZGV4IGM5OWI3ODI2MzUzNWE3MGQ5MzA5NjI2ZDU4NTAz
NTkwMDEwNWQ0MTEuLmJiNDdjODJhMTVhZGQxODdhYzIzNmEwNzllNTMxY2E1YzRmNjJkMzIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL05hdGl2ZUZ1bmNJbnN0YW5j
ZS5qcworKysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9OYXRpdmVGdW5jSW5zdGFu
Y2UuanMKQEAgLTI3LDcgKzI3LDcgQEAKIGNsYXNzIE5hdGl2ZUZ1bmNJbnN0YW5jZSBleHRlbmRz
IEZ1bmMgewogICAgIGNvbnN0cnVjdG9yKGZ1bmMsIHJldHVyblR5cGUsIHBhcmFtZXRlcnMsIGlz
Q2FzdCwgc2hhZGVyVHlwZSwgaW1wbGVtZW50YXRpb25EYXRhKQogICAgIHsKLSAgICAgICAgc3Vw
ZXIoZnVuYy5vcmlnaW4sIGZ1bmMubmFtZSwgcmV0dXJuVHlwZSwgW10sIHBhcmFtZXRlcnMsIGlz
Q2FzdCwgc2hhZGVyVHlwZSk7CisgICAgICAgIHN1cGVyKGZ1bmMub3JpZ2luLCBmdW5jLm5hbWUs
IHJldHVyblR5cGUsIHBhcmFtZXRlcnMsIGlzQ2FzdCwgc2hhZGVyVHlwZSk7CiAgICAgICAgIHRo
aXMuX2Z1bmMgPSBmdW5jOwogICAgICAgICB0aGlzLl9pbXBsZW1lbnRhdGlvbkRhdGEgPSBpbXBs
ZW1lbnRhdGlvbkRhdGE7CiAgICAgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xh
bmd1YWdlUkkvTmF0aXZlUGFyYW1ldGVyaXplZFR5cGUuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5n
TGFuZ3VhZ2VSSS9OYXRpdmVQYXJhbWV0ZXJpemVkVHlwZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYzFkNGEw
MmY0YzEyMDJmNTBlYWZhODUyNTBhNjgwZDEzMTQzMGExCi0tLSAvZGV2L251bGwKKysrIGIvVG9v
bHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvTmF0aXZlUGFyYW1ldGVyaXplZFR5cGUuanMKQEAg
LTAsMCArMSw3OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworInVzZSBzdHJpY3QiOworCitjbGFzcyBOYXRpdmVQYXJhbWV0ZXJpemVkVHlwZSBleHRlbmRz
IE5hdGl2ZVR5cGUgeworICAgIGNvbnN0cnVjdG9yKG9yaWdpbiwgbmFtZSwgdHlwZUFyZ3VtZW50
cykKKyAgICB7CisgICAgICAgIGlmICghKHR5cGVBcmd1bWVudHMgaW5zdGFuY2VvZiBBcnJheSkp
CisgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoInR5cGUgYXJndW1lbnRzIG5vdCBhcnJheTog
IiArIHR5cGVBcmd1bWVudHMpOworICAgICAgICBzdXBlcihvcmlnaW4sIG5hbWUpOworCisgICAg
ICAgIHRoaXMuX3R5cGVBcmd1bWVudHMgPSB0eXBlQXJndW1lbnRzOworICAgIH0KKworICAgIGdl
dCBpc1ByaW1pdGl2ZSgpIHsgcmV0dXJuIHRydWU7IH0KKworICAgIHN0YXRpYyBmcm9tTmFtZUFu
ZFR5cGVBcmd1bWVudHMob3JpZ2luLCBuYW1lLCB0eXBlQXJndW1lbnRzKQorICAgIHsKKyAgICAg
ICAgc3dpdGNoIChuYW1lKSB7CisgICAgICAgIGNhc2UgInZlY3RvciI6CisgICAgICAgICAgICBy
ZXR1cm4gbmV3IFZlY3RvclR5cGUob3JpZ2luLCBuYW1lLCB0eXBlQXJndW1lbnRzKTsKKyAgICAg
ICAgY2FzZSAibWF0cml4IjoKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiVE9ETzogSW1w
bGVtZW50IE5hdGl2ZVBhcmFtZXRlcml6ZWRUeXBlLmZyb21OYW1lQW5kVHlwZUFyZ3VtZW50cyBj
YXNlIFwibWF0cml4XCIiKTsKKyAgICAgICAgY2FzZSAic2FtcGxlciI6CisgICAgICAgIGNhc2Ug
IlRleHR1cmUxRCI6CisgICAgICAgIGNhc2UgIlJXVGV4dHVyZTFEIjoKKyAgICAgICAgY2FzZSAi
VGV4dHVyZTFEQXJyYXkiOgorICAgICAgICBjYXNlICJSV1RleHR1cmUxREFycmF5IjoKKyAgICAg
ICAgY2FzZSAiVGV4dHVyZTJEIjoKKyAgICAgICAgY2FzZSAiUldUZXh0dXJlMkQiOgorICAgICAg
ICBjYXNlICJUZXh0dXJlMkRBcnJheSI6CisgICAgICAgIGNhc2UgIlJXVGV4dHVyZTJEQXJyYXki
OgorICAgICAgICBjYXNlICJUZXh0dXJlM0QiOgorICAgICAgICBjYXNlICJSV1RleHR1cmUzRCI6
CisgICAgICAgIGNhc2UgIlRleHR1cmVDdWJlIjoKKyAgICAgICAgY2FzZSAiVGV4dHVyZURlcHRo
MkQiOgorICAgICAgICBjYXNlICJSV1RleHR1cmVEZXB0aDJEIjoKKyAgICAgICAgY2FzZSAiVGV4
dHVyZURlcHRoMkRBcnJheSI6CisgICAgICAgIGNhc2UgIlJXVGV4dHVyZURlcHRoMkRBcnJheSI6
CisgICAgICAgIGNhc2UgIlRleHR1cmVEZXB0aEN1YmUiOgorICAgICAgICAgICAgLy8gRklYTUU6
IFZlcmlmeSB0aGUgdHlwZSBhcmd1bWVudAorICAgICAgICAgICAgcmV0dXJuIG5ldyBOYXRpdmVQ
YXJhbWV0ZXJpemVkVHlwZShvcmlnaW4sIG5hbWUsIHR5cGVBcmd1bWVudHMpOworICAgICAgICBk
ZWZhdWx0OgorICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnJlY29nbml6ZWQgbmF0aXZl
IHR5cGUgJHtuYW1lfWApOworICAgICAgICB9CisgICAgfQorCisgICAgZ2V0IGtpbmQoKSB7IHJl
dHVybiBOYXRpdmVQYXJhbWV0ZXJpemVkVHlwZTsgfQorICAgIAorICAgIGdldCB0eXBlQXJndW1l
bnRzKCkgeyByZXR1cm4gdGhpcy5fdHlwZUFyZ3VtZW50czsgfQorICAgIAorICAgIHRvU3RyaW5n
KCkKKyAgICB7CisgICAgICAgIHJldHVybiBgbmF0aXZlIHR5cGVkZWYgJHt0aGlzLm5hbWV9PCR7
dGhpcy50eXBlQXJndW1lbnRzLmpvaW4oIiwgIil9PmA7CisgICAgfQorfQorCmRpZmYgLS1naXQg
YS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9OYXRpdmVUeXBlLmpzIGIvVG9vbHMvV2Vi
R1BVU2hhZGluZ0xhbmd1YWdlUkkvTmF0aXZlVHlwZS5qcwppbmRleCBiOGIxYTQ3MzMwYjVmZDUx
ZmYwMjFhZjA2NTg2ODQ0YzJhY2JhOGVhLi4wYjk0MDA0MjQzZTdjYTM0MmFhNTllYWFjMDc0ZTU3
Y2RjYWYxNjM2IDEwMDY0NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9OYXRp
dmVUeXBlLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL05hdGl2ZVR5cGUu
anMKQEAgLTI1LDE0ICsyNSwxMSBAQAogInVzZSBzdHJpY3QiOwogCiBjbGFzcyBOYXRpdmVUeXBl
IGV4dGVuZHMgVHlwZSB7Ci0gICAgY29uc3RydWN0b3Iob3JpZ2luLCBuYW1lLCB0eXBlUGFyYW1l
dGVycykKKyAgICBjb25zdHJ1Y3RvcihvcmlnaW4sIG5hbWUpCiAgICAgewotICAgICAgICBpZiAo
ISh0eXBlUGFyYW1ldGVycyBpbnN0YW5jZW9mIEFycmF5KSkKLSAgICAgICAgICAgIHRocm93IG5l
dyBFcnJvcigidHlwZSBwYXJhbWV0ZXJzIG5vdCBhcnJheTogIiArIHR5cGVQYXJhbWV0ZXJzKTsK
ICAgICAgICAgc3VwZXIoKTsKICAgICAgICAgdGhpcy5fb3JpZ2luID0gb3JpZ2luOwogICAgICAg
ICB0aGlzLl9uYW1lID0gbmFtZTsKLSAgICAgICAgdGhpcy5fdHlwZVBhcmFtZXRlcnMgPSB0eXBl
UGFyYW1ldGVyczsKICAgICAgICAgdGhpcy5faXNOdW1iZXIgPSBmYWxzZTsKICAgICAgICAgdGhp
cy5faXNJbnQgPSBmYWxzZTsKICAgICAgICAgdGhpcy5faXNGbG9hdGluZyA9IGZhbHNlOwpAQCAt
NDAsOCArMzcsOCBAQCBjbGFzcyBOYXRpdmVUeXBlIGV4dGVuZHMgVHlwZSB7CiAgICAgfQogICAg
IAogICAgIGdldCBvcmlnaW4oKSB7IHJldHVybiB0aGlzLl9vcmlnaW47IH0KKyAgICBnZXQgYmFz
ZU5hbWUoKSB7IHJldHVybiB0aGlzLl9uYW1lOyB9CiAgICAgZ2V0IG5hbWUoKSB7IHJldHVybiB0
aGlzLl9uYW1lOyB9Ci0gICAgZ2V0IHR5cGVQYXJhbWV0ZXJzKCkgeyByZXR1cm4gdGhpcy5fdHlw
ZVBhcmFtZXRlcnM7IH0KICAgICBnZXQgaXNOYXRpdmUoKSB7IHJldHVybiB0cnVlOyB9CiAgICAg
CiAgICAgLy8gV2UgbGV0IEludHJpbnNpY3MuanMgc2V0IHRoZXNlIGFzIGl0IGxpa2VzLgpAQCAt
NTQsMTggKzUxLDkgQEAgY2xhc3MgTmF0aXZlVHlwZSBleHRlbmRzIFR5cGUgewogICAgIGdldCBp
c1ByaW1pdGl2ZSgpIHsgcmV0dXJuIHRoaXMuX2lzUHJpbWl0aXZlOyB9CiAgICAgc2V0IGlzUHJp
bWl0aXZlKHZhbHVlKSB7IHRoaXMuX2lzUHJpbWl0aXZlID0gdmFsdWU7IH0KICAgICAKLSAgICBp
bnN0YW50aWF0ZSh0eXBlQXJndW1lbnRzKQotICAgIHsKLSAgICAgICAgaWYgKHR5cGVBcmd1bWVu
dHMubGVuZ3RoICE9IHRoaXMudHlwZVBhcmFtZXRlcnMubGVuZ3RoKQotICAgICAgICAgICAgdGhy
b3cgbmV3IEVycm9yKCJXcm9uZyBudW1iZXIgb2YgdHlwZSBhcmd1bWVudHMgdG8gaW5zdGFudGlh
dGlvbiIpOwotICAgICAgICBpZiAoIXR5cGVBcmd1bWVudHMubGVuZ3RoKQotICAgICAgICAgICAg
cmV0dXJuIHRoaXM7Ci0gICAgICAgIHJldHVybiBuZXcgTmF0aXZlVHlwZUluc3RhbmNlKHRoaXMs
IHR5cGVBcmd1bWVudHMpOwotICAgIH0KLSAgICAKICAgICB0b1N0cmluZygpCiAgICAgewotICAg
ICAgICByZXR1cm4gIm5hdGl2ZSB0eXBlZGVmICIgKyB0aGlzLm5hbWUgKyAiPCIgKyB0aGlzLnR5
cGVQYXJhbWV0ZXJzICsgIj4iOworICAgICAgICByZXR1cm4gIm5hdGl2ZSB0eXBlZGVmICIgKyB0
aGlzLm5hbWU7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFu
Z3VhZ2VSSS9OYXRpdmVUeXBlSW5zdGFuY2UuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3Vh
Z2VSSS9OYXRpdmVUeXBlSW5zdGFuY2UuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGNhMzllNzc3ODcwMDQ5ZWQyMmQ3MDQxYTUyMDE0Y2M4ZTY5Y2JjNGYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1
YWdlUkkvTmF0aXZlVHlwZUluc3RhbmNlLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNTggKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
LSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBzdHJp
Y3QiOwotCi1jbGFzcyBOYXRpdmVUeXBlSW5zdGFuY2UgZXh0ZW5kcyBUeXBlIHsKLSAgICBjb25z
dHJ1Y3Rvcih0eXBlLCB0eXBlQXJndW1lbnRzKQotICAgIHsKLSAgICAgICAgc3VwZXIoKTsKLSAg
ICAgICAgdGhpcy5fdHlwZSA9IHR5cGU7Ci0gICAgICAgIHRoaXMuX3R5cGVBcmd1bWVudHMgPSB0
eXBlQXJndW1lbnRzOwotICAgIH0KLSAgICAKLSAgICBnZXQgdHlwZSgpIHsgcmV0dXJuIHRoaXMu
X3R5cGU7IH0KLSAgICBnZXQgdHlwZUFyZ3VtZW50cygpIHsgcmV0dXJuIHRoaXMuX3R5cGVBcmd1
bWVudHM7IH0KLSAgICBnZXQgaXNQcmltaXRpdmUoKSB7IHJldHVybiB0aGlzLl90eXBlLmlzUHJp
bWl0aXZlOyB9Ci0gICAgZ2V0IGlzTmF0aXZlKCkgeyByZXR1cm4gdHJ1ZTsgfQotICAgIAotICAg
IHVuaWZ5SW1wbCh1bmlmaWNhdGlvbkNvbnRleHQsIG90aGVyKQotICAgIHsKLSAgICAgICAgaWYg
KHRoaXMudHlwZSAhPSBvdGhlci50eXBlKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
ICAgICBpZiAodGhpcy50eXBlQXJndW1lbnRzLmxlbmd0aCAhPSBvdGhlci50eXBlQXJndW1lbnRz
Lmxlbmd0aCkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgZm9yIChsZXQgaSA9
IDA7IGkgPCB0aGlzLnR5cGVBcmd1bWVudHMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIGlm
ICghdGhpcy50eXBlQXJndW1lbnRzW2ldLnVuaWZ5KHVuaWZpY2F0aW9uQ29udGV4dCwgb3RoZXIu
dHlwZUFyZ3VtZW50c1tpXSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAg
ICB9Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICAKLSAgICB0b1N0cmluZygpCi0g
ICAgewotICAgICAgICByZXR1cm4gdGhpcy50eXBlICsgIjwiICsgdGhpcy50eXBlQXJndW1lbnRz
ICsgIj4iOwotICAgIH0KLX0KLQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1
YWdlUkkvTm9kZS5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL05vZGUuanMKaW5k
ZXggODgxMDMwMTMwNzczZTcwZWE4OGUwYWI1OTc5NzRjZjU2MWY5ZDVlNC4uZWZlNGExYTQ4MmI0
NzIxZjJmYjNmZTU4Nzc2ZGFkYTZhZjc3ZDljMiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hh
ZGluZ0xhbmd1YWdlUkkvTm9kZS5qcworKysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VS
SS9Ob2RlLmpzCkBAIC04OCw5ICs4OCw5IEBAIGNsYXNzIE5vZGUgewogICAgIGdldCBpc0xpdGVy
YWwoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIAogICAgIGdldCBpc05hdGl2ZSgpIHsgcmV0dXJu
IGZhbHNlOyB9Ci0gICAgCisKICAgICBjb252ZXJzaW9uQ29zdCh1bmlmaWNhdGlvbkNvbnRleHQp
IHsgcmV0dXJuIDA7IH0KLSAgICAKKwogICAgIGVxdWFscyhvdGhlcikKICAgICB7CiAgICAgICAg
IGxldCB1bmlmaWNhdGlvbkNvbnRleHQgPSBuZXcgVW5pZmljYXRpb25Db250ZXh0KCk7CkBAIC0x
MjMsMTEgKzEyMyw0IEBAIGNsYXNzIE5vZGUgewogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMu
dmlzaXQobmV3IFN1YnN0aXR1dGlvbihwYXJhbWV0ZXJzLCBhcmd1bWVudExpc3QpKTsKICAgICB9
Ci0gICAgCi0gICAgc3Vic3RpdHV0ZVRvVW5pZmljYXRpb24ocGFyYW1ldGVycywgdW5pZmljYXRp
b25Db250ZXh0KQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuc3Vic3RpdHV0ZSgKLSAgICAg
ICAgICAgIHBhcmFtZXRlcnMsCi0gICAgICAgICAgICBwYXJhbWV0ZXJzLm1hcCh0eXBlID0+IHVu
aWZpY2F0aW9uQ29udGV4dC5maW5kKHR5cGUpKSk7Ci0gICAgfQogfQpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvTm9ybWFsVXNlUHJvcGVydHlSZXNvbHZlci5qcyBi
L1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL05vcm1hbFVzZVByb3BlcnR5UmVzb2x2ZXIu
anMKaW5kZXggZGY0NWQ3ZTRlYjExNDliZWYzMTU4Mjk2MTUxNWY3Zjk2ZjRlMDExNS4uOWFmMTll
ZTBlN2UyZmE0YzU2YTQwZDBiYmI1OWNkN2E4YzhhZmVhMSAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
R1BVU2hhZGluZ0xhbmd1YWdlUkkvTm9ybWFsVXNlUHJvcGVydHlSZXNvbHZlci5qcworKysgYi9U
b29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9Ob3JtYWxVc2VQcm9wZXJ0eVJlc29sdmVyLmpz
CkBAIC0zNCw1ICszNCwxMiBAQCBjbGFzcyBOb3JtYWxVc2VQcm9wZXJ0eVJlc29sdmVyIGV4dGVu
ZHMgUmV3cml0ZXIgewogICAgIHsKICAgICAgICAgcmV0dXJuIHN1cGVyLnZpc2l0SW5kZXhFeHBy
ZXNzaW9uKG5vZGUpLnJld3JpdGVBZnRlckNsb25pbmcoKTsKICAgICB9CisKKyAgICB2aXNpdFRl
cm5hcnlFeHByZXNzaW9uKG5vZGUpCisgICAgeworICAgICAgICBsZXQgcmVzdWx0ID0gc3VwZXIu
dmlzaXRUZXJuYXJ5RXhwcmVzc2lvbihub2RlKTsKKyAgICAgICAgcmVzdWx0LmlzTFZhbHVlID0g
bm9kZS5pc0xWYWx1ZTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CiB9CiAKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL09wZXJhdG9yQW5kZXJJbmRleC5q
cyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL09wZXJhdG9yQW5kZXJJbmRleC5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hZjRkZWMwNzlmNzJmNGQxYmQ0N2Y3MzM5Y2JkNGExZDM1MzRiNDIzCi0tLSAv
ZGV2L251bGwKKysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvT3BlcmF0b3JBbmRl
ckluZGV4LmpzCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworInVzZSBzdHJpY3QiOworCitjbGFzcyBPcGVyYXRvckFuZGVySW5kZXhl
ciB7CisgICAgY29uc3RydWN0b3IoYmFzZVR5cGVOYW1lLCBhZGRyZXNzU3BhY2UpCisgICAgewor
ICAgICAgICB0aGlzLl9iYXNlVHlwZU5hbWUgPSBiYXNlVHlwZU5hbWU7CisgICAgICAgIHRoaXMu
X2FkZHJlc3NTcGFjZSA9IGFkZHJlc3NTcGFjZTsKKyAgICB9CisKKyAgICBnZXQgYWRkcmVzc1Nw
YWNlKCkgeyByZXR1cm4gdGhpcy5fYWRkcmVzc1NwYWNlOyB9CisgICAgZ2V0IGJhc2VUeXBlTmFt
ZSgpIHsgcmV0dXJuIHRoaXMuX2Jhc2VUeXBlTmFtZTsgfQorCisgICAgdG9TdHJpbmcoKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGBuYXRpdmUgJHt0aGlzLmJhc2VUeXBlTmFtZX0qICR7dGhpcy5h
ZGRyZXNzU3BhY2V9IG9wZXJhdG9yJltdKCR7dGhpcy5iYXNlVHlwZU5hbWV9W10gJHt0aGlzLmFk
ZHJlc3NTcGFjZX0sdWludClgOworICAgIH0KKworICAgIHN0YXRpYyBmdW5jdGlvbnMoKQorICAg
IHsKKyAgICAgICAgaWYgKCF0aGlzLl9mdW5jdGlvbnMpIHsKKyAgICAgICAgICAgIHRoaXMuX2Z1
bmN0aW9ucyA9IFtdOworCisgICAgICAgICAgICBjb25zdCB0eXBlTmFtZXMgPSBbICJ1aW50Iiwg
ImludCIsICJmbG9hdCIsICJib29sIiBdLmNvbmNhdChhbGxWZWN0b3JUeXBlTmFtZXMoKSk7Cisg
ICAgICAgICAgICBjb25zdCBhZGRyZXNzU3BhY2VzID0gWyAidGhyZWFkIiwgInRocmVhZGdyb3Vw
IiwgImRldmljZSIsICJjb25zdGFudCIgXTsKKworICAgICAgICAgICAgZm9yIChsZXQgYWRkcmVz
c1NwYWNlIG9mIGFkZHJlc3NTcGFjZXMpIHsKKyAgICAgICAgICAgICAgICBmb3IgKGxldCB0eXBl
TmFtZSBvZiB0eXBlTmFtZXMpCisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2Z1bmN0aW9ucy5w
dXNoKG5ldyBPcGVyYXRvckFuZGVySW5kZXhlcih0eXBlTmFtZSwgYWRkcmVzc1NwYWNlKSk7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHRoaXMuX2Z1bmN0aW9uczsK
KyAgICB9CisKKyAgICBpbnN0YW50aWF0ZUltcGxlbWVudGF0aW9uKGZ1bmMpCisgICAgeworICAg
ICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFtyZWYsIGluZGV4XSwgbm9kZSkgPT4geworICAg
ICAgICAgICAgcmVmID0gcmVmLmxvYWRWYWx1ZSgpOworICAgICAgICAgICAgaWYgKCFyZWYpCisg
ICAgICAgICAgICAgICAgdGhyb3cgbmV3IFdUcmFwRXJyb3Iobm9kZS5vcmlnaW4ub3JpZ2luU3Ry
aW5nLCAiTnVsbCBkZXJlZmVyZW5jZSIpOworICAgICAgICAgICAgaW5kZXggPSBpbmRleC5sb2Fk
VmFsdWUoKTsKKyAgICAgICAgICAgIGlmIChpbmRleCA+IHJlZi5sZW5ndGgpCisgICAgICAgICAg
ICAgICAgdGhyb3cgbmV3IFdUcmFwRXJyb3Iobm9kZS5vcmlnaW4ub3JpZ2luU3RyaW5nLCAiQXJy
YXkgaW5kZXggIiArIGluZGV4ICsgIiBpcyBvdXQgb2YgYm91bmRzIG9mICIgKyByZWYpOworICAg
ICAgICAgICAgcmV0dXJuIEVQdHIuYm94KHJlZi5wdHIucGx1cyhpbmRleCAqIG5vZGUuYXJndW1l
bnRUeXBlc1swXS5lbGVtZW50VHlwZS5zaXplKSk7CisgICAgICAgIH07CisgICAgICAgIGZ1bmMu
aW1wbGVtZW50YXRpb25EYXRhID0gdGhpczsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvT3BlcmF0
b3JBcnJheVJlZkxlbmd0aC5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL09wZXJh
dG9yQXJyYXlSZWZMZW5ndGguanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzM1MGQxMGFhYzZiMGM1ZmYwMDczNmIy
ZWExODAxMzQ4MWZiYWE3MwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdM
YW5ndWFnZVJJL09wZXJhdG9yQXJyYXlSZWZMZW5ndGguanMKQEAgLTAsMCArMSw1MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisidXNlIHN0cmljdCI7CisK
K2NsYXNzIE9wZXJhdG9yQXJyYXlSZWZMZW5ndGggeworICAgIGNvbnN0cnVjdG9yKGJhc2VUeXBl
TmFtZSwgYWRkcmVzc1NwYWNlKQorICAgIHsKKyAgICAgICAgdGhpcy5fYmFzZVR5cGVOYW1lID0g
YmFzZVR5cGVOYW1lOworICAgICAgICB0aGlzLl9hZGRyZXNzU3BhY2UgPSBhZGRyZXNzU3BhY2U7
CisgICAgfQorCisgICAgZ2V0IGFkZHJlc3NTcGFjZSgpIHsgcmV0dXJuIHRoaXMuX2FkZHJlc3NT
cGFjZTsgfQorICAgIGdldCBiYXNlVHlwZU5hbWUoKSB7IHJldHVybiB0aGlzLl9iYXNlVHlwZU5h
bWU7IH0KKworICAgIHRvU3RyaW5nKCkKKyAgICB7CisgICAgICAgIHJldHVybiBgbmF0aXZlIHVp
bnQzMiAke3RoaXMuYWRkcmVzc1NwYWNlfSBvcGVyYXRvci5sZW5ndGgoJHt0aGlzLmJhc2VUeXBl
TmFtZX1bXSAke3RoaXMuYWRkcmVzc1NwYWNlfSlgOworICAgIH0KKworICAgIGluc3RhbnRpYXRl
SW1wbGVtZW50YXRpb24oZnVuYykKKyAgICB7CisgICAgICAgIGZ1bmMuaW1wbGVtZW50YXRpb24g
PSAoW3JlZl0sIG5vZGUpID0+IHsKKyAgICAgICAgICAgIHJlZiA9IHJlZi5sb2FkVmFsdWUoKTsK
KyAgICAgICAgICAgIGlmICghcmVmKQorICAgICAgICAgICAgICAgIHJldHVybiBFUHRyLmJveCgw
KTsKKyAgICAgICAgICAgIHJldHVybiBFUHRyLmJveChyZWYubGVuZ3RoKTsKKyAgICAgICAgfTsK
KyAgICAgICAgZnVuYy5pbXBsZW1lbnRhdGlvbkRhdGEgPSB0aGlzOworICAgIH0KK30KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFu
Z3VhZ2VSSS9PcGVyYXRvckJvb2wuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9P
cGVyYXRvckJvb2wuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWQ0ODgzNTEyOTM0OTNiMzMyMmE3OTQ0YzA4ZWI5
Nzc3ZDg2YTU0MAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFn
ZVJJL09wZXJhdG9yQm9vbC5qcwpAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKyJ1c2Ugc3RyaWN0IjsKKworY2xhc3MgT3BlcmF0b3JC
b29sIHsKKyAgICBjb25zdHJ1Y3RvcihiYXNlVHlwZU5hbWUpCisgICAgeworICAgICAgICB0aGlz
Ll9iYXNlVHlwZU5hbWUgPSBiYXNlVHlwZU5hbWU7CisgICAgfQorCisgICAgZ2V0IGJhc2VUeXBl
TmFtZSgpIHsgcmV0dXJuIHRoaXMuX2Jhc2VUeXBlTmFtZTsgfQorCisgICAgdG9TdHJpbmcoKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIGBuYXRpdmUgb3BlcmF0b3IgYm9vbCgke3RoaXMuYmFzZVR5
cGVOYW1lfSlgOworICAgIH0KKworICAgIHN0YXRpYyBmdW5jdGlvbnMoKQorICAgIHsKKyAgICAg
ICAgaWYgKCFPcGVyYXRvckJvb2wuX2Z1bmN0aW9ucykgeworICAgICAgICAgICAgT3BlcmF0b3JC
b29sLl9mdW5jdGlvbnMgPSBbXTsKKworICAgICAgICAgICAgLy8gYm9vbCBpcyBub3QgaW5jbHVk
ZWQgYmVjYXVzZSB0aGlzIGlzIGdlbmVyYXRlZCBieSB0aGUgY29weSBjb25zdHJ1Y3Rvci4KKyAg
ICAgICAgICAgIGNvbnN0IHR5cGVOYW1lcyA9IFsgInVpbnQ4IiwgInVpbnQiLCAiaW50IiwgImZs
b2F0IiBdLmNvbmNhdChhbGxWZWN0b3JUeXBlTmFtZXMoKSk7CisKKyAgICAgICAgICAgIGZvciAo
bGV0IHR5cGVOYW1lIG9mIHR5cGVOYW1lcykKKyAgICAgICAgICAgICAgICBPcGVyYXRvckJvb2wu
X2Z1bmN0aW9ucy5wdXNoKG5ldyBPcGVyYXRvckJvb2wodHlwZU5hbWUpKTsKKyAgICAgICAgfQor
ICAgICAgICByZXR1cm4gT3BlcmF0b3JCb29sLl9mdW5jdGlvbnM7CisgICAgfQorCisgICAgaW5z
dGFudGlhdGVJbXBsZW1lbnRhdGlvbihmdW5jKQorICAgIHsKKyAgICAgICAgZnVuYy5pbXBsZW1l
bnRhdGlvbiA9IChbcmVmXSwgbm9kZSkgPT4geworICAgICAgICAgICAgY29uc3Qgc2l6ZSA9IG5v
ZGUuYXJndW1lbnRUeXBlc1swXS5zaXplOworICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCBzaXplOyArK2kpIHsKKyAgICAgICAgICAgICAgICBpZiAoISFyZWYuZ2V0KGkpKQorICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gRVB0ci5ib3godHJ1ZSk7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICByZXR1cm4gRVB0ci5ib3goZmFsc2UpOworICAgICAgICB9CisgICAgICAgIGZ1bmMu
aW1wbGVtZW50YXRpb25EYXRhID0gdGhpczsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvUGFyc2Uu
anMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9QYXJzZS5qcwppbmRleCA2ZDJiNDMx
NjE1NjAxYWI5ZGQzZDA5MzhmYmZiMzg1ZWUyYTRkYWYxLi4zY2RmYTZiYzNlNWM2NmM3ZDBmNTgx
ZjU3MjlmNWU0MTEyYTVlZjEyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3Vh
Z2VSSS9QYXJzZS5qcworKysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9QYXJzZS5q
cwpAQCAtMjQsNiArMjQsOCBAQAogICovCiAidXNlIHN0cmljdCI7CiAKK3ZhciBhc2RmID0gMDsK
KwogZnVuY3Rpb24gcGFyc2UocHJvZ3JhbSwgb3JpZ2luLCBvcmlnaW5LaW5kLCBsaW5lTnVtYmVy
T2Zmc2V0LCB0ZXh0KQogewogICAgIGxldCBsZXhlciA9IG5ldyBMZXhlcihvcmlnaW4sIG9yaWdp
bktpbmQsIGxpbmVOdW1iZXJPZmZzZXQsIHRleHQpOwpAQCAtMTIxLDEyICsxMjMsNiBAQCBmdW5j
dGlvbiBwYXJzZShwcm9ncmFtLCBvcmlnaW4sIG9yaWdpbktpbmQsIGxpbmVOdW1iZXJPZmZzZXQs
IHRleHQpCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogICAgIAotICAgIGZ1bmN0aW9u
IHBhcnNlUHJvdG9jb2xSZWYoKQotICAgIHsKLSAgICAgICAgbGV0IHByb3RvY29sVG9rZW4gPSBj
b25zdW1lS2luZCgiaWRlbnRpZmllciIpOwotICAgICAgICByZXR1cm4gbmV3IFByb3RvY29sUmVm
KHByb3RvY29sVG9rZW4sIHByb3RvY29sVG9rZW4udGV4dCk7Ci0gICAgfQotICAgIAogICAgIGZ1
bmN0aW9uIGNvbnN1bWVFbmRPZlR5cGVBcmdzKCkKICAgICB7CiAgICAgICAgIGxldCByaWdodFNo
aWZ0ID0gdHJ5Q29uc3VtZSgiPj4iKTsKQEAgLTEzNiwzNCArMTMyLDYgQEAgZnVuY3Rpb24gcGFy
c2UocHJvZ3JhbSwgb3JpZ2luLCBvcmlnaW5LaW5kLCBsaW5lTnVtYmVyT2Zmc2V0LCB0ZXh0KQog
ICAgICAgICAgICAgY29uc3VtZSgiPiIpOwogICAgIH0KICAgICAKLSAgICBmdW5jdGlvbiBwYXJz
ZVR5cGVQYXJhbWV0ZXJzKCkKLSAgICB7Ci0gICAgICAgIGlmICghdGVzdCgiPCIpKQotICAgICAg
ICAgICAgcmV0dXJuIFtdOwotICAgICAgICAKLSAgICAgICAgbGV0IHJlc3VsdCA9IFtdOwotICAg
ICAgICBjb25zdW1lKCI8Iik7Ci0gICAgICAgIHdoaWxlICghdGVzdCgiPiIpKSB7Ci0gICAgICAg
ICAgICBsZXQgY29uc3RleHByID0gbGV4ZXIuYmFja3RyYWNraW5nU2NvcGUoKCkgPT4gewotICAg
ICAgICAgICAgICAgIGxldCB0eXBlID0gcGFyc2VUeXBlKCk7Ci0gICAgICAgICAgICAgICAgbGV0
IG5hbWUgPSBjb25zdW1lS2luZCgiaWRlbnRpZmllciIpOwotICAgICAgICAgICAgICAgIGFzc2Vy
dE5leHQoIiwiLCAiPiIsICI+PiIpOwotICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ29uc3Rl
eHByVHlwZVBhcmFtZXRlcih0eXBlLm9yaWdpbiwgbmFtZS50ZXh0LCB0eXBlKTsKLSAgICAgICAg
ICAgIH0pOwotICAgICAgICAgICAgaWYgKGNvbnN0ZXhwcikKLSAgICAgICAgICAgICAgICByZXN1
bHQucHVzaChjb25zdGV4cHIpOwotICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAg
bGV0IG5hbWUgPSBjb25zdW1lS2luZCgiaWRlbnRpZmllciIpOwotICAgICAgICAgICAgICAgIGxl
dCBwcm90b2NvbCA9IHRyeUNvbnN1bWUoIjoiKSA/IHBhcnNlUHJvdG9jb2xSZWYoKSA6IG51bGw7
Ci0gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gobmV3IFR5cGVWYXJpYWJsZShuYW1lLCBuYW1l
LnRleHQsIHByb3RvY29sKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoIXRyeUNv
bnN1bWUoIiwiKSkKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBj
b25zdW1lRW5kT2ZUeXBlQXJncygpOwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLSAg
ICAKICAgICBmdW5jdGlvbiBwYXJzZVRlcm0oKQogICAgIHsKICAgICAgICAgbGV0IHRva2VuOwpA
QCAtMjIyLDcgKzE5MCw3IEBAIGZ1bmN0aW9uIHBhcnNlKHByb2dyYW0sIG9yaWdpbiwgb3JpZ2lu
S2luZCwgbGluZU51bWJlck9mZnNldCwgdGV4dCkKICAgICB7CiAgICAgICAgIGxldCB0b2tlbjsK
ICAgICAgICAgaWYgKHRva2VuID0gdHJ5Q29uc3VtZSgiLSIpKQotICAgICAgICAgICAgcmV0dXJu
IG5ldyBDYWxsRXhwcmVzc2lvbih0b2tlbiwgIm9wZXJhdG9yIiArIHRva2VuLnRleHQsIFtdLCBb
cGFyc2VUZXJtKCldKTsKKyAgICAgICAgICAgIHJldHVybiBuZXcgQ2FsbEV4cHJlc3Npb24odG9r
ZW4sICJvcGVyYXRvciIgKyB0b2tlbi50ZXh0LCBbcGFyc2VUZXJtKCldKTsKICAgICAgICAgbGV0
IGxlZnQgPSBwYXJzZVRlcm0oKTsKICAgICAgICAgaWYgKHRva2VuID0gdHJ5Q29uc3VtZSgiLiIp
KQogICAgICAgICAgICAgbGVmdCA9IG5ldyBEb3RFeHByZXNzaW9uKHRva2VuLCBsZWZ0LCBjb25z
dW1lS2luZCgiaWRlbnRpZmllciIpLnRleHQpOwpAQCAtMjMzLDcgKzIwMSw3IEBAIGZ1bmN0aW9u
IHBhcnNlKHByb2dyYW0sIG9yaWdpbiwgb3JpZ2luS2luZCwgbGluZU51bWJlck9mZnNldCwgdGV4
dCkKICAgICB7CiAgICAgICAgIGlmICghdGVzdCgiPCIpKQogICAgICAgICAgICAgcmV0dXJuIFtd
OwotICAgICAgICAKKwogICAgICAgICBsZXQgcmVzdWx0ID0gW107CiAgICAgICAgIGNvbnN1bWUo
IjwiKTsKICAgICAgICAgd2hpbGUgKCF0ZXN0KCI+IikpIHsKQEAgLTI0OCwxMyArMjE2LDEzIEBA
IGZ1bmN0aW9uIHBhcnNlKHByb2dyYW0sIG9yaWdpbiwgb3JpZ2luS2luZCwgbGluZU51bWJlck9m
ZnNldCwgdGV4dCkKICAgICAgICAgICAgIC8vIEluIHRoZSBmdXR1cmUgd2UnbGwgYWxsb3cgY29u
c3RleHBycyB0byBkbyBtb3JlIHRoaW5ncywgYW5kIHRoZW4gd2UnbGwgc3RpbGwgaGF2ZQogICAg
ICAgICAgICAgLy8gdGhlIHByb2JsZW0gdGhhdCBzb21ldGhpbmcgb2YgdGhlIGZvcm0gVFsxXVsy
XVszXS4uLiBjYW4gZWl0aGVyIGJlIGEgdHlwZSBvciBhCiAgICAgICAgICAgICAvLyBjb25zdGV4
cHIsIGFuZCB3ZSBjYW4gZmlndXJlIG91dCBpbiB0aGUgY2hlY2tlciB3aGljaCBpdCBpcy4KLSAg
ICAgICAgICAgIGxldCB0eXBlT3JWYXJpYWJsZVJlZiA9IGxleGVyLmJhY2t0cmFja2luZ1Njb3Bl
KCgpID0+IHsKKyAgICAgICAgICAgIGxldCB0eXBlUmVmID0gbGV4ZXIuYmFja3RyYWNraW5nU2Nv
cGUoKCkgPT4gewogICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBjb25zdW1lS2luZCgiaWRl
bnRpZmllciIpOwogICAgICAgICAgICAgICAgIGFzc2VydE5leHQoIiwiLCAiPiIsICI+PiIpOwot
ICAgICAgICAgICAgICAgIHJldHVybiBuZXcgVHlwZU9yVmFyaWFibGVSZWYocmVzdWx0LCByZXN1
bHQudGV4dCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBUeXBlUmVmKHJlc3VsdCwgcmVz
dWx0LnRleHQsIFtdKTsKICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgaWYgKHR5cGVPclZh
cmlhYmxlUmVmKQotICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHR5cGVPclZhcmlhYmxlUmVm
KTsKKyAgICAgICAgICAgIGlmICh0eXBlUmVmKQorICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNo
KHR5cGVSZWYpOwogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgbGV0IGNvbnN0
ZXhwciA9IGxleGVyLmJhY2t0cmFja2luZ1Njb3BlKCgpID0+IHsKICAgICAgICAgICAgICAgICAg
ICAgbGV0IHJlc3VsdCA9IHBhcnNlQ29uc3RleHByKCk7CkBAIC0yNzMsNyArMjQxLDcgQEAgZnVu
Y3Rpb24gcGFyc2UocHJvZ3JhbSwgb3JpZ2luLCBvcmlnaW5LaW5kLCBsaW5lTnVtYmVyT2Zmc2V0
LCB0ZXh0KQogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAKLSAgICBmdW5jdGlv
biBwYXJzZVR5cGUoKQorICAgIGZ1bmN0aW9uIHBhcnNlVHlwZShhbGxvd1R5cGVBcmd1bWVudHMg
PSB0cnVlKQogICAgIHsKICAgICAgICAgbGV0IHRva2VuOwogICAgICAgICBsZXQgYWRkcmVzc1Nw
YWNlOwpAQCAtMjgyLDcgKzI1MCw3IEBAIGZ1bmN0aW9uIHBhcnNlKHByb2dyYW0sIG9yaWdpbiwg
b3JpZ2luS2luZCwgbGluZU51bWJlck9mZnNldCwgdGV4dCkKICAgICAgICAgICAgIGFkZHJlc3NT
cGFjZSA9IHRva2VuLnRleHQ7CiAgICAgICAgIAogICAgICAgICBsZXQgbmFtZSA9IGNvbnN1bWVL
aW5kKCJpZGVudGlmaWVyIik7Ci0gICAgICAgIGxldCB0eXBlQXJndW1lbnRzID0gcGFyc2VUeXBl
QXJndW1lbnRzKCk7CisgICAgICAgIGxldCB0eXBlQXJndW1lbnRzID0gYWxsb3dUeXBlQXJndW1l
bnRzID8gcGFyc2VUeXBlQXJndW1lbnRzKCkgOiBbXTsKICAgICAgICAgbGV0IHR5cGUgPSBuZXcg
VHlwZVJlZihuYW1lLCBuYW1lLnRleHQsIHR5cGVBcmd1bWVudHMpOwogICAgICAgICAKICAgICAg
ICAgZnVuY3Rpb24gZ2V0QWRkcmVzc1NwYWNlKCkKQEAgLTMxOCwxMSArMjg2LDEwIEBAIGZ1bmN0
aW9uIHBhcnNlKHByb2dyYW0sIG9yaWdpbiwgb3JpZ2luS2luZCwgbGluZU51bWJlck9mZnNldCwg
dGV4dCkKICAgICB7CiAgICAgICAgIGxldCBvcmlnaW4gPSBjb25zdW1lKCJ0eXBlZGVmIik7CiAg
ICAgICAgIGxldCBuYW1lID0gY29uc3VtZUtpbmQoImlkZW50aWZpZXIiKS50ZXh0OwotICAgICAg
ICBsZXQgdHlwZVBhcmFtZXRlcnMgPSBwYXJzZVR5cGVQYXJhbWV0ZXJzKCk7CiAgICAgICAgIGNv
bnN1bWUoIj0iKTsKLSAgICAgICAgbGV0IHR5cGUgPSBwYXJzZVR5cGUoKTsKKyAgICAgICAgbGV0
IHR5cGUgPSBwYXJzZVR5cGUodHJ1ZSk7CiAgICAgICAgIGNvbnN1bWUoIjsiKTsKLSAgICAgICAg
cmV0dXJuIG5ldyBUeXBlRGVmKG9yaWdpbiwgbmFtZSwgdHlwZVBhcmFtZXRlcnMsIHR5cGUpOwor
ICAgICAgICByZXR1cm4gbmV3IFR5cGVEZWYob3JpZ2luLCBuYW1lLCB0eXBlKTsKICAgICB9CiAg
ICAgCiAgICAgZnVuY3Rpb24gZ2VuZXJpY1BhcnNlTGVmdCh0ZXh0cywgbmV4dFBhcnNlciwgY29u
c3RydWN0b3IpCkBAIC0zMzksMTMgKzMwNiwxMiBAQCBmdW5jdGlvbiBwYXJzZShwcm9ncmFtLCBv
cmlnaW4sIG9yaWdpbktpbmQsIGxpbmVOdW1iZXJPZmZzZXQsIHRleHQpCiAgICAgICAgIHJldHVy
biBnZW5lcmljUGFyc2VMZWZ0KAogICAgICAgICAgICAgdGV4dHMsIG5leHRQYXJzZXIsCiAgICAg
ICAgICAgICAodG9rZW4sIGxlZnQsIHJpZ2h0KSA9PgotICAgICAgICAgICAgICAgIG5ldyBDYWxs
RXhwcmVzc2lvbih0b2tlbiwgIm9wZXJhdG9yIiArIHRva2VuLnRleHQsIFtdLCBbbGVmdCwgcmln
aHRdKSk7CisgICAgICAgICAgICAgICAgbmV3IENhbGxFeHByZXNzaW9uKHRva2VuLCAib3BlcmF0
b3IiICsgdG9rZW4udGV4dCwgW2xlZnQsIHJpZ2h0XSkpOwogICAgIH0KICAgICAKICAgICBmdW5j
dGlvbiBwYXJzZUNhbGxFeHByZXNzaW9uKCkKICAgICB7CiAgICAgICAgIGxldCBuYW1lID0gY29u
c3VtZUtpbmQoImlkZW50aWZpZXIiKTsKLSAgICAgICAgbGV0IHR5cGVBcmd1bWVudHMgPSBwYXJz
ZVR5cGVBcmd1bWVudHMoKTsKICAgICAgICAgY29uc3VtZSgiKCIpOwogICAgICAgICBsZXQgYXJn
dW1lbnRMaXN0ID0gW107CiAgICAgICAgIHdoaWxlICghdGVzdCgiKSIpKSB7CkBAIC0zNTUsNyAr
MzIxLDcgQEAgZnVuY3Rpb24gcGFyc2UocHJvZ3JhbSwgb3JpZ2luLCBvcmlnaW5LaW5kLCBsaW5l
TnVtYmVyT2Zmc2V0LCB0ZXh0KQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAg
ICAgICAgIGNvbnN1bWUoIikiKTsKLSAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBDYWxsRXhwcmVz
c2lvbihuYW1lLCBuYW1lLnRleHQsIHR5cGVBcmd1bWVudHMsIGFyZ3VtZW50TGlzdCk7CisgICAg
ICAgIGxldCByZXN1bHQgPSBuZXcgQ2FsbEV4cHJlc3Npb24obmFtZSwgbmFtZS50ZXh0LCBhcmd1
bWVudExpc3QpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAKQEAgLTM2Myw3
ICszMjksNiBAQCBmdW5jdGlvbiBwYXJzZShwcm9ncmFtLCBvcmlnaW4sIG9yaWdpbktpbmQsIGxp
bmVOdW1iZXJPZmZzZXQsIHRleHQpCiAgICAgewogICAgICAgICByZXR1cm4gbGV4ZXIudGVzdFNj
b3BlKCgpID0+IHsKICAgICAgICAgICAgIGNvbnN1bWVLaW5kKCJpZGVudGlmaWVyIik7Ci0gICAg
ICAgICAgICBwYXJzZVR5cGVBcmd1bWVudHMoKTsKICAgICAgICAgICAgIGNvbnN1bWUoIigiKTsK
ICAgICAgICAgfSk7CiAgICAgfQpAQCAtMzgxLDcgKzM0Niw3IEBAIGZ1bmN0aW9uIHBhcnNlKHBy
b2dyYW0sIG9yaWdpbiwgb3JpZ2luS2luZCwgbGluZU51bWJlck9mZnNldCwgdGV4dCkKICAgICAg
ICAgaWYgKG5hbWUgPT0gIm9wZXJhdG9yIikKICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigi
SW52YWxpZCBuYW1lOiAiICsgbmFtZSk7CiAgICAgICAgIAotICAgICAgICByZXR1cm4gbmV3IENh
bGxFeHByZXNzaW9uKHRva2VuLCBuYW1lLCBbXSwgYXJncyk7CisgICAgICAgIHJldHVybiBuZXcg
Q2FsbEV4cHJlc3Npb24odG9rZW4sIG5hbWUsIGFyZ3MpOwogICAgIH0KICAgICAKICAgICBmdW5j
dGlvbiBmaW5pc2hQYXJzaW5nUG9zdEluY3JlbWVudCh0b2tlbiwgbGVmdCkKQEAgLTQ1NCw3ICs0
MTksNyBAQCBmdW5jdGlvbiBwYXJzZShwcm9ncmFtLCBvcmlnaW4sIG9yaWdpbktpbmQsIGxpbmVO
dW1iZXJPZmZzZXQsIHRleHQpCiAgICAgICAgIGlmICh0ZXN0KCIrKyIsICItLSIpKQogICAgICAg
ICAgICAgcmV0dXJuIHBhcnNlUHJlSW5jcmVtZW50KCk7CiAgICAgICAgIGlmICh0b2tlbiA9IHRy
eUNvbnN1bWUoIisiLCAiLSIsICJ+IikpCi0gICAgICAgICAgICByZXR1cm4gbmV3IENhbGxFeHBy
ZXNzaW9uKHRva2VuLCAib3BlcmF0b3IiICsgdG9rZW4udGV4dCwgW10sIFtwYXJzZVBvc3NpYmxl
UHJlZml4KCldKTsKKyAgICAgICAgICAgIHJldHVybiBuZXcgQ2FsbEV4cHJlc3Npb24odG9rZW4s
ICJvcGVyYXRvciIgKyB0b2tlbi50ZXh0LCBbcGFyc2VQb3NzaWJsZVByZWZpeCgpXSk7CiAgICAg
ICAgIGlmICh0b2tlbiA9IHRyeUNvbnN1bWUoIioiKSkKICAgICAgICAgICAgIHJldHVybiBuZXcg
RGVyZWZlcmVuY2VFeHByZXNzaW9uKHRva2VuLCBwYXJzZVBvc3NpYmxlUHJlZml4KCkpOwogICAg
ICAgICBpZiAodG9rZW4gPSB0cnlDb25zdW1lKCImIikpCkBAIC00NjMsNyArNDI4LDcgQEAgZnVu
Y3Rpb24gcGFyc2UocHJvZ3JhbSwgb3JpZ2luLCBvcmlnaW5LaW5kLCBsaW5lTnVtYmVyT2Zmc2V0
LCB0ZXh0KQogICAgICAgICAgICAgcmV0dXJuIG5ldyBNYWtlQXJyYXlSZWZFeHByZXNzaW9uKHRv
a2VuLCBwYXJzZVBvc3NpYmxlUHJlZml4KCkpOwogICAgICAgICBpZiAodG9rZW4gPSB0cnlDb25z
dW1lKCIhIikpIHsKICAgICAgICAgICAgIGxldCByZW1haW5kZXIgPSBwYXJzZVBvc3NpYmxlUHJl
Zml4KCk7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IExvZ2ljYWxOb3QodG9rZW4sIG5ldyBDYWxs
RXhwcmVzc2lvbihyZW1haW5kZXIub3JpZ2luLCAiYm9vbCIsIFtdLCBbcmVtYWluZGVyXSkpOwor
ICAgICAgICAgICAgcmV0dXJuIG5ldyBMb2dpY2FsTm90KHRva2VuLCBuZXcgQ2FsbEV4cHJlc3Np
b24ocmVtYWluZGVyLm9yaWdpbiwgImJvb2wiLCBbcmVtYWluZGVyXSkpOwogICAgICAgICB9CiAg
ICAgICAgIHJldHVybiBwYXJzZVBvc3NpYmxlU3VmZml4KCk7CiAgICAgfQpAQCAtNDkzLDcgKzQ1
OCw3IEBAIGZ1bmN0aW9uIHBhcnNlKHByb2dyYW0sIG9yaWdpbiwgb3JpZ2luS2luZCwgbGluZU51
bWJlck9mZnNldCwgdGV4dCkKICAgICAgICAgcmV0dXJuIGdlbmVyaWNQYXJzZUxlZnQoCiAgICAg
ICAgICAgICBbIj09IiwgIiE9Il0sIHBhcnNlUG9zc2libGVSZWxhdGlvbmFsSW5lcXVhbGl0eSwK
ICAgICAgICAgICAgICh0b2tlbiwgbGVmdCwgcmlnaHQpID0+IHsKLSAgICAgICAgICAgICAgICBs
ZXQgcmVzdWx0ID0gbmV3IENhbGxFeHByZXNzaW9uKHRva2VuLCAib3BlcmF0b3I9PSIsIFtdLCBb
bGVmdCwgcmlnaHRdKTsKKyAgICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gbmV3IENhbGxFeHBy
ZXNzaW9uKHRva2VuLCAib3BlcmF0b3I9PSIsIFtsZWZ0LCByaWdodF0pOwogICAgICAgICAgICAg
ICAgIGlmICh0b2tlbi50ZXh0ID09ICIhPSIpCiAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9
IG5ldyBMb2dpY2FsTm90KHRva2VuLCByZXN1bHQpOwogICAgICAgICAgICAgICAgIHJldHVybiBy
ZXN1bHQ7CkBAIC01MTksNyArNDg0LDcgQEAgZnVuY3Rpb24gcGFyc2UocHJvZ3JhbSwgb3JpZ2lu
LCBvcmlnaW5LaW5kLCBsaW5lTnVtYmVyT2Zmc2V0LCB0ZXh0KQogICAgIHsKICAgICAgICAgcmV0
dXJuIGdlbmVyaWNQYXJzZUxlZnQoCiAgICAgICAgICAgICB0ZXh0cywgbmV4dFBhcnNlciwKLSAg
ICAgICAgICAgICh0b2tlbiwgbGVmdCwgcmlnaHQpID0+IG5ldyBMb2dpY2FsRXhwcmVzc2lvbih0
b2tlbiwgdG9rZW4udGV4dCwgbmV3IENhbGxFeHByZXNzaW9uKGxlZnQub3JpZ2luLCAiYm9vbCIs
IFtdLCBbbGVmdF0pLCBuZXcgQ2FsbEV4cHJlc3Npb24ocmlnaHQub3JpZ2luLCAiYm9vbCIsIFtd
LCBbcmlnaHRdKSkpOworICAgICAgICAgICAgKHRva2VuLCBsZWZ0LCByaWdodCkgPT4gbmV3IExv
Z2ljYWxFeHByZXNzaW9uKHRva2VuLCB0b2tlbi50ZXh0LCBuZXcgQ2FsbEV4cHJlc3Npb24obGVm
dC5vcmlnaW4sICJib29sIiwgW2xlZnRdKSwgbmV3IENhbGxFeHByZXNzaW9uKHJpZ2h0Lm9yaWdp
biwgImJvb2wiLCBbcmlnaHRdKSkpOwogICAgIH0KICAgICAKICAgICBmdW5jdGlvbiBwYXJzZVBv
c3NpYmxlTG9naWNhbEFuZCgpCkBAIC01MzgsNyArNTAzLDEwIEBAIGZ1bmN0aW9uIHBhcnNlKHBy
b2dyYW0sIG9yaWdpbiwgb3JpZ2luS2luZCwgbGluZU51bWJlck9mZnNldCwgdGV4dCkKICAgICAg
ICAgbGV0IG9wZXJhdG9yID0gdHJ5Q29uc3VtZSgiPyIpOwogICAgICAgICBpZiAoIW9wZXJhdG9y
KQogICAgICAgICAgICAgcmV0dXJuIHByZWRpY2F0ZTsKLSAgICAgICAgcmV0dXJuIG5ldyBUZXJu
YXJ5RXhwcmVzc2lvbihvcGVyYXRvciwgcHJlZGljYXRlLCBwYXJzZVBvc3NpYmxlQXNzaWdubWVu
dCgpLCBwYXJzZVBvc3NpYmxlQXNzaWdubWVudCgpKTsKKyAgICAgICAgbGV0IGJvZHlFeHByZXNz
aW9uID0gcGFyc2VQb3NzaWJsZUFzc2lnbm1lbnQoKTsKKyAgICAgICAgY29uc3VtZSgiOiIpOwor
ICAgICAgICBsZXQgZWxzZUV4cHJlc3Npb24gPSBwYXJzZVBvc3NpYmxlQXNzaWdubWVudCgpOwor
ICAgICAgICByZXR1cm4gbmV3IFRlcm5hcnlFeHByZXNzaW9uKG9wZXJhdG9yLCBwcmVkaWNhdGUs
IGJvZHlFeHByZXNzaW9uLCBlbHNlRXhwcmVzc2lvbik7CiAgICAgfQogICAgIAogICAgIGZ1bmN0
aW9uIHBhcnNlUG9zc2libGVBc3NpZ25tZW50KG1vZGUpCkBAIC01NDcsNyArNTE1LDcgQEAgZnVu
Y3Rpb24gcGFyc2UocHJvZ3JhbSwgb3JpZ2luLCBvcmlnaW5LaW5kLCBsaW5lTnVtYmVyT2Zmc2V0
LCB0ZXh0KQogICAgICAgICBsZXQgb3BlcmF0b3IgPSB0cnlDb25zdW1lKCI9IiwgIis9IiwgIi09
IiwgIio9IiwgIi89IiwgIiU9IiwgIl49IiwgInw9IiwgIiY9Iik7CiAgICAgICAgIGlmICghb3Bl
cmF0b3IpIHsKICAgICAgICAgICAgIGlmIChtb2RlID09ICJyZXF1aXJlZCIpCi0gICAgICAgICAg
ICAgICAgbGV4ZXIuZmFpbCgiRXhwZWN0ZWQgYXNzaWdubWVudCIpOworICAgICAgICAgICAgICAg
IGxleGVyLmZhaWwoIkV4cGVjdGVkIGFzc2lnbm1lbnQ6ICIgKyBsZXhlci5fdGV4dC5zdWJzdHJp
bmcobGV4ZXIuX2luZGV4KSk7CiAgICAgICAgICAgICByZXR1cm4gbGhzOwogICAgICAgICB9CiAg
ICAgICAgIGlmIChvcGVyYXRvci50ZXh0ID09ICI9IikKQEAgLTY1Niw3ICs2MjQsNyBAQCBmdW5j
dGlvbiBwYXJzZShwcm9ncmFtLCBvcmlnaW4sIG9yaWdpbktpbmQsIGxpbmVOdW1iZXJPZmZzZXQs
IHRleHQpCiAgICAgICAgIGxldCBlbHNlQm9keTsKICAgICAgICAgaWYgKHRyeUNvbnN1bWUoImVs
c2UiKSkKICAgICAgICAgICAgIGVsc2VCb2R5ID0gcGFyc2VTdGF0ZW1lbnQoKTsKLSAgICAgICAg
cmV0dXJuIG5ldyBJZlN0YXRlbWVudChvcmlnaW4sIG5ldyBDYWxsRXhwcmVzc2lvbihjb25kaXRp
b25hbC5vcmlnaW4sICJib29sIiwgW10sIFtjb25kaXRpb25hbF0pLCBib2R5LCBlbHNlQm9keSk7
CisgICAgICAgIHJldHVybiBuZXcgSWZTdGF0ZW1lbnQob3JpZ2luLCBuZXcgQ2FsbEV4cHJlc3Np
b24oY29uZGl0aW9uYWwub3JpZ2luLCAiYm9vbCIsIFtjb25kaXRpb25hbF0pLCBib2R5LCBlbHNl
Qm9keSk7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gcGFyc2VXaGlsZSgpCkBAIC02NjYsNyArNjM0
LDcgQEAgZnVuY3Rpb24gcGFyc2UocHJvZ3JhbSwgb3JpZ2luLCBvcmlnaW5LaW5kLCBsaW5lTnVt
YmVyT2Zmc2V0LCB0ZXh0KQogICAgICAgICBsZXQgY29uZGl0aW9uYWwgPSBwYXJzZUV4cHJlc3Np
b24oKTsKICAgICAgICAgY29uc3VtZSgiKSIpOwogICAgICAgICBsZXQgYm9keSA9IHBhcnNlU3Rh
dGVtZW50KCk7Ci0gICAgICAgIHJldHVybiBuZXcgV2hpbGVMb29wKG9yaWdpbiwgbmV3IENhbGxF
eHByZXNzaW9uKGNvbmRpdGlvbmFsLm9yaWdpbiwgImJvb2wiLCBbXSwgW2NvbmRpdGlvbmFsXSks
IGJvZHkpOworICAgICAgICByZXR1cm4gbmV3IFdoaWxlTG9vcChvcmlnaW4sIG5ldyBDYWxsRXhw
cmVzc2lvbihjb25kaXRpb25hbC5vcmlnaW4sICJib29sIiwgW2NvbmRpdGlvbmFsXSksIGJvZHkp
OwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHBhcnNlRm9yKCkKQEAgLTY4Nyw3ICs2NTUsNyBAQCBm
dW5jdGlvbiBwYXJzZShwcm9ncmFtLCBvcmlnaW4sIG9yaWdpbktpbmQsIGxpbmVOdW1iZXJPZmZz
ZXQsIHRleHQpCiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgY29uZGl0aW9uID0gcGFyc2VF
eHByZXNzaW9uKCk7CiAgICAgICAgICAgICBjb25zdW1lKCI7Iik7Ci0gICAgICAgICAgICBjb25k
aXRpb24gPSBuZXcgQ2FsbEV4cHJlc3Npb24oY29uZGl0aW9uLm9yaWdpbiwgImJvb2wiLCBbXSwg
W2NvbmRpdGlvbl0pOworICAgICAgICAgICAgY29uZGl0aW9uID0gbmV3IENhbGxFeHByZXNzaW9u
KGNvbmRpdGlvbi5vcmlnaW4sICJib29sIiwgW2NvbmRpdGlvbl0pOwogICAgICAgICB9CiAgICAg
ICAgIGxldCBpbmNyZW1lbnQ7CiAgICAgICAgIGlmICh0cnlDb25zdW1lKCIpIikpCkBAIC03MDgs
NyArNjc2LDcgQEAgZnVuY3Rpb24gcGFyc2UocHJvZ3JhbSwgb3JpZ2luLCBvcmlnaW5LaW5kLCBs
aW5lTnVtYmVyT2Zmc2V0LCB0ZXh0KQogICAgICAgICBjb25zdW1lKCIoIik7CiAgICAgICAgIGxl
dCBjb25kaXRpb25hbCA9IHBhcnNlRXhwcmVzc2lvbigpOwogICAgICAgICBjb25zdW1lKCIpIik7
Ci0gICAgICAgIHJldHVybiBuZXcgRG9XaGlsZUxvb3Aob3JpZ2luLCBib2R5LCBuZXcgQ2FsbEV4
cHJlc3Npb24oY29uZGl0aW9uYWwub3JpZ2luLCAiYm9vbCIsIFtdLCBbY29uZGl0aW9uYWxdKSk7
CisgICAgICAgIHJldHVybiBuZXcgRG9XaGlsZUxvb3Aob3JpZ2luLCBib2R5LCBuZXcgQ2FsbEV4
cHJlc3Npb24oY29uZGl0aW9uYWwub3JpZ2luLCAiYm9vbCIsIFtjb25kaXRpb25hbF0pKTsKICAg
ICB9CiAgICAgCiAgICAgZnVuY3Rpb24gcGFyc2VWYXJpYWJsZURlY2xzKCkKQEAgLTg1OCwxMyAr
ODI2LDExIEBAIGZ1bmN0aW9uIHBhcnNlKHByb2dyYW0sIG9yaWdpbiwgb3JpZ2luS2luZCwgbGlu
ZU51bWJlck9mZnNldCwgdGV4dCkKICAgICAgICAgbGV0IG9yaWdpbjsKICAgICAgICAgbGV0IHJl
dHVyblR5cGU7CiAgICAgICAgIGxldCBuYW1lOwotICAgICAgICBsZXQgdHlwZVBhcmFtZXRlcnM7
CiAgICAgICAgIGxldCBpc0Nhc3Q7CiAgICAgICAgIGxldCBzaGFkZXJUeXBlOwogICAgICAgICBs
ZXQgb3BlcmF0b3JUb2tlbiA9IHRyeUNvbnN1bWUoIm9wZXJhdG9yIik7CiAgICAgICAgIGlmIChv
cGVyYXRvclRva2VuKSB7CiAgICAgICAgICAgICBvcmlnaW4gPSBvcGVyYXRvclRva2VuOwotICAg
ICAgICAgICAgdHlwZVBhcmFtZXRlcnMgPSBwYXJzZVR5cGVQYXJhbWV0ZXJzKCk7CiAgICAgICAg
ICAgICByZXR1cm5UeXBlID0gcGFyc2VUeXBlKCk7CiAgICAgICAgICAgICBuYW1lID0gIm9wZXJh
dG9yIGNhc3QiOwogICAgICAgICAgICAgaXNDYXN0ID0gdHJ1ZTsKQEAgLTg3Nyw0NCArODQzLDE3
IEBAIGZ1bmN0aW9uIHBhcnNlKHByb2dyYW0sIG9yaWdpbiwgb3JpZ2luS2luZCwgbGluZU51bWJl
ck9mZnNldCwgdGV4dCkKICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIG9yaWdp
biA9IHJldHVyblR5cGUub3JpZ2luOwogICAgICAgICAgICAgbmFtZSA9IHBhcnNlRnVuY05hbWUo
KTsKLSAgICAgICAgICAgIHR5cGVQYXJhbWV0ZXJzID0gcGFyc2VUeXBlUGFyYW1ldGVycygpOwog
ICAgICAgICAgICAgaXNDYXN0ID0gZmFsc2U7CiAgICAgICAgIH0KICAgICAgICAgbGV0IHBhcmFt
ZXRlcnMgPSBwYXJzZVBhcmFtZXRlcnMoKTsKLSAgICAgICAgcmV0dXJuIG5ldyBGdW5jKG9yaWdp
biwgbmFtZSwgcmV0dXJuVHlwZSwgdHlwZVBhcmFtZXRlcnMsIHBhcmFtZXRlcnMsIGlzQ2FzdCwg
c2hhZGVyVHlwZSk7CisgICAgICAgIHJldHVybiBuZXcgRnVuYyhvcmlnaW4sIG5hbWUsIHJldHVy
blR5cGUsIHBhcmFtZXRlcnMsIGlzQ2FzdCwgc2hhZGVyVHlwZSk7CiAgICAgfQogCi0gICAgZnVu
Y3Rpb24gcGFyc2VQcm90b2NvbEZ1bmNEZWNsKCkKLSAgICB7Ci0gICAgICAgIGxldCBmdW5jID0g
cGFyc2VGdW5jRGVjbCgpOwotICAgICAgICByZXR1cm4gbmV3IFByb3RvY29sRnVuY0RlY2woZnVu
Yy5vcmlnaW4sIGZ1bmMubmFtZSwgZnVuYy5yZXR1cm5UeXBlLCBmdW5jLnR5cGVQYXJhbWV0ZXJz
LCBmdW5jLnBhcmFtZXRlcnMsIGZ1bmMuaXNDYXN0LCBmdW5jLnNoYWRlclR5cGUpOwotICAgIH0K
LSAgICAKICAgICBmdW5jdGlvbiBwYXJzZUZ1bmNEZWYoKQogICAgIHsKICAgICAgICAgbGV0IGZ1
bmMgPSBwYXJzZUZ1bmNEZWNsKCk7CiAgICAgICAgIGxldCBib2R5ID0gcGFyc2VCbG9jaygpOwot
ICAgICAgICByZXR1cm4gbmV3IEZ1bmNEZWYoZnVuYy5vcmlnaW4sIGZ1bmMubmFtZSwgZnVuYy5y
ZXR1cm5UeXBlLCBmdW5jLnR5cGVQYXJhbWV0ZXJzLCBmdW5jLnBhcmFtZXRlcnMsIGJvZHksIGZ1
bmMuaXNDYXN0LCBmdW5jLnNoYWRlclR5cGUpOwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBw
YXJzZVByb3RvY29sRGVjbCgpCi0gICAgewotICAgICAgICBsZXQgb3JpZ2luID0gY29uc3VtZSgi
cHJvdG9jb2wiKTsKLSAgICAgICAgbGV0IG5hbWUgPSBjb25zdW1lS2luZCgiaWRlbnRpZmllciIp
LnRleHQ7Ci0gICAgICAgIGxldCByZXN1bHQgPSBuZXcgUHJvdG9jb2xEZWNsKG9yaWdpbiwgbmFt
ZSk7Ci0gICAgICAgIGlmICh0cnlDb25zdW1lKCI6IikpIHsKLSAgICAgICAgICAgIHdoaWxlICgh
dGVzdCgieyIpKSB7Ci0gICAgICAgICAgICAgICAgcmVzdWx0LmFkZEV4dGVuZHMocGFyc2VQcm90
b2NvbFJlZigpKTsKLSAgICAgICAgICAgICAgICBpZiAoIXRyeUNvbnN1bWUoIiwiKSkKLSAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAg
Y29uc3VtZSgieyIpOwotICAgICAgICB3aGlsZSAoIXRyeUNvbnN1bWUoIn0iKSkgewotICAgICAg
ICAgICAgcmVzdWx0LmFkZChwYXJzZVByb3RvY29sRnVuY0RlY2woKSk7Ci0gICAgICAgICAgICBj
b25zdW1lKCI7Iik7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAg
cmV0dXJuIG5ldyBGdW5jRGVmKGZ1bmMub3JpZ2luLCBmdW5jLm5hbWUsIGZ1bmMucmV0dXJuVHlw
ZSwgZnVuYy5wYXJhbWV0ZXJzLCBib2R5LCBmdW5jLmlzQ2FzdCwgZnVuYy5zaGFkZXJUeXBlKTsK
ICAgICB9CiAgICAgCiAgICAgZnVuY3Rpb24gcGFyc2VGaWVsZCgpCkBAIC05MjksOCArODY4LDcg
QEAgZnVuY3Rpb24gcGFyc2UocHJvZ3JhbSwgb3JpZ2luLCBvcmlnaW5LaW5kLCBsaW5lTnVtYmVy
T2Zmc2V0LCB0ZXh0KQogICAgIHsKICAgICAgICAgbGV0IG9yaWdpbiA9IGNvbnN1bWUoInN0cnVj
dCIpOwogICAgICAgICBsZXQgbmFtZSA9IGNvbnN1bWVLaW5kKCJpZGVudGlmaWVyIikudGV4dDsK
LSAgICAgICAgbGV0IHR5cGVQYXJhbWV0ZXJzID0gcGFyc2VUeXBlUGFyYW1ldGVycygpOwotICAg
ICAgICBsZXQgcmVzdWx0ID0gbmV3IFN0cnVjdFR5cGUob3JpZ2luLCBuYW1lLCB0eXBlUGFyYW1l
dGVycyk7CisgICAgICAgIGxldCByZXN1bHQgPSBuZXcgU3RydWN0VHlwZShvcmlnaW4sIG5hbWUp
OwogICAgICAgICBjb25zdW1lKCJ7Iik7CiAgICAgICAgIHdoaWxlICghdHJ5Q29uc3VtZSgifSIp
KQogICAgICAgICAgICAgcmVzdWx0LmFkZChwYXJzZUZpZWxkKCkpOwpAQCAtOTQxLDcgKzg3OSw3
IEBAIGZ1bmN0aW9uIHBhcnNlKHByb2dyYW0sIG9yaWdpbiwgb3JpZ2luS2luZCwgbGluZU51bWJl
ck9mZnNldCwgdGV4dCkKICAgICB7CiAgICAgICAgIGxldCBmdW5jID0gcGFyc2VGdW5jRGVjbCgp
OwogICAgICAgICBjb25zdW1lKCI7Iik7Ci0gICAgICAgIHJldHVybiBuZXcgTmF0aXZlRnVuYyhm
dW5jLm9yaWdpbiwgZnVuYy5uYW1lLCBmdW5jLnJldHVyblR5cGUsIGZ1bmMudHlwZVBhcmFtZXRl
cnMsIGZ1bmMucGFyYW1ldGVycywgZnVuYy5pc0Nhc3QsIGZ1bmMuc2hhZGVyVHlwZSk7CisgICAg
ICAgIHJldHVybiBuZXcgTmF0aXZlRnVuYyhmdW5jLm9yaWdpbiwgZnVuYy5uYW1lLCBmdW5jLnJl
dHVyblR5cGUsIGZ1bmMucGFyYW1ldGVycywgZnVuYy5pc0Nhc3QsIGZ1bmMuc2hhZGVyVHlwZSk7
CiAgICAgfQogICAgIAogICAgIGZ1bmN0aW9uIHBhcnNlTmF0aXZlKCkKQEAgLTk0OSw5ICs4ODcs
MTIgQEAgZnVuY3Rpb24gcGFyc2UocHJvZ3JhbSwgb3JpZ2luLCBvcmlnaW5LaW5kLCBsaW5lTnVt
YmVyT2Zmc2V0LCB0ZXh0KQogICAgICAgICBsZXQgb3JpZ2luID0gY29uc3VtZSgibmF0aXZlIik7
CiAgICAgICAgIGlmICh0cnlDb25zdW1lKCJ0eXBlZGVmIikpIHsKICAgICAgICAgICAgIGxldCBu
YW1lID0gY29uc3VtZUtpbmQoImlkZW50aWZpZXIiKTsKLSAgICAgICAgICAgIGxldCBwYXJhbWV0
ZXJzID0gcGFyc2VUeXBlUGFyYW1ldGVycygpOworICAgICAgICAgICAgbGV0IGFyZ3MgPSBwYXJz
ZVR5cGVBcmd1bWVudHMoKTsKICAgICAgICAgICAgIGNvbnN1bWUoIjsiKTsKLSAgICAgICAgICAg
IHJldHVybiBuZXcgTmF0aXZlVHlwZShvcmlnaW4sIG5hbWUudGV4dCwgcGFyYW1ldGVycyk7Cisg
ICAgICAgICAgICBpZiAoYXJncy5sZW5ndGgpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5hdGl2
ZVBhcmFtZXRlcml6ZWRUeXBlLmZyb21OYW1lQW5kVHlwZUFyZ3VtZW50cyhvcmlnaW4sIG5hbWUu
dGV4dCwgYXJncyk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgcmV0dXJuIG5l
dyBOYXRpdmVUeXBlKG9yaWdpbiwgbmFtZS50ZXh0KTsKICAgICAgICAgfQogICAgICAgICByZXR1
cm4gcGFyc2VOYXRpdmVGdW5jKCk7CiAgICAgfQpAQCAtOTg1LDcgKzkyNiw3IEBAIGZ1bmN0aW9u
IHBhcnNlKHByb2dyYW0sIG9yaWdpbiwgb3JpZ2luS2luZCwgbGluZU51bWJlck9mZnNldCwgdGV4
dCkKICAgICAgICAgaWYgKHRyeUNvbnN1bWUoIjoiKSkKICAgICAgICAgICAgIGJhc2VUeXBlID0g
cGFyc2VUeXBlKCk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGJhc2VUeXBlID0gbmV3IFR5
cGVSZWYobmFtZSwgImludCIsIFtdKTsKKyAgICAgICAgICAgIGJhc2VUeXBlID0gbmV3IFR5cGVS
ZWYobmFtZSwgImludCIpOwogICAgICAgICBjb25zdW1lKCJ7Iik7CiAgICAgICAgIGxldCByZXN1
bHQgPSBuZXcgRW51bVR5cGUobmFtZSwgbmFtZS50ZXh0LCBiYXNlVHlwZSk7CiAgICAgICAgIHdo
aWxlICghdGVzdCgifSIpKSB7CkBAIC05OTksMjQgKzk0MCwyNyBAQCBmdW5jdGlvbiBwYXJzZShw
cm9ncmFtLCBvcmlnaW4sIG9yaWdpbktpbmQsIGxpbmVOdW1iZXJPZmZzZXQsIHRleHQpCiAgICAg
CiAgICAgZm9yICg7OykgewogICAgICAgICBsZXQgdG9rZW4gPSBsZXhlci5wZWVrKCk7CisgICAg
ICAgIGxldCByZXN1bHQgPSBudWxsOwogICAgICAgICBpZiAoIXRva2VuKQogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICBpZiAodG9rZW4udGV4dCA9PSAiOyIpCiAgICAgICAgICAgICBsZXhl
ci5uZXh0KCk7Ci0gICAgICAgIGVsc2UgaWYgKHRva2VuLnRleHQgPT0gInR5cGVkZWYiKQotICAg
ICAgICAgICAgcHJvZ3JhbS5hZGQocGFyc2VUeXBlRGVmKCkpOwotICAgICAgICBlbHNlIGlmIChv
cmlnaW5LaW5kID09ICJuYXRpdmUiICYmIHRva2VuLnRleHQgPT0gIm5hdGl2ZSIpCi0gICAgICAg
ICAgICBwcm9ncmFtLmFkZChwYXJzZU5hdGl2ZSgpKTsKLSAgICAgICAgZWxzZSBpZiAob3JpZ2lu
S2luZCA9PSAibmF0aXZlIiAmJiB0b2tlbi50ZXh0ID09ICJyZXN0cmljdGVkIikKLSAgICAgICAg
ICAgIHByb2dyYW0uYWRkKHBhcnNlUmVzdHJpY3RlZEZ1bmNEZWYoKSk7Ci0gICAgICAgIGVsc2Ug
aWYgKHRva2VuLnRleHQgPT0gInN0cnVjdCIpCi0gICAgICAgICAgICBwcm9ncmFtLmFkZChwYXJz
ZVN0cnVjdFR5cGUoKSk7Ci0gICAgICAgIGVsc2UgaWYgKHRva2VuLnRleHQgPT0gImVudW0iKQot
ICAgICAgICAgICAgcHJvZ3JhbS5hZGQocGFyc2VFbnVtVHlwZSgpKTsKLSAgICAgICAgZWxzZSBp
ZiAodG9rZW4udGV4dCA9PSAicHJvdG9jb2wiKQotICAgICAgICAgICAgcHJvZ3JhbS5hZGQocGFy
c2VQcm90b2NvbERlY2woKSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHByb2dyYW0uYWRk
KHBhcnNlRnVuY0RlZigpKTsKKyAgICAgICAgZWxzZSBpZiAodG9rZW4udGV4dCA9PSAidHlwZWRl
ZiIpIHsKKyAgICAgICAgICAgIHJlc3VsdCA9IChwYXJzZVR5cGVEZWYoKSk7CisgICAgICAgIH0g
ZWxzZSBpZiAob3JpZ2luS2luZCA9PSAibmF0aXZlIiAmJiB0b2tlbi50ZXh0ID09ICJuYXRpdmUi
KSB7CisgICAgICAgICAgICByZXN1bHQgPSAocGFyc2VOYXRpdmUoKSk7CisgICAgICAgIH0gZWxz
ZSBpZiAob3JpZ2luS2luZCA9PSAibmF0aXZlIiAmJiB0b2tlbi50ZXh0ID09ICJyZXN0cmljdGVk
IikgeworICAgICAgICAgICAgcmVzdWx0ID0gKHBhcnNlUmVzdHJpY3RlZEZ1bmNEZWYoKSk7Cisg
ICAgICAgIH0gZWxzZSBpZiAodG9rZW4udGV4dCA9PSAic3RydWN0IikgeworICAgICAgICAgICAg
cmVzdWx0ID0gKHBhcnNlU3RydWN0VHlwZSgpKTsKKyAgICAgICAgfSBlbHNlIGlmICh0b2tlbi50
ZXh0ID09ICJlbnVtIikgeworICAgICAgICAgICAgcmVzdWx0ID0gKHBhcnNlRW51bVR5cGUoKSk7
CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgcmVzdWx0ID0gKHBhcnNlRnVuY0RlZigpKTsK
KyAgICAgICAgcHJpbnQoIlBhcnNlZCAiICsgYXNkZiArICIgdG9wLWxldmVsIHN0YXRlbWVudDog
IiArIChyZXN1bHQubmFtZSA/IHJlc3VsdC5uYW1lIDogcmVzdWx0KSk7CisgICAgICAgIGlmIChy
ZXN1bHQgIT0gbnVsbCkKKyAgICAgICAgICAgIHByb2dyYW0uYWRkKHJlc3VsdCk7CisgICAgICAg
IHJlc3VsdCA9PSBudWxsCisgICAgICAgIGFzZGYgPSBhc2RmICsgMTsKICAgICB9CiB9Ci0KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1ByZXBhcmUuanMgYi9Ub29s
cy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9QcmVwYXJlLmpzCmluZGV4IGEyMDQ4YTlhZDNlODNi
ZDE4Yjc2NDQ0Y2E1NTQ2ZTQ4ZmUwMTE5YTAuLjg5MzBlNGI4NmMxMzQxMGYzNzM5NmUxYmY5OGIy
YmI3Y2I0ZTMxMTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1By
ZXBhcmUuanMKKysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvUHJlcGFyZS5qcwpA
QCAtNDIsMTYgKzQyLDE4IEBAIGxldCBwcmVwYXJlID0gKCgpID0+IHsKICAgICAgICAgZm9sZENv
bnN0ZXhwcnMocHJvZ3JhbSk7CiAgICAgICAgIGxldCBuYW1lUmVzb2x2ZXIgPSBjcmVhdGVOYW1l
UmVzb2x2ZXIocHJvZ3JhbSk7CiAgICAgICAgIHJlc29sdmVOYW1lc0luVHlwZXMocHJvZ3JhbSwg
bmFtZVJlc29sdmVyKTsKLSAgICAgICAgcmVzb2x2ZU5hbWVzSW5Qcm90b2NvbHMocHJvZ3JhbSwg
bmFtZVJlc29sdmVyKTsKICAgICAgICAgcmVzb2x2ZVR5cGVEZWZzSW5UeXBlcyhwcm9ncmFtKTsK
LSAgICAgICAgcmVzb2x2ZVR5cGVEZWZzSW5Qcm90b2NvbHMocHJvZ3JhbSk7CisgICAgICAgIHJl
c29sdmVDYWxsRXhwcmVzc2lvbnNXaXRoVHlwZUFyZ3VtZW50cyhwcm9ncmFtKTsKICAgICAgICAg
Y2hlY2tSZWN1cnNpdmVUeXBlcyhwcm9ncmFtKTsKICAgICAgICAgc3ludGhlc2l6ZVN0cnVjdEFj
Y2Vzc29ycyhwcm9ncmFtKTsKKyAgICAgICAgc3ludGhlc2l6ZU9wZXJhdG9yQm9vbChwcm9ncmFt
KTsKICAgICAgICAgc3ludGhlc2l6ZUVudW1GdW5jdGlvbnMocHJvZ3JhbSk7CisgICAgICAgIHN5
bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3RoKHByb2dyYW0pOworICAgICAgICBzeW50aGVzaXpl
Q29weUNvbnN0cnVjdG9yT3BlcmF0b3IocHJvZ3JhbSk7CisgICAgICAgIHN5bnRoZXNpemVEZWZh
dWx0Q29uc3RydWN0b3JPcGVyYXRvcihwcm9ncmFtKTsKICAgICAgICAgcmVzb2x2ZU5hbWVzSW5G
dW5jdGlvbnMocHJvZ3JhbSwgbmFtZVJlc29sdmVyKTsKICAgICAgICAgcmVzb2x2ZVR5cGVEZWZz
SW5GdW5jdGlvbnMocHJvZ3JhbSk7CiAgICAgICAgIAotICAgICAgICBmbGF0dGVuUHJvdG9jb2xF
eHRlbmRzKHByb2dyYW0pOwogICAgICAgICBjaGVjayhwcm9ncmFtKTsKICAgICAgICAgY2hlY2tM
aXRlcmFsVHlwZXMocHJvZ3JhbSk7CiAgICAgICAgIHJlc29sdmVQcm9wZXJ0aWVzKHByb2dyYW0p
OwpAQCAtNjQsNyArNjYsOSBAQCBsZXQgcHJlcGFyZSA9ICgoKSA9PiB7CiAgICAgICAgIGNoZWNr
UmVjdXJzaW9uKHByb2dyYW0pOwogICAgICAgICBjaGVja1Byb2dyYW1XcmFwcGVkKHByb2dyYW0p
OwogICAgICAgICBmaW5kSGlnaFpvbWJpZXMocHJvZ3JhbSk7CisgICAgICAgIHByb2dyYW0udmlz
aXQobmV3IFN0cnVjdExheW91dEJ1aWxkZXIoKSk7CiAgICAgICAgIGlubGluZShwcm9ncmFtKTsK
KyAgICAgICAgcHJpbnQoIkRvbmUuIikKICAgICAgICAgCiAgICAgICAgIHJldHVybiBwcm9ncmFt
OwogICAgIH07CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9Qcm9n
cmFtLmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvUHJvZ3JhbS5qcwppbmRleCBi
YmM0YjI0YTYyMjdiMWNlNWIwNmQ3MzNhYzIwZDkyYjU5NmE0YzczLi5mZTRkMjkyZTc5Y2U4Nzcz
ZDAyNjI2MWM5Yjg1ZGJkYzlkM2U3MTJhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5n
TGFuZ3VhZ2VSSS9Qcm9ncmFtLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJ
L1Byb2dyYW0uanMKQEAgLTMxLDcgKzMxLDYgQEAgY2xhc3MgUHJvZ3JhbSBleHRlbmRzIE5vZGUg
ewogICAgICAgICB0aGlzLl90b3BMZXZlbFN0YXRlbWVudHMgPSBbXTsKICAgICAgICAgdGhpcy5f
ZnVuY3Rpb25zID0gbmV3IE1hcCgpOwogICAgICAgICB0aGlzLl90eXBlcyA9IG5ldyBNYXAoKTsK
LSAgICAgICAgdGhpcy5fcHJvdG9jb2xzID0gbmV3IE1hcCgpOwogICAgICAgICB0aGlzLl9mdW5j
SW5zdGFudGlhdG9yID0gbmV3IEZ1bmNJbnN0YW50aWF0b3IodGhpcyk7CiAgICAgICAgIHRoaXMu
X2dsb2JhbE5hbWVDb250ZXh0ID0gbmV3IE5hbWVDb250ZXh0KCk7CiAgICAgICAgIHRoaXMuX2ds
b2JhbE5hbWVDb250ZXh0LnByb2dyYW0gPSB0aGlzOwpAQCAtNDIsNyArNDEsNiBAQCBjbGFzcyBQ
cm9ncmFtIGV4dGVuZHMgTm9kZSB7CiAgICAgZ2V0IHRvcExldmVsU3RhdGVtZW50cygpIHsgcmV0
dXJuIHRoaXMuX3RvcExldmVsU3RhdGVtZW50czsgfQogICAgIGdldCBmdW5jdGlvbnMoKSB7IHJl
dHVybiB0aGlzLl9mdW5jdGlvbnM7IH0KICAgICBnZXQgdHlwZXMoKSB7IHJldHVybiB0aGlzLl90
eXBlczsgfQotICAgIGdldCBwcm90b2NvbHMoKSB7IHJldHVybiB0aGlzLl9wcm90b2NvbHM7IH0K
ICAgICBnZXQgZnVuY0luc3RhbnRpYXRvcigpIHsgcmV0dXJuIHRoaXMuX2Z1bmNJbnN0YW50aWF0
b3I7IH0KICAgICBnZXQgZ2xvYmFsTmFtZUNvbnRleHQoKSB7IHJldHVybiB0aGlzLl9nbG9iYWxO
YW1lQ29udGV4dDsgfQogICAgIApAQCAtNTYsOCArNTQsNiBAQCBjbGFzcyBQcm9ncmFtIGV4dGVu
ZHMgTm9kZSB7CiAgICAgICAgICAgICBhcnJheS5wdXNoKHN0YXRlbWVudCk7CiAgICAgICAgIH0g
ZWxzZSBpZiAoc3RhdGVtZW50IGluc3RhbmNlb2YgVHlwZSkKICAgICAgICAgICAgIHRoaXMuX3R5
cGVzLnNldChzdGF0ZW1lbnQubmFtZSwgc3RhdGVtZW50KTsKLSAgICAgICAgZWxzZSBpZiAoc3Rh
dGVtZW50IGluc3RhbmNlb2YgUHJvdG9jb2wpCi0gICAgICAgICAgICB0aGlzLl9wcm90b2NvbHMu
c2V0KHN0YXRlbWVudC5uYW1lLCBzdGF0ZW1lbnQpOwogICAgICAgICBlbHNlCiAgICAgICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIlN0YXRlbWVudCBpcyBub3QgYSBmdW5jdGlvbiBvciB0eXBlOiAi
ICsgc3RhdGVtZW50KTsKICAgICAgICAgdGhpcy5fdG9wTGV2ZWxTdGF0ZW1lbnRzLnB1c2goc3Rh
dGVtZW50KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Byb3Bl
cnR5UmVzb2x2ZXIuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9Qcm9wZXJ0eVJl
c29sdmVyLmpzCmluZGV4IDU3YzYwMGM0OGYwMmUyMjk3NzhlNjE2MmRjZmNkYTMyYTFmNWNiNmMu
LmI1YzQ1NGFjMmRjM2Q1MzRjYTUyMTNlZjEzYzM3MzZjZDE3MDAzNDQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Byb3BlcnR5UmVzb2x2ZXIuanMKKysrIGIvVG9v
bHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvUHJvcGVydHlSZXNvbHZlci5qcwpAQCAtNTksNiAr
NTksMTAgQEAgY2xhc3MgUHJvcGVydHlSZXNvbHZlciBleHRlbmRzIFZpc2l0b3IgewogICAgICAg
ICAgICAgewogICAgICAgICAgICAgICAgIHZpc2l0KG5vZGUubFZhbHVlKTsKICAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgdmlzaXRUZXJuYXJ5RXhwcmVzc2lvbihub2RlKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBub2RlLnZp
c2l0KG5ldyBSVmFsdWVGaW5kZXIoKSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5n
TGFuZ3VhZ2VSSS9Qcm90b2NvbC5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1By
b3RvY29sLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzM2Y4NDU2NDc3ZWNhMmU4
ZGNmNjZjZjQ1YzJkNDczY2EwODU3ZDg4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Byb3RvY29sLmpz
CisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBzdHJpY3QiOwotCi1jbGFzcyBQcm90b2NvbCBleHRl
bmRzIE5vZGUgewotICAgIGNvbnN0cnVjdG9yKG9yaWdpbiwgbmFtZSkKLSAgICB7Ci0gICAgICAg
IHN1cGVyKCk7Ci0gICAgICAgIHRoaXMuX29yaWdpbiA9IG9yaWdpbjsKLSAgICAgICAgdGhpcy5f
bmFtZSA9IG5hbWU7Ci0gICAgfQotICAgIAotICAgIGdldCBvcmlnaW4oKSB7IHJldHVybiB0aGlz
Ll9vcmlnaW47IH0KLSAgICBnZXQgbmFtZSgpIHsgcmV0dXJuIHRoaXMuX25hbWU7IH0KLSAgICBn
ZXQga2luZCgpIHsgcmV0dXJuIFByb3RvY29sOyB9Ci0gICAgCi0gICAgdG9TdHJpbmcoKQotICAg
IHsKLSAgICAgICAgcmV0dXJuIHRoaXMubmFtZTsKLSAgICB9Ci19CmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9Qcm90b2NvbERlY2wuanMgYi9Ub29scy9XZWJHUFVT
aGFkaW5nTGFuZ3VhZ2VSSS9Qcm90b2NvbERlY2wuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGI1MGJjZmNmMzNiYTczOTVjNTZkOTUyYTU3OWQwOTkyN2IwYmU3NjcuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGlu
Z0xhbmd1YWdlUkkvUHJvdG9jb2xEZWNsLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTE5ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
Ci0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3Ry
aWN0IjsKLQotY2xhc3MgUHJvdG9jb2xEZWNsIGV4dGVuZHMgUHJvdG9jb2wgewotICAgIGNvbnN0
cnVjdG9yKG9yaWdpbiwgbmFtZSkKLSAgICB7Ci0gICAgICAgIHN1cGVyKG9yaWdpbiwgbmFtZSk7
Ci0gICAgICAgIHRoaXMuZXh0ZW5kcyA9IFtdOwotICAgICAgICB0aGlzLl9zaWduYXR1cmVzID0g
W107Ci0gICAgICAgIHRoaXMuX3NpZ25hdHVyZU1hcCA9IG5ldyBNYXAoKTsKLSAgICAgICAgdGhp
cy5fdHlwZVZhcmlhYmxlID0gbmV3IFR5cGVWYXJpYWJsZShvcmlnaW4sIG5hbWUsIG51bGwpOwot
ICAgIH0KLSAgICAKLSAgICBhZGRFeHRlbmRzKHByb3RvY29sKQotICAgIHsKLSAgICAgICAgdGhp
cy5leHRlbmRzLnB1c2gocHJvdG9jb2wpOwotICAgIH0KLSAgICAKLSAgICBhZGQoc2lnbmF0dXJl
KQotICAgIHsKLSAgICAgICAgaWYgKCEoc2lnbmF0dXJlIGluc3RhbmNlb2YgUHJvdG9jb2xGdW5j
RGVjbCkpCi0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIlNpZ25hdHVyZSBpc24ndCBhIFBy
b3RvY29sRnVuY0RlY2wgYnV0IGEgIiArIHNpZ25hdHVyZS5jb25zdHJ1Y3Rvci5uYW1lKTsKLSAg
ICAgICAgCi0gICAgICAgIHNpZ25hdHVyZS5wcm90b2NvbERlY2wgPSB0aGlzOwotICAgICAgICB0
aGlzLl9zaWduYXR1cmVzLnB1c2goc2lnbmF0dXJlKTsKLSAgICAgICAgbGV0IG92ZXJsb2FkcyA9
IHRoaXMuX3NpZ25hdHVyZU1hcC5nZXQoc2lnbmF0dXJlLm5hbWUpOwotICAgICAgICBpZiAoIW92
ZXJsb2FkcykKLSAgICAgICAgICAgIHRoaXMuX3NpZ25hdHVyZU1hcC5zZXQoc2lnbmF0dXJlLm5h
bWUsIG92ZXJsb2FkcyA9IFtdKTsKLSAgICAgICAgb3ZlcmxvYWRzLnB1c2goc2lnbmF0dXJlKTsK
LSAgICB9Ci0gICAgCi0gICAgZ2V0IHNpZ25hdHVyZXMoKSB7IHJldHVybiB0aGlzLl9zaWduYXR1
cmVzOyB9Ci0gICAgc2lnbmF0dXJlc0J5TmFtZShuYW1lKSB7IHJldHVybiB0aGlzLl9zaWduYXR1
cmVNYXAuZ2V0KG5hbWUpOyB9Ci0gICAgZ2V0IHR5cGVWYXJpYWJsZSgpIHsgcmV0dXJuIHRoaXMu
X3R5cGVWYXJpYWJsZTsgfQotICAgIAotICAgIHNpZ25hdHVyZXNCeU5hbWVXaXRoVHlwZVZhcmlh
YmxlKG5hbWUsIHR5cGVWYXJpYWJsZSkKLSAgICB7Ci0gICAgICAgIGxldCBzdWJzdGl0dXRpb24g
PSBuZXcgU3Vic3RpdHV0aW9uKFt0aGlzLnR5cGVWYXJpYWJsZV0sIFt0eXBlVmFyaWFibGVdKTsK
LSAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMuc2lnbmF0dXJlc0J5TmFtZShuYW1lKTsKLSAgICAg
ICAgaWYgKCFyZXN1bHQpCi0gICAgICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgICAgcmV0dXJu
IHJlc3VsdC5tYXAoc2lnbmF0dXJlID0+IHNpZ25hdHVyZS52aXNpdChzdWJzdGl0dXRpb24pKTsK
LSAgICB9Ci0gICAgCi0gICAgaW5oZXJpdHMob3RoZXJQcm90b2NvbCkKLSAgICB7Ci0gICAgICAg
IGlmICghb3RoZXJQcm90b2NvbCkKLSAgICAgICAgICAgIHJldHVybiB7cmVzdWx0OiB0cnVlfTsK
LSAgICAgICAgCi0gICAgICAgIGlmIChvdGhlclByb3RvY29sIGluc3RhbmNlb2YgUHJvdG9jb2xS
ZWYpCi0gICAgICAgICAgICBvdGhlclByb3RvY29sID0gb3RoZXJQcm90b2NvbC5wcm90b2NvbERl
Y2w7Ci0gICAgICAgIAotICAgICAgICBmb3IgKGxldCBvdGhlclNpZ25hdHVyZSBvZiBvdGhlclBy
b3RvY29sLnNpZ25hdHVyZXMpIHsKLSAgICAgICAgICAgIGxldCBzaWduYXR1cmVzID0gdGhpcy5z
aWduYXR1cmVzQnlOYW1lKG90aGVyU2lnbmF0dXJlLm5hbWUpOwotICAgICAgICAgICAgaWYgKCFz
aWduYXR1cmVzKQotICAgICAgICAgICAgICAgIHJldHVybiB7cmVzdWx0OiBmYWxzZSwgcmVhc29u
OiAiUHJvdG9jb2wgIiArIHRoaXMubmFtZSArICIgZG9lcyBub3QgaGF2ZSBhIGZ1bmN0aW9uIG5h
bWVkICIgKyBvdGhlclNpZ25hdHVyZS5uYW1lICsgIiAobG9va2luZyBhdCBzaWduYXR1cmUgIiAr
IG90aGVyU2lnbmF0dXJlICsgIikifTsKLSAgICAgICAgICAgIGxldCBvdmVybG9hZCA9IHJlc29s
dmVPdmVybG9hZEltcGwoCi0gICAgICAgICAgICAgICAgc2lnbmF0dXJlcywgW10sCi0gICAgICAg
ICAgICAgICAgb3RoZXJTaWduYXR1cmUucGFyYW1ldGVyVHlwZXMsCi0gICAgICAgICAgICAgICAg
b3RoZXJTaWduYXR1cmUucmV0dXJuVHlwZUZvck92ZXJsb2FkUmVzb2x1dGlvbik7Ci0gICAgICAg
ICAgICBpZiAoIW92ZXJsb2FkLmZ1bmMpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHtyZXN1bHQ6
IGZhbHNlLCByZWFzb246ICJEaWQgbm90IGZpbmQgbWF0Y2hpbmcgc2lnbmF0dXJlIGZvciAiICsg
b3RoZXJTaWduYXR1cmUgKyAiIGluICIgKyB0aGlzLm5hbWUgKyAob3ZlcmxvYWQuZmFpbHVyZXMu
bGVuZ3RoID8gIiAodHJpZWQ6ICIgKyBvdmVybG9hZC5mYWlsdXJlcy5qb2luKCI7ICIpICsgIiki
IDogIiIpfTsKLSAgICAgICAgICAgIGxldCBzdWJzdGl0dXRlZFJldHVyblR5cGUgPQotICAgICAg
ICAgICAgICAgIG92ZXJsb2FkLmZ1bmMucmV0dXJuVHlwZS5zdWJzdGl0dXRlVG9VbmlmaWNhdGlv
bigKLSAgICAgICAgICAgICAgICAgICAgb3ZlcmxvYWQuZnVuYy50eXBlUGFyYW1ldGVycywgb3Zl
cmxvYWQudW5pZmljYXRpb25Db250ZXh0KTsKLSAgICAgICAgICAgIGlmICghc3Vic3RpdHV0ZWRS
ZXR1cm5UeXBlLmVxdWFscyhvdGhlclNpZ25hdHVyZS5yZXR1cm5UeXBlKSkKLSAgICAgICAgICAg
ICAgICByZXR1cm4ge3Jlc3VsdDogZmFsc2UsIHJlYXNvbjogIlJldHVybiB0eXBlIG1pc21hdGNo
IGJldHdlZW4gIiArIG90aGVyU2lnbmF0dXJlLnJldHVyblR5cGUgKyAiIGFuZCAiICsgc3Vic3Rp
dHV0ZWRSZXR1cm5UeXBlfTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4ge3Jlc3VsdDogdHJ1
ZX07Ci0gICAgfQotICAgIAotICAgIGhhc0hlaXIodHlwZSkKLSAgICB7Ci0gICAgICAgIGxldCBz
dWJzdGl0dXRpb24gPSBuZXcgU3Vic3RpdHV0aW9uKFt0aGlzLl90eXBlVmFyaWFibGVdLCBbdHlw
ZV0pOwotICAgICAgICBsZXQgc2lnbmF0dXJlcyA9IHRoaXMuc2lnbmF0dXJlczsKLSAgICAgICAg
Zm9yIChsZXQgb3JpZ2luYWxTaWduYXR1cmUgb2Ygc2lnbmF0dXJlcykgewotICAgICAgICAgICAg
bGV0IHNpZ25hdHVyZSA9IG9yaWdpbmFsU2lnbmF0dXJlLnZpc2l0KHN1YnN0aXR1dGlvbik7Ci0g
ICAgICAgICAgICBsZXQgb3ZlcmxvYWQgPSByZXNvbHZlT3ZlcmxvYWRJbXBsKHNpZ25hdHVyZS5w
b3NzaWJsZU92ZXJsb2Fkcywgc2lnbmF0dXJlLnR5cGVQYXJhbWV0ZXJzLCBzaWduYXR1cmUucGFy
YW1ldGVyVHlwZXMsIHNpZ25hdHVyZS5yZXR1cm5UeXBlRm9yT3ZlcmxvYWRSZXNvbHV0aW9uKTsK
LSAgICAgICAgICAgIGlmICghb3ZlcmxvYWQuZnVuYykKLSAgICAgICAgICAgICAgICByZXR1cm4g
e3Jlc3VsdDogZmFsc2UsIHJlYXNvbjogIkRpZCBub3QgZmluZCBtYXRjaGluZyBzaWduYXR1cmUg
Zm9yICIgKyBvcmlnaW5hbFNpZ25hdHVyZSArICIgKGF0ICIgKyBvcmlnaW5hbFNpZ25hdHVyZS5v
cmlnaW4ub3JpZ2luU3RyaW5nICsgIikgd2l0aCB0eXBlICIgKyB0eXBlICsgKG92ZXJsb2FkLmZh
aWx1cmVzLmxlbmd0aCA/ICIgKHRyaWVkOiAiICsgb3ZlcmxvYWQuZmFpbHVyZXMuam9pbigiOyAi
KSArICIpIiA6ICIiKX07Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGxldCBzdWJzdGl0dXRl
ZFJldHVyblR5cGUgPSBvdmVybG9hZC5mdW5jLnJldHVyblR5cGUuc3Vic3RpdHV0ZVRvVW5pZmlj
YXRpb24oCi0gICAgICAgICAgICAgICAgb3ZlcmxvYWQuZnVuYy50eXBlUGFyYW1ldGVycywgb3Zl
cmxvYWQudW5pZmljYXRpb25Db250ZXh0KTsKLSAgICAgICAgICAgIGlmICghc3Vic3RpdHV0ZWRS
ZXR1cm5UeXBlLmVxdWFscyhzaWduYXR1cmUucmV0dXJuVHlwZSkpCi0gICAgICAgICAgICAgICAg
cmV0dXJuIHtyZXN1bHQ6IGZhbHNlLCByZWFzb246ICJBdCBzaWduYXR1cmUgIiArIG9yaWdpbmFs
U2lnbmF0dXJlICsgIiAoYXQgIiArIG9yaWdpbmFsU2lnbmF0dXJlLm9yaWdpbi5vcmlnaW5TdHJp
bmcgKyAiKTogcmV0dXJuIHR5cGUgbWlzbWF0Y2ggYmV0d2VlbiAiICsgc2lnbmF0dXJlLnJldHVy
blR5cGUgKyAiIGFuZCAiICsgc3Vic3RpdHV0ZWRSZXR1cm5UeXBlICsgIiBpbiBmb3VuZCBmdW5j
dGlvbiAiICsgb3ZlcmxvYWQuZnVuYy50b0RlY2xTdHJpbmcoKX07Ci0gICAgICAgIH0KLSAgICAg
ICAgcmV0dXJuIHtyZXN1bHQ6IHRydWV9OwotICAgIH0KLSAgICAKLSAgICB0b1N0cmluZygpCi0g
ICAgewotICAgICAgICByZXR1cm4gInByb3RvY29sICIgKyB0aGlzLm5hbWUgKyAiIHsgIiArIHRo
aXMuc2lnbmF0dXJlcy5qb2luKCI7ICIpICsgIjsgfSI7Ci0gICAgfQotfQotCi0KZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Byb3RvY29sRnVuY0RlY2wuanMgYi9U
b29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9Qcm90b2NvbEZ1bmNEZWNsLmpzCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OWI1YzliOGU3MTYxODY4YTFjZTQ1ZDU4ODY2MzkyYzAy
MjI0NGQzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rv
b2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Byb3RvY29sRnVuY0RlY2wuanMKKysrIC9kZXYv
bnVsbApAQCAtMSwzMyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0g
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAotICovCi0idXNlIHN0cmljdCI7Ci0KLWNsYXNzIFByb3RvY29sRnVuY0RlY2wgZXh0ZW5k
cyBGdW5jIHsKLSAgICBnZXQgdHlwZVBhcmFtZXRlcnNGb3JDYWxsUmVzb2x1dGlvbigpCi0gICAg
ewotICAgICAgICByZXR1cm4gdGhpcy50eXBlUGFyYW1ldGVycy5jb25jYXQodGhpcy5wcm90b2Nv
bERlY2wudHlwZVZhcmlhYmxlKTsKLSAgICB9Ci19Ci0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQ
VVNoYWRpbmdMYW5ndWFnZVJJL1Byb3RvY29sUmVmLmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xh
bmd1YWdlUkkvUHJvdG9jb2xSZWYuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQz
YzBlYTMwZDc0OGQ4YjllMTYxMDdhOWY4MDhjMjNiMzI4NjVlNjQuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdl
UkkvUHJvdG9jb2xSZWYuanMKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0idXNlIHN0cmljdCI7Ci0KLWNs
YXNzIFByb3RvY29sUmVmIGV4dGVuZHMgUHJvdG9jb2wgewotICAgIGNvbnN0cnVjdG9yKG9yaWdp
biwgbmFtZSkKLSAgICB7Ci0gICAgICAgIHN1cGVyKG9yaWdpbiwgbmFtZSk7Ci0gICAgICAgIHRo
aXMucHJvdG9jb2xEZWNsID0gbnVsbDsKLSAgICB9Ci0gICAgCi0gICAgaW5oZXJpdHMob3RoZXIp
Ci0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5wcm90b2NvbERlY2wuaW5oZXJpdHMob3RoZXIp
OwotICAgIH0KLSAgICAKLSAgICBoYXNIZWlyKHR5cGUpCi0gICAgewotICAgICAgICByZXR1cm4g
dGhpcy5wcm90b2NvbERlY2wuaGFzSGVpcih0eXBlKTsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IGlz
UHJpbWl0aXZlKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLnByb3RvY29sRGVjbC5pc1By
aW1pdGl2ZTsKLSAgICB9Ci19CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3Vh
Z2VSSS9SZWN1cnNpdmVUeXBlQ2hlY2tlci5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFn
ZVJJL1JlY3Vyc2l2ZVR5cGVDaGVja2VyLmpzCmluZGV4IDkxZjc2NzQyZjYwZDE0YTM3ZTZlNjA2
YzNhYjJmOWMyYzhmYWIxMTYuLjVjMjE3NTcxZDAzOTQ3MzI5NzczYTkzNDA3OTZlNDE4Zjc2ZWZm
YmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1JlY3Vyc2l2ZVR5
cGVDaGVja2VyLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1JlY3Vyc2l2
ZVR5cGVDaGVja2VyLmpzCkBAIC01Myw1ICs1MywxMCBAQCBjbGFzcyBSZWN1cnNpdmVUeXBlQ2hl
Y2tlciBleHRlbmRzIFZpc2l0b3IgewogICAgICAgICBzdXBlci52aXNpdFR5cGVSZWYobm9kZSk7
CiAgICAgICAgIG5vZGUudHlwZS52aXNpdCh0aGlzKTsKICAgICB9CisKKyAgICB2aXNpdE5hdGl2
ZVBhcmFtZXRlcml6ZWRUeXBlKG5vZGUpCisgICAgeworICAgICAgICB0aGlzLl92aXNpdGluZy5k
b1Zpc2l0KG5vZGUsICgpID0+IHN1cGVyLnZpc2l0TmF0aXZlUGFyYW1ldGVyaXplZFR5cGUobm9k
ZSkpOworICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdl
UkkvUmVzb2x2ZUNhbGxFeHByZXNzaW9uc1dpdGhUeXBlQXJndW1lbnRzLmpzIGIvVG9vbHMvV2Vi
R1BVU2hhZGluZ0xhbmd1YWdlUkkvUmVzb2x2ZUNhbGxFeHByZXNzaW9uc1dpdGhUeXBlQXJndW1l
bnRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY4NjQ4NDQzYzIyNGNkZDQ5YjFhMjgwOTFjMDMxY2IzNGNhMTEy
NzYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9SZXNv
bHZlQ2FsbEV4cHJlc3Npb25zV2l0aFR5cGVBcmd1bWVudHMuanMKQEAgLTAsMCArMSwzMCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworInVzZSBzdHJpY3Qi
OworCitmdW5jdGlvbiByZXNvbHZlQ2FsbEV4cHJlc3Npb25zV2l0aFR5cGVBcmd1bWVudHMocHJv
Z3JhbSkKK3sKKyAgICBwcm9ncmFtLnZpc2l0KG5ldyBDYWxsRXhwcmVzc2lvblR5cGVBcmd1bWVu
dFJlc29sdmVyKHByb2dyYW0pKTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9SZXNvbHZlTmFtZXMuanMgYi9U
b29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9SZXNvbHZlTmFtZXMuanMKaW5kZXggMTkyMmU4
ZWMyN2ZjMzlkOTViNGFhOGJmYTlhNTZjOTEwZjZlNjhiMi4uNDlkYzg2MzdkNGUxNDNhOWIwN2Q1
OWNmM2ZiOTc1Y2Y4NGE2NWUxNiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1
YWdlUkkvUmVzb2x2ZU5hbWVzLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJ
L1Jlc29sdmVOYW1lcy5qcwpAQCAtMzUsMTIgKzM1LDYgQEAgZnVuY3Rpb24gcmVzb2x2ZU5hbWVz
SW5UeXBlcyhwcm9ncmFtLCBuYW1lUmVzb2x2ZXIpCiAgICAgICAgIG5hbWVSZXNvbHZlci5kb1N0
YXRlbWVudCh0eXBlKTsKIH0KIAotZnVuY3Rpb24gcmVzb2x2ZU5hbWVzSW5Qcm90b2NvbHMocHJv
Z3JhbSwgbmFtZVJlc29sdmVyKQotewotICAgIGZvciAobGV0IHByb3RvY29sIG9mIHByb2dyYW0u
cHJvdG9jb2xzLnZhbHVlcygpKQotICAgICAgICBuYW1lUmVzb2x2ZXIuZG9TdGF0ZW1lbnQocHJv
dG9jb2wpOwotfQotCiBmdW5jdGlvbiByZXNvbHZlTmFtZXNJbkZ1bmN0aW9ucyhwcm9ncmFtLCBu
YW1lUmVzb2x2ZXIpCiB7CiAgICAgZm9yIChsZXQgZnVuY3Mgb2YgcHJvZ3JhbS5mdW5jdGlvbnMu
dmFsdWVzKCkpIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Jl
c29sdmVPdmVybG9hZEltcGwuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9SZXNv
bHZlT3ZlcmxvYWRJbXBsLmpzCmluZGV4IDdlMjIxNTZkZTFhYzVlMmE2YzcyNGFkMzQ2OWRjOTFl
NzQ2ZjI1NjYuLmQ1NGI5NGQzNmNkYjBiMDY4Mjk5NjI2YWYwNTY1YTgyYmE3Nzc1YzcgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Jlc29sdmVPdmVybG9hZEltcGwu
anMKKysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvUmVzb2x2ZU92ZXJsb2FkSW1w
bC5qcwpAQCAtMjQsNyArMjQsNyBAQAogICovCiAidXNlIHN0cmljdCI7CiAKLWZ1bmN0aW9uIHJl
c29sdmVPdmVybG9hZEltcGwoZnVuY3Rpb25zLCB0eXBlQXJndW1lbnRzLCBhcmd1bWVudFR5cGVz
LCByZXR1cm5UeXBlLCBhbGxvd0VudHJ5UG9pbnQgPSBmYWxzZSkKK2Z1bmN0aW9uIHJlc29sdmVP
dmVybG9hZEltcGwoZnVuY3Rpb25zLCBhcmd1bWVudFR5cGVzLCByZXR1cm5UeXBlLCBhbGxvd0Vu
dHJ5UG9pbnQgPSBmYWxzZSkKIHsKICAgICBpZiAoIWZ1bmN0aW9ucykKICAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCJOdWxsIGZ1bmN0aW9uczsgdGhhdCBzaG91bGQgaGF2ZSBiZWVuIGNhdWdodCBi
eSB0aGUgY2FsbGVyLiIpOwpAQCAtMzYsNyArMzYsNyBAQCBmdW5jdGlvbiByZXNvbHZlT3Zlcmxv
YWRJbXBsKGZ1bmN0aW9ucywgdHlwZUFyZ3VtZW50cywgYXJndW1lbnRUeXBlcywgcmV0dXJuVHlw
ZQogICAgICAgICAgICAgZmFpbHVyZXMucHVzaChuZXcgT3ZlcmxvYWRSZXNvbHV0aW9uRmFpbHVy
ZShmdW5jLCAiRnVuY3Rpb24gaXMgYSAiICsgZnVuYy5zaGFkZXJUeXBlICsgIiBzaGFkZXIsIHNv
IGl0IGNhbm5vdCBiZSBjYWxsZWQgZnJvbSB3aXRoaW4gYW4gZXhpc3Rpbmcgc2hhZGVyLiIpKQog
ICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KLSAgICAgICAgbGV0IG92ZXJsb2FkID0g
aW5mZXJUeXBlc0ZvckNhbGwoZnVuYywgdHlwZUFyZ3VtZW50cywgYXJndW1lbnRUeXBlcywgcmV0
dXJuVHlwZSk7CisgICAgICAgIGxldCBvdmVybG9hZCA9IGluZmVyVHlwZXNGb3JDYWxsKGZ1bmMs
IGFyZ3VtZW50VHlwZXMsIHJldHVyblR5cGUpOwogICAgICAgICBpZiAob3ZlcmxvYWQuZmFpbHVy
ZSkKICAgICAgICAgICAgIGZhaWx1cmVzLnB1c2gob3ZlcmxvYWQuZmFpbHVyZSk7CiAgICAgICAg
IGVsc2UKQEAgLTc0LDcgKzc0LDYgQEAgZnVuY3Rpb24gcmVzb2x2ZU92ZXJsb2FkSW1wbChmdW5j
dGlvbnMsIHR5cGVBcmd1bWVudHMsIGFyZ3VtZW50VHlwZXMsIHJldHVyblR5cGUKICAgICAgICAg
ICAgIGxldCBwYXJhbWV0ZXJGdW5jID0gc3VjY2Vzc2VzW2pdLmZ1bmM7CiAgICAgICAgICAgICBs
ZXQgb3ZlcmxvYWQgPSBpbmZlclR5cGVzRm9yQ2FsbCgKICAgICAgICAgICAgICAgICBwYXJhbWV0
ZXJGdW5jLAotICAgICAgICAgICAgICAgIHR5cGVBcmd1bWVudHMubGVuZ3RoID8gYXJndW1lbnRG
dW5jLnR5cGVQYXJhbWV0ZXJzIDogW10sCiAgICAgICAgICAgICAgICAgYXJndW1lbnRGdW5jLnBh
cmFtZXRlclR5cGVzLAogICAgICAgICAgICAgICAgIGFyZ3VtZW50RnVuYy5yZXR1cm5UeXBlRm9y
T3ZlcmxvYWRSZXNvbHV0aW9uKTsKICAgICAgICAgICAgIGlmICghb3ZlcmxvYWQuZnVuYykgewpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvUmVzb2x2ZVR5cGVEZWZz
LmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvUmVzb2x2ZVR5cGVEZWZzLmpzCmlu
ZGV4IDNiZDJhNGQ2NWY1NjRmNzA4YjBlZjQ3NTllNDNiMmM4OGQ0OGMyMzQuLmU4N2JkYzNjMzQ4
MzE5OTUyZmY5ZDhmMDM5OWYzNDhlYTk1MGQ2MGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNo
YWRpbmdMYW5ndWFnZVJJL1Jlc29sdmVUeXBlRGVmcy5qcworKysgYi9Ub29scy9XZWJHUFVTaGFk
aW5nTGFuZ3VhZ2VSSS9SZXNvbHZlVHlwZURlZnMuanMKQEAgLTMxLDEzICszMSw2IEBAIGZ1bmN0
aW9uIHJlc29sdmVUeXBlRGVmc0luVHlwZXMocHJvZ3JhbSkKICAgICAgICAgdHlwZS52aXNpdChy
ZXNvbHZlcik7CiB9CiAKLWZ1bmN0aW9uIHJlc29sdmVUeXBlRGVmc0luUHJvdG9jb2xzKHByb2dy
YW0pCi17Ci0gICAgbGV0IHJlc29sdmVyID0gbmV3IFR5cGVEZWZSZXNvbHZlcigpOwotICAgIGZv
ciAobGV0IHByb3RvY29sIG9mIHByb2dyYW0ucHJvdG9jb2xzLnZhbHVlcygpKQotICAgICAgICBw
cm90b2NvbC52aXNpdChyZXNvbHZlcik7Ci19Ci0KIGZ1bmN0aW9uIHJlc29sdmVUeXBlRGVmc0lu
RnVuY3Rpb25zKHByb2dyYW0pCiB7CiAgICAgbGV0IHJlc29sdmVyID0gbmV3IFR5cGVEZWZSZXNv
bHZlcigpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvUmV3cml0
ZXIuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9SZXdyaXRlci5qcwppbmRleCBm
NDBkNmI4OGIyNmVlZGNiZjgyOWYxYmFiYjEwYTIwNDViN2E4ZTgzLi42YjQ5MGE2ZTZlMDI2NGI0
YmRlZGFkZjJkOWRjMTYxNDI2YTA2MTU1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5n
TGFuZ3VhZ2VSSS9SZXdyaXRlci5qcworKysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VS
SS9SZXdyaXRlci5qcwpAQCAtNTMsNDAgKzUzLDEwIEBAIGNsYXNzIFJld3JpdGVyIHsKICAgICAv
LyB0aGF0LgogICAgIHZpc2l0RnVuY0RlZihub2RlKSB7IHJldHVybiBub2RlOyB9CiAgICAgdmlz
aXROYXRpdmVGdW5jKG5vZGUpIHsgcmV0dXJuIG5vZGU7IH0KLSAgICB2aXNpdE5hdGl2ZUZ1bmNJ
bnN0YW5jZShub2RlKSB7IHJldHVybiBub2RlOyB9CiAgICAgdmlzaXROYXRpdmVUeXBlKG5vZGUp
IHsgcmV0dXJuIG5vZGU7IH0KICAgICB2aXNpdFR5cGVEZWYobm9kZSkgeyByZXR1cm4gbm9kZTsg
fQogICAgIHZpc2l0U3RydWN0VHlwZShub2RlKSB7IHJldHVybiBub2RlOyB9Ci0gICAgdmlzaXRD
b25zdGV4cHJUeXBlUGFyYW1ldGVyKG5vZGUpIHsgcmV0dXJuIG5vZGU7IH0KLSAgICB2aXNpdFBy
b3RvY29sRGVjbChub2RlKSB7IHJldHVybiBub2RlOyB9CiAgICAgdmlzaXRFbnVtVHlwZShub2Rl
KSB7IHJldHVybiBub2RlOyB9Ci0KLSAgICAvLyBUaGlzIGlzIGFsbW9zdCB3cm9uZy4gV2UgaW5z
dGFudGlhdGUgRnVuYyBpbiBTdWJzdGl0dXRpb24gaW4gUHJvdG9jb2xEZWNsLiBUaGVuLCB3ZSBl
bmQgdXAKLSAgICAvLyBub3QgcmV3cml0aW5nIHR5cGUgdmFyaWFibGVzLiBJIHRoaW5rIHRoYXQg
anVzdCB3b3JrcyBiZWNhdXNlIG5vdCByZXdyaXRpbmcgdGhlbSB0aGVyZSBpcyBPSy4KLSAgICAv
LyBFdmVyeXdoZXJlIGVsc2UsIGl0J3MgbWFuZGF0b3J5IHRoYXQgd2UgZG9uJ3QgcmV3cml0ZSB0
aGVzZSBiZWNhdXNlIHdlIGFsd2F5cyBhc3N1bWUgdGhhdAotICAgIC8vIHR5cGUgdmFyaWFibGVz
IGFyZSBvdXRzaWRlIHRoZSBzY29wZSBvZiByZXdyaXRpbmcuCi0gICAgdmlzaXRUeXBlVmFyaWFi
bGUobm9kZSkgeyByZXR1cm4gbm9kZTsgfQotCi0gICAgdmlzaXRQcm90b2NvbEZ1bmNEZWNsKG5v
ZGUpCi0gICAgewotICAgICAgICBsZXQgcmVzdWx0ID0gbmV3IFByb3RvY29sRnVuY0RlY2woCi0g
ICAgICAgICAgICBub2RlLm9yaWdpbiwgbm9kZS5uYW1lLAotICAgICAgICAgICAgbm9kZS5yZXR1
cm5UeXBlLnZpc2l0KHRoaXMpLAotICAgICAgICAgICAgbm9kZS50eXBlUGFyYW1ldGVycy5tYXAo
cGFyYW1ldGVyID0+IHBhcmFtZXRlci52aXNpdCh0aGlzKSksCi0gICAgICAgICAgICBub2RlLnBh
cmFtZXRlcnMubWFwKHBhcmFtZXRlciA9PiBwYXJhbWV0ZXIudmlzaXQodGhpcykpLAotICAgICAg
ICAgICAgbm9kZS5pc0Nhc3QsCi0gICAgICAgICAgICBub2RlLnNoYWRlclR5cGUpOwotICAgICAg
ICByZXN1bHQucHJvdG9jb2xEZWNsID0gbm9kZS5wcm90b2NvbERlY2w7Ci0gICAgICAgIHJlc3Vs
dC5wb3NzaWJsZU92ZXJsb2FkcyA9IG5vZGUucG9zc2libGVPdmVybG9hZHM7Ci0gICAgICAgIHJl
dHVybiByZXN1bHQ7Ci0gICAgfQotICAgIAotICAgIHZpc2l0TmF0aXZlVHlwZUluc3RhbmNlKG5v
ZGUpCi0gICAgewotICAgICAgICByZXR1cm4gbmV3IE5hdGl2ZVR5cGVJbnN0YW5jZSgKLSAgICAg
ICAgICAgIG5vZGUudHlwZS52aXNpdCh0aGlzKSwKLSAgICAgICAgICAgIG5vZGUudHlwZUFyZ3Vt
ZW50cy5tYXAoYXJndW1lbnQgPT4gYXJndW1lbnQudmlzaXQodGhpcykpKTsKLSAgICB9CiAgICAg
CiAgICAgdmlzaXRGdW5jUGFyYW1ldGVyKG5vZGUpCiAgICAgewpAQCAtMTI1LDE0ICs5NSw5IEBA
IGNsYXNzIFJld3JpdGVyIHsKICAgICAgICAgfSkpOwogICAgIH0KICAgICAKLSAgICB2aXNpdFBy
b3RvY29sUmVmKG5vZGUpCi0gICAgewotICAgICAgICByZXR1cm4gbm9kZTsKLSAgICB9Ci0gICAg
CiAgICAgdmlzaXRUeXBlUmVmKG5vZGUpCiAgICAgewotICAgICAgICBsZXQgcmVzdWx0ID0gbmV3
IFR5cGVSZWYobm9kZS5vcmlnaW4sIG5vZGUubmFtZSwgbm9kZS50eXBlQXJndW1lbnRzLm1hcCh0
eXBlQXJndW1lbnQgPT4gdHlwZUFyZ3VtZW50LnZpc2l0KHRoaXMpKSk7CisgICAgICAgIGxldCBy
ZXN1bHQgPSBuZXcgVHlwZVJlZihub2RlLm9yaWdpbiwgbm9kZS5uYW1lKTsKICAgICAgICAgcmVz
dWx0LnR5cGUgPSBOb2RlLnZpc2l0KG5vZGUudHlwZSwgdGhpcyk7CiAgICAgICAgIHJldHVybiBy
ZXN1bHQ7CiAgICAgfQpAQCAtMTk4LDYgKzE2MywxMSBAQCBjbGFzcyBSZXdyaXRlciB7CiAgICAg
ICAgIHJlc3VsdC5hZGRyZXNzU3BhY2UgPSBub2RlLmFkZHJlc3NTcGFjZTsKICAgICAgICAgcmV0
dXJuIHJlc3VsdDsKICAgICB9CisKKyAgICB2aXNpdFRlcm5hcnlFeHByZXNzaW9uKG5vZGUpCisg
ICAgeworICAgICAgICByZXR1cm4gbmV3IFRlcm5hcnlFeHByZXNzaW9uKG5vZGUub3JpZ2luLCBu
b2RlLnByZWRpY2F0ZS52aXNpdCh0aGlzKSwgbm9kZS5ib2R5RXhwcmVzc2lvbi52aXNpdCh0aGlz
KSwgbm9kZS5lbHNlRXhwcmVzc2lvbi52aXNpdCh0aGlzKSk7CisgICAgfQogICAgIAogICAgIF9o
YW5kbGVQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24ocmVzdWx0LCBub2RlKQogICAgIHsKQEAgLTMx
NywxNCArMjg3LDYgQEAgY2xhc3MgUmV3cml0ZXIgewogCiAgICAgcHJvY2Vzc0Rlcml2ZWRDYWxs
RGF0YShub2RlLCByZXN1bHQpCiAgICAgewotICAgICAgICBsZXQgaGFuZGxlVHlwZUFyZ3VtZW50
cyA9IGFjdHVhbFR5cGVBcmd1bWVudHMgPT4gewotICAgICAgICAgICAgaWYgKGFjdHVhbFR5cGVB
cmd1bWVudHMpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGFjdHVhbFR5cGVBcmd1bWVudHMubWFw
KGFjdHVhbFR5cGVBcmd1bWVudCA9PiBhY3R1YWxUeXBlQXJndW1lbnQudmlzaXQodGhpcykpOwot
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwotICAgICAgICB9
Ci0gICAgICAgIHJlc3VsdC5hY3R1YWxUeXBlQXJndW1lbnRzID0gaGFuZGxlVHlwZUFyZ3VtZW50
cyhub2RlLmFjdHVhbFR5cGVBcmd1bWVudHMpOwotICAgICAgICByZXN1bHQuaW5zdGFudGlhdGVk
QWN0dWFsVHlwZUFyZ3VtZW50cyA9IGhhbmRsZVR5cGVBcmd1bWVudHMobm9kZS5pbnN0YW50aWF0
ZWRBY3R1YWxUeXBlQXJndW1lbnRzKTsKICAgICAgICAgbGV0IGFyZ3VtZW50VHlwZXMgPSBub2Rl
LmFyZ3VtZW50VHlwZXM7CiAgICAgICAgIGlmIChhcmd1bWVudFR5cGVzKQogICAgICAgICAgICAg
cmVzdWx0LmFyZ3VtZW50VHlwZXMgPSBhcmd1bWVudFR5cGVzLm1hcChhcmd1bWVudFR5cGUgPT4g
YXJndW1lbnRUeXBlLnZpc2l0KHRoaXMpKTsKQEAgLTM0MCw5ICszMDIsOSBAQCBjbGFzcyBSZXdy
aXRlciB7CiAKICAgICB2aXNpdENhbGxFeHByZXNzaW9uKG5vZGUpCiAgICAgeworICAgICAgICAv
LyBGSVhNRSBDaGVjayBpZiB0aGUgdHlwZSBhcmd1bWVudHMgYXJlIGV2ZXIgYWN0dWFsbHkgbWFw
cGVkIG92ZXIKICAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBDYWxsRXhwcmVzc2lvbigKICAgICAg
ICAgICAgIG5vZGUub3JpZ2luLCBub2RlLm5hbWUsCi0gICAgICAgICAgICBub2RlLnR5cGVBcmd1
bWVudHMubWFwKHR5cGVBcmd1bWVudCA9PiB0eXBlQXJndW1lbnQudmlzaXQodGhpcykpLAogICAg
ICAgICAgICAgbm9kZS5hcmd1bWVudExpc3QubWFwKGFyZ3VtZW50ID0+IE5vZGUudmlzaXQoYXJn
dW1lbnQsIHRoaXMpKSk7CiAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NEZXJpdmVkQ2FsbERh
dGEobm9kZSwgcmVzdWx0KTsKICAgICB9CkBAIC00MTIsNyArMzc0LDcgQEAgY2xhc3MgUmV3cml0
ZXIgewogICAgIAogICAgIHZpc2l0QW5vbnltb3VzVmFyaWFibGUobm9kZSkKICAgICB7Ci0gICAg
ICAgIGxldCByZXN1bHQgPSBuZXcgQW5vbnltb3VzVmFyaWFibGUobm9kZS5vcmlnaW4sIG5vZGUu
dHlwZS52aXNpdCh0aGlzKSk7CisgICAgICAgIGxldCByZXN1bHQgPSBuZXcgQW5vbnltb3VzVmFy
aWFibGUobm9kZS5vcmlnaW4sIE5vZGUudmlzaXQobm9kZS50eXBlLCB0aGlzKSk7CiAgICAgICAg
IHJlc3VsdC5faW5kZXggPSBub2RlLl9pbmRleDsKICAgICAgICAgdGhpcy5fbWFwTm9kZShub2Rl
LCByZXN1bHQpOwogICAgICAgICByZXN1bHQuZVB0ciA9IG5vZGUuZVB0cjsKQEAgLTQyMyw1ICsz
ODUsMTcgQEAgY2xhc3MgUmV3cml0ZXIgewogICAgIHsKICAgICAgICAgcmV0dXJuIG5ldyBJZGVu
dGl0eUV4cHJlc3Npb24obm9kZS50YXJnZXQudmlzaXQodGhpcykpOwogICAgIH0KKworICAgIHZp
c2l0TmF0aXZlUGFyYW1ldGVyaXplZFR5cGUobm9kZSkKKyAgICB7CisgICAgICAgIGxldCBhcmdz
ID0gbm9kZS50eXBlQXJndW1lbnRzLm1hcChhcmcgPT4gYXJnLnZpc2l0KHRoaXMpKTsKKyAgICAg
ICAgcmV0dXJuIG5ldyBOYXRpdmVQYXJhbWV0ZXJpemVkVHlwZShub2RlLm9yaWdpbiwgbm9kZS5u
YW1lLCBhcmdzKTsKKyAgICB9CisKKyAgICB2aXNpdFZlY3RvclR5cGUobm9kZSkKKyAgICB7Cisg
ICAgICAgIGxldCBhcmdzID0gbm9kZS50eXBlQXJndW1lbnRzLm1hcChhcmcgPT4gYXJnLnZpc2l0
KHRoaXMpKTsKKyAgICAgICAgcmV0dXJuIG5ldyBWZWN0b3JUeXBlKG5vZGUub3JpZ2luLCBub2Rl
Lm5hbWUsIGFyZ3MpOworICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGlu
Z0xhbmd1YWdlUkkvU1BJUlYuaHRtbCBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1NQ
SVJWLmh0bWwKaW5kZXggOTNmNmI5YjkzMmQyNzJkNzdhM2RjMzE2N2Y1MjVmYTQwYTYxZWQyMy4u
ODc0MDViNzY1ODEyYTZiMTg2NmMxNWI2NmRmMDNmNWMwMWVhZjgyMiAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvU1BJUlYuaHRtbAorKysgYi9Ub29scy9XZWJHUFVT
aGFkaW5nTGFuZ3VhZ2VSSS9TUElSVi5odG1sCkBAIC0xOCw2ICsxOCw3IEBAIHRkIHsKICAgICA8
c2NyaXB0IHNyYz0iQ3JlYXRlTGl0ZXJhbFR5cGUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
c3JjPSJQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24uanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
c3JjPSJTd2l6emxlT3AuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJOYXRpdmVUeXBl
LmpzIj48L3NjcmlwdD4KIAogICAgIDxzY3JpcHQgc3JjPSJBZGRyZXNzU3BhY2UuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJBbm9ueW1vdXNWYXJpYWJsZS5qcyI+PC9zY3JpcHQ+CkBA
IC0yOCw3ICsyOSwxNCBAQCB0ZCB7CiAgICAgPHNjcmlwdCBzcmM9IkJsb2NrLmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHNyYz0iQm9vbExpdGVyYWwuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgc3JjPSJCcmVhay5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IkJ1aWx0aW5WZWN0
b3JDYXN0cy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IkJ1aWx0aW5WZWN0b3JHZXR0
ZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJCdWlsdGluVmVjdG9yU2V0dGVyLmpz
Ij48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iQnVpbHRpblZlY3RvckluZGV4R2V0dGVyLmpz
Ij48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iQnVpbHRpblZlY3RvckluZGV4U2V0dGVyLmpz
Ij48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iQnVpbHRpblZlY3RvckVxdWFsaXR5T3BlcmF0
b3IuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJDYWxsRXhwcmVzc2lvbi5qcyI+PC9z
Y3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IkNhbGxFeHByZXNzaW9uVHlwZUFyZ3VtZW50UmVzb2x2
ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJDYWxsRnVuY3Rpb24uanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJDaGVjay5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9IkNoZWNrTGl0ZXJhbFR5cGVzLmpzIj48L3NjcmlwdD4KQEAgLTQyLDcgKzUwLDYgQEAgdGQg
ewogICAgIDxzY3JpcHQgc3JjPSJDbG9uZVByb2dyYW0uanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgc3JjPSJDb21tYUV4cHJlc3Npb24uanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJD
b25zdGV4cHJGb2xkZXIuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJDb25zdGV4cHJU
eXBlUGFyYW1ldGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iQ29udGludWUuanMi
Pjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJDb252ZXJ0UHRyVG9BcnJheVJlZkV4cHJlc3Np
b24uanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJEb1doaWxlTG9vcC5qcyI+PC9zY3Jp
cHQ+CkBAIC02MSw3ICs2OCw2IEBAIHRkIHsKICAgICA8c2NyaXB0IHNyYz0iRXh0ZXJuYWxPcmln
aW4uanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJGaWVsZC5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCBzcmM9IkZpbmRIaWdoWm9tYmllcy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlw
dCBzcmM9IkZsYXR0ZW5Qcm90b2NvbEV4dGVuZHMuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
c3JjPSJGbGF0dGVuZWRTdHJ1Y3RPZmZzZXRHYXRoZXJlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNj
cmlwdCBzcmM9IkZsb2F0TGl0ZXJhbC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkZs
b2F0TGl0ZXJhbFR5cGUuanMiPjwvc2NyaXB0PgpAQCAtNjksNyArNzUsNiBAQCB0ZCB7CiAgICAg
PHNjcmlwdCBzcmM9IkZvckxvb3AuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJGdW5j
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iRnVuY0RlZi5qcyI+PC9zY3JpcHQ+Ci0g
ICAgPHNjcmlwdCBzcmM9IkZ1bmNJbnN0YW50aWF0b3IuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgc3JjPSJGdW5jUGFyYW1ldGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iRnVu
Y3Rpb25MaWtlQmxvY2suanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJIaWdoWm9tYmll
RmluZGVyLmpzIj48L3NjcmlwdD4KQEAgLTc5LDcgKzg0LDYgQEAgdGQgewogICAgIDxzY3JpcHQg
c3JjPSJJbmZlclR5cGVzRm9yQ2FsbC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Iklu
bGluZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IklubGluZXIuanMiPjwvc2NyaXB0
PgotICAgIDxzY3JpcHQgc3JjPSJJbnN0YW50aWF0ZUltbWVkaWF0ZXMuanMiPjwvc2NyaXB0Pgog
ICAgIDxzY3JpcHQgc3JjPSJJbnRMaXRlcmFsLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNy
Yz0iSW50TGl0ZXJhbFR5cGUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJJbnRyaW5z
aWNzLmpzIj48L3NjcmlwdD4KQEAgLTk3LDExICsxMDEsMTQgQEAgdGQgewogICAgIDxzY3JpcHQg
c3JjPSJOYW1lUmVzb2x2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJOYXRpdmVG
dW5jLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTmF0aXZlRnVuY0luc3RhbmNlLmpz
Ij48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iTmF0aXZlUGFyYW1ldGVyaXplZFR5cGUuanMi
Pjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJOYXRpdmVUeXBlLmpzIj48L3NjcmlwdD4KLSAg
ICA8c2NyaXB0IHNyYz0iTmF0aXZlVHlwZUluc3RhbmNlLmpzIj48L3NjcmlwdD4KICAgICA8c2Ny
aXB0IHNyYz0iTm9ybWFsVXNlUHJvcGVydHlSZXNvbHZlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNj
cmlwdCBzcmM9Ik51bGxMaXRlcmFsLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTnVs
bFR5cGUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJPcGVyYXRvckFuZGVySW5kZXgu
anMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJPcGVyYXRvckFycmF5UmVmTGVuZ3RoLmpz
Ij48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iT3BlcmF0b3JCb29sLmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHNyYz0iT3JpZ2luS2luZC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9Ik92ZXJsb2FkUmVzb2x1dGlvbkZhaWx1cmUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
c3JjPSJQYXJzZS5qcyI+PC9zY3JpcHQ+CkBAIC0xMDksMTQgKzExNiwxMSBAQCB0ZCB7CiAgICAg
PHNjcmlwdCBzcmM9IlByb3BlcnR5UmVzb2x2ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
c3JjPSJQcm9ncmFtLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUHJvZ3JhbVdpdGhV
bm5lY2Vzc2FyeVRoaW5nc1JlbW92ZWQuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJQ
cm90b2NvbC5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9IlByb3RvY29sRGVjbC5qcyI+
PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9IlByb3RvY29sRnVuY0RlY2wuanMiPjwvc2NyaXB0
PgotICAgIDxzY3JpcHQgc3JjPSJQcm90b2NvbFJlZi5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlw
dCBzcmM9IlB0clR5cGUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJSZWFkTW9kaWZ5
V3JpdGVFeHByZXNzaW9uLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUmVjdXJzaW9u
Q2hlY2tlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlJlY3Vyc2l2ZVR5cGVDaGVj
a2VyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iUmVzb2x2ZUNhbGxFeHByZXNzaW9u
c1dpdGhUeXBlQXJndW1lbnRzLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUmVzb2x2
ZU5hbWVzLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUmVzb2x2ZU92ZXJsb2FkSW1w
bC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlJlc29sdmVQcm9wZXJ0aWVzLmpzIj48
L3NjcmlwdD4KQEAgLTEyNCwyNyArMTI4LDI3IEBAIHRkIHsKICAgICA8c2NyaXB0IHNyYz0iUmV0
dXJuLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUmV0dXJuQ2hlY2tlci5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlJldHVybkV4Y2VwdGlvbi5qcyI+PC9zY3JpcHQ+Ci0g
ICAgPHNjcmlwdCBzcmM9IlNQSVItVi5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9IlNQ
SVJWQ29kZWdlbi5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBzcmM9IlNQSVJWVHlwZUFuYWx5
emVyLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iU1BJUlZWYXJpYWJsZUFuYWx5emVy
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iU3RhbmRhcmRMaWJyYXJ5LmpzIj48L3Nj
cmlwdD4KICAgICA8c2NyaXB0IHNyYz0iU3RhdGVtZW50Q2xvbmVyLmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHNyYz0iU3RydWN0TGF5b3V0QnVpbGRlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNj
cmlwdCBzcmM9IlN0cnVjdFR5cGUuanMiPjwvc2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJTdWJz
dGl0dXRpb24uanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJTd2l0Y2hDYXNlLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iU3dpdGNoU3RhdGVtZW50LmpzIj48L3NjcmlwdD4K
KyAgICA8c2NyaXB0IHNyYz0iU3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGguanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJTeW50aGVzaXplRW51bUZ1bmN0aW9ucy5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9IlN5bnRoZXNpemVTdHJ1Y3RBY2Nlc3NvcnMuanMiPjwvc2Ny
aXB0PgorICAgIDxzY3JpcHQgc3JjPSJTeW50aGVzaXplT3BlcmF0b3JCb29sLmpzIj48L3Njcmlw
dD4KKyAgICA8c2NyaXB0IHNyYz0iU3ludGhlc2l6ZUNvcHlDb25zdHJ1Y3Rvck9wZXJhdG9yLmpz
Ij48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iU3ludGhlc2l6ZURlZmF1bHRDb25zdHJ1Y3Rv
ck9wZXJhdG9yLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iVHJhcFN0YXRlbWVudC5q
cyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IlR5cGVEZWYuanMiPjwvc2NyaXB0PgorICAg
IDxzY3JpcHQgc3JjPSJUeXBlRGVmUmVzb2x2ZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQg
c3JjPSJUZXJuYXJ5RXhwcmVzc2lvbi5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlRy
YXBTdGF0ZW1lbnQuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJUeXBlRGVmLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVHlwZURlZlJlc29sdmVyLmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHNyYz0iVHlwZU9yVmFyaWFibGVSZWYuanMiPjwvc2NyaXB0PgotICAgIDxz
Y3JpcHQgc3JjPSJUeXBlUGFyYW1ldGVyUmV3cml0ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgc3JjPSJUeXBlUmVmLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iVHlwZVZhcmlh
YmxlLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iVHlwZVZhcmlhYmxlVHJhY2tlci5q
cyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlR5cGVkVmFsdWUuanMiPjwvc2NyaXB0Pgog
ICAgIDxzY3JpcHQgc3JjPSJVaW50TGl0ZXJhbC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9IlVpbnRMaXRlcmFsVHlwZS5qcyI+PC9zY3JpcHQ+CkBAIC0xNTIsNiArMTU2LDcgQEAgdGQg
ewogICAgIDxzY3JpcHQgc3JjPSJVbnJlYWNoYWJsZUNvZGVDaGVja2VyLmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHNyYz0iVmFyaWFibGVEZWNsLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHNyYz0iVmFyaWFibGVSZWYuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJWZWN0b3JU
eXBlLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlzaXRpbmdTZXQuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJXU3ludGF4RXJyb3IuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgc3JjPSJXVHJhcEVycm9yLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YkdQVVNoYWRpbmdMYW5ndWFnZVJJL1NQSVJWQ29kZWdlbi5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRp
bmdMYW5ndWFnZVJJL1NQSVJWQ29kZWdlbi5qcwppbmRleCBiNGY1MDg1OWE4N2FmYjYwZTU0YjM2
MGM2MDU5YzRhYWM4YzIzYmNhLi5kODBmNmY1ODI4YWIyYzAwOTI3NzNhOTQ1Mzc5MDdmMDJhMTY5
NmNmIDEwMDY0NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9TUElSVkNvZGVn
ZW4uanMKKysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvU1BJUlZDb2RlZ2VuLmpz
CkBAIC01Myw3ICs1Myw3IEBAIGZ1bmN0aW9uIGdlbmVyYXRlU1BJUlYoc3BpcnYsIHByb2dyYW0p
CiAgICAgdHlwZU1hcC5zZXQocHJvZ3JhbS5pbnRyaW5zaWNzLnVpbnQzMiwgY3VycmVudElkKysp
OwogCiAgICAgZm9yIChsZXQgZW50cnlQb2ludCBvZiBmaW5kRW50cnlQb2ludHMoKSkgewotICAg
ICAgICBsZXQgaW5saW5lZFNoYWRlciA9IHByb2dyYW0uZnVuY0luc3RhbnRpYXRvci5nZXRVbmlx
dWUoZW50cnlQb2ludCwgW10pOworICAgICAgICBsZXQgaW5saW5lZFNoYWRlciA9IHByb2dyYW0u
ZnVuY0luc3RhbnRpYXRvci5nZXRVbmlxdWUoZW50cnlQb2ludCk7CiAgICAgICAgIF9pbmxpbmVG
dW5jdGlvbihwcm9ncmFtLCBpbmxpbmVkU2hhZGVyLCBuZXcgVmlzaXRpbmdTZXQoZW50cnlQb2lu
dCkpOwogCiAgICAgICAgIGxldCB0eXBlQW5hbHl6ZXIgPSBuZXcgU1BJUlZUeXBlQW5hbHl6ZXIo
cHJvZ3JhbSwgdHlwZU1hcCwgY3VycmVudElkKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNo
YWRpbmdMYW5ndWFnZVJJL1N0YW5kYXJkTGlicmFyeS5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdM
YW5ndWFnZVJJL1N0YW5kYXJkTGlicmFyeS5qcwppbmRleCAxOTg4NzIzYzM1NDgwODFjNjY3ZmFj
Nzg2MmY0MDI2N2Y5ZjhiODU3Li44Njc1MDM4OTViN2Q1NTE5OTZmYjU5ZjM1N2E4NzRjMjFlZjgw
NzdmIDEwMDY0NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9TdGFuZGFyZExp
YnJhcnkuanMKKysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvU3RhbmRhcmRMaWJy
YXJ5LmpzCkBAIC0yNiw1NiArMjYsNzgwIEBACiAKIC8vIE5PVEU6IFRoZSBuZXh0IGxpbmUgaXMg
bGluZSAyOCwgYW5kIHdlIHJlbHkgb24gdGhpcyBpbiBQcmVwYXJlLmpzLgogbGV0IHN0YW5kYXJk
TGlicmFyeSA9IGAKLS8vIFRoaXMgaXMgdGhlIFdTTCBzdGFuZGFyZCBsaWJyYXJ5LiBJbXBsZW1l
bnRhdGlvbnMgb2YgYWxsIG9mIHRoZXNlIHRoaW5ncyBhcmUgaW4KLS8vIEludHJpbnNpY3MuanMu
CisvLyBUaGlzIHdhcyBhdXRvZ2VuZXJhdGVkIGZyb20gR2VuZXJhdGVfU3RhbmRhcmRfTGlicmFy
eS5zd2lmdCEgRG8gbm90IGVkaXQhIQogCi0vLyBOZWVkIHRvIGJvb3RzdHJhcCB2b2lkIGZpcnN0
LgogbmF0aXZlIHR5cGVkZWYgdm9pZDsKLQotbmF0aXZlIHR5cGVkZWYgdWludDg7Ci1uYXRpdmUg
dHlwZWRlZiBpbnQzMjsKLW5hdGl2ZSB0eXBlZGVmIHVpbnQzMjsKIG5hdGl2ZSB0eXBlZGVmIGJv
b2w7Ci10eXBlZGVmIGludCA9IGludDMyOwotdHlwZWRlZiB1aW50ID0gdWludDMyOwotCi1uYXRp
dmUgdHlwZWRlZiBmbG9hdDMyOwotdHlwZWRlZiBmbG9hdCA9IGZsb2F0MzI7Ci0KLW5hdGl2ZSBv
cGVyYXRvciBpbnQzMih1aW50MzIpOwotbmF0aXZlIG9wZXJhdG9yIGludDMyKHVpbnQ4KTsKLW5h
dGl2ZSBvcGVyYXRvciBpbnQzMihmbG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgdWludDMyKGludDMy
KTsKLW5hdGl2ZSBvcGVyYXRvciB1aW50MzIodWludDgpOwotbmF0aXZlIG9wZXJhdG9yIHVpbnQz
MihmbG9hdCk7Ci1uYXRpdmUgb3BlcmF0b3IgdWludDgoaW50MzIpOwotbmF0aXZlIG9wZXJhdG9y
IHVpbnQ4KHVpbnQzMik7Ci1uYXRpdmUgb3BlcmF0b3IgdWludDgoZmxvYXQpOwotbmF0aXZlIG9w
ZXJhdG9yIGZsb2F0KGludDMyKTsKLW5hdGl2ZSBvcGVyYXRvciBmbG9hdCh1aW50MzIpOwotbmF0
aXZlIG9wZXJhdG9yIGZsb2F0KHVpbnQ4KTsKK25hdGl2ZSB0eXBlZGVmIHVjaGFyOworbmF0aXZl
IHR5cGVkZWYgdXNob3J0OworbmF0aXZlIHR5cGVkZWYgdWludDsKK25hdGl2ZSB0eXBlZGVmIGNo
YXI7CituYXRpdmUgdHlwZWRlZiBzaG9ydDsKK25hdGl2ZSB0eXBlZGVmIGludDsKK25hdGl2ZSB0
eXBlZGVmIGhhbGY7CituYXRpdmUgdHlwZWRlZiBmbG9hdDsKK25hdGl2ZSB0eXBlZGVmIGF0b21p
Y19pbnQ7CituYXRpdmUgdHlwZWRlZiBhdG9taWNfdWludDsKKy8vIHN0cnVjdCBib29sMiB7Cisv
LyAgICAgYm9vbCB4OworLy8gICAgIGJvb2wgeTsKKy8vIH0KKy8vIHN0cnVjdCBib29sMyB7Cisv
LyAgICAgYm9vbCB4OworLy8gICAgIGJvb2wgeTsKKy8vICAgICBib29sIHo7CisvLyB9CisvLyBz
dHJ1Y3QgYm9vbDQgeworLy8gICAgIGJvb2wgeDsKKy8vICAgICBib29sIHk7CisvLyAgICAgYm9v
bCB6OworLy8gICAgIGJvb2wgdzsKKy8vIH0KKy8vIHN0cnVjdCB1Y2hhcjIgeworLy8gICAgIHVj
aGFyIHg7CisvLyAgICAgdWNoYXIgeTsKKy8vIH0KKy8vIHN0cnVjdCB1Y2hhcjMgeworLy8gICAg
IHVjaGFyIHg7CisvLyAgICAgdWNoYXIgeTsKKy8vICAgICB1Y2hhciB6OworLy8gfQorLy8gc3Ry
dWN0IHVjaGFyNCB7CisvLyAgICAgdWNoYXIgeDsKKy8vICAgICB1Y2hhciB5OworLy8gICAgIHVj
aGFyIHo7CisvLyAgICAgdWNoYXIgdzsKKy8vIH0KKy8vIHN0cnVjdCB1c2hvcnQyIHsKKy8vICAg
ICB1c2hvcnQgeDsKKy8vICAgICB1c2hvcnQgeTsKKy8vIH0KKy8vIHN0cnVjdCB1c2hvcnQzIHsK
Ky8vICAgICB1c2hvcnQgeDsKKy8vICAgICB1c2hvcnQgeTsKKy8vICAgICB1c2hvcnQgejsKKy8v
IH0KKy8vIHN0cnVjdCB1c2hvcnQ0IHsKKy8vICAgICB1c2hvcnQgeDsKKy8vICAgICB1c2hvcnQg
eTsKKy8vICAgICB1c2hvcnQgejsKKy8vICAgICB1c2hvcnQgdzsKKy8vIH0KKy8vIHN0cnVjdCB1
aW50MiB7CisvLyAgICAgdWludCB4OworLy8gICAgIHVpbnQgeTsKKy8vIH0KKy8vIHN0cnVjdCB1
aW50MyB7CisvLyAgICAgdWludCB4OworLy8gICAgIHVpbnQgeTsKKy8vICAgICB1aW50IHo7Cisv
LyB9CisvLyBzdHJ1Y3QgdWludDQgeworLy8gICAgIHVpbnQgeDsKKy8vICAgICB1aW50IHk7Cisv
LyAgICAgdWludCB6OworLy8gICAgIHVpbnQgdzsKKy8vIH0KKy8vIHN0cnVjdCBjaGFyMiB7Cisv
LyAgICAgY2hhciB4OworLy8gICAgIGNoYXIgeTsKKy8vIH0KKy8vIHN0cnVjdCBjaGFyMyB7Cisv
LyAgICAgY2hhciB4OworLy8gICAgIGNoYXIgeTsKKy8vICAgICBjaGFyIHo7CisvLyB9CisvLyBz
dHJ1Y3QgY2hhcjQgeworLy8gICAgIGNoYXIgeDsKKy8vICAgICBjaGFyIHk7CisvLyAgICAgY2hh
ciB6OworLy8gICAgIGNoYXIgdzsKKy8vIH0KKy8vIHN0cnVjdCBzaG9ydDIgeworLy8gICAgIHNo
b3J0IHg7CisvLyAgICAgc2hvcnQgeTsKKy8vIH0KKy8vIHN0cnVjdCBzaG9ydDMgeworLy8gICAg
IHNob3J0IHg7CisvLyAgICAgc2hvcnQgeTsKKy8vICAgICBzaG9ydCB6OworLy8gfQorLy8gc3Ry
dWN0IHNob3J0NCB7CisvLyAgICAgc2hvcnQgeDsKKy8vICAgICBzaG9ydCB5OworLy8gICAgIHNo
b3J0IHo7CisvLyAgICAgc2hvcnQgdzsKKy8vIH0KKy8vIHN0cnVjdCBpbnQyIHsKKy8vICAgICBp
bnQgeDsKKy8vICAgICBpbnQgeTsKKy8vIH0KKy8vIHN0cnVjdCBpbnQzIHsKKy8vICAgICBpbnQg
eDsKKy8vICAgICBpbnQgeTsKKy8vICAgICBpbnQgejsKKy8vIH0KKy8vIHN0cnVjdCBpbnQ0IHsK
Ky8vICAgICBpbnQgeDsKKy8vICAgICBpbnQgeTsKKy8vICAgICBpbnQgejsKKy8vICAgICBpbnQg
dzsKKy8vIH0KKy8vIHN0cnVjdCBoYWxmMiB7CisvLyAgICAgaGFsZiB4OworLy8gICAgIGhhbGYg
eTsKKy8vIH0KKy8vIHN0cnVjdCBoYWxmMyB7CisvLyAgICAgaGFsZiB4OworLy8gICAgIGhhbGYg
eTsKKy8vICAgICBoYWxmIHo7CisvLyB9CisvLyBzdHJ1Y3QgaGFsZjQgeworLy8gICAgIGhhbGYg
eDsKKy8vICAgICBoYWxmIHk7CisvLyAgICAgaGFsZiB6OworLy8gICAgIGhhbGYgdzsKKy8vIH0K
Ky8vIHN0cnVjdCBmbG9hdDIgeworLy8gICAgIGZsb2F0IHg7CisvLyAgICAgZmxvYXQgeTsKKy8v
IH0KKy8vIHN0cnVjdCBmbG9hdDMgeworLy8gICAgIGZsb2F0IHg7CisvLyAgICAgZmxvYXQgeTsK
Ky8vICAgICBmbG9hdCB6OworLy8gfQorLy8gc3RydWN0IGZsb2F0NCB7CisvLyAgICAgZmxvYXQg
eDsKKy8vICAgICBmbG9hdCB5OworLy8gICAgIGZsb2F0IHo7CisvLyAgICAgZmxvYXQgdzsKKy8v
IH0KK3N0cnVjdCBoYWxmMngyIHsKKyAgICBoYWxmMiByb3cwOworICAgIGhhbGYyIHJvdzE7Cit9
CitzdHJ1Y3QgaGFsZjJ4MyB7CisgICAgaGFsZjMgcm93MDsKKyAgICBoYWxmMyByb3cxOworfQor
c3RydWN0IGhhbGYyeDQgeworICAgIGhhbGY0IHJvdzA7CisgICAgaGFsZjQgcm93MTsKK30KK3N0
cnVjdCBoYWxmM3gyIHsKKyAgICBoYWxmMiByb3cwOworICAgIGhhbGYyIHJvdzE7CisgICAgaGFs
ZjIgcm93MjsKK30KK3N0cnVjdCBoYWxmM3gzIHsKKyAgICBoYWxmMyByb3cwOworICAgIGhhbGYz
IHJvdzE7CisgICAgaGFsZjMgcm93MjsKK30KK3N0cnVjdCBoYWxmM3g0IHsKKyAgICBoYWxmNCBy
b3cwOworICAgIGhhbGY0IHJvdzE7CisgICAgaGFsZjQgcm93MjsKK30KK3N0cnVjdCBoYWxmNHgy
IHsKKyAgICBoYWxmMiByb3cwOworICAgIGhhbGYyIHJvdzE7CisgICAgaGFsZjIgcm93MjsKKyAg
ICBoYWxmMiByb3czOworfQorc3RydWN0IGhhbGY0eDMgeworICAgIGhhbGYzIHJvdzA7CisgICAg
aGFsZjMgcm93MTsKKyAgICBoYWxmMyByb3cyOworICAgIGhhbGYzIHJvdzM7Cit9CitzdHJ1Y3Qg
aGFsZjR4NCB7CisgICAgaGFsZjQgcm93MDsKKyAgICBoYWxmNCByb3cxOworICAgIGhhbGY0IHJv
dzI7CisgICAgaGFsZjQgcm93MzsKK30KK3N0cnVjdCBmbG9hdDJ4MiB7CisgICAgZmxvYXQyIHJv
dzA7CisgICAgZmxvYXQyIHJvdzE7Cit9CitzdHJ1Y3QgZmxvYXQyeDMgeworICAgIGZsb2F0MyBy
b3cwOworICAgIGZsb2F0MyByb3cxOworfQorc3RydWN0IGZsb2F0Mng0IHsKKyAgICBmbG9hdDQg
cm93MDsKKyAgICBmbG9hdDQgcm93MTsKK30KK3N0cnVjdCBmbG9hdDN4MiB7CisgICAgZmxvYXQy
IHJvdzA7CisgICAgZmxvYXQyIHJvdzE7CisgICAgZmxvYXQyIHJvdzI7Cit9CitzdHJ1Y3QgZmxv
YXQzeDMgeworICAgIGZsb2F0MyByb3cwOworICAgIGZsb2F0MyByb3cxOworICAgIGZsb2F0MyBy
b3cyOworfQorc3RydWN0IGZsb2F0M3g0IHsKKyAgICBmbG9hdDQgcm93MDsKKyAgICBmbG9hdDQg
cm93MTsKKyAgICBmbG9hdDQgcm93MjsKK30KK3N0cnVjdCBmbG9hdDR4MiB7CisgICAgZmxvYXQy
IHJvdzA7CisgICAgZmxvYXQyIHJvdzE7CisgICAgZmxvYXQyIHJvdzI7CisgICAgZmxvYXQyIHJv
dzM7Cit9CitzdHJ1Y3QgZmxvYXQ0eDMgeworICAgIGZsb2F0MyByb3cwOworICAgIGZsb2F0MyBy
b3cxOworICAgIGZsb2F0MyByb3cyOworICAgIGZsb2F0MyByb3czOworfQorc3RydWN0IGZsb2F0
NHg0IHsKKyAgICBmbG9hdDQgcm93MDsKKyAgICBmbG9hdDQgcm93MTsKKyAgICBmbG9hdDQgcm93
MjsKKyAgICBmbG9hdDQgcm93MzsKK30KK25hdGl2ZSB0eXBlZGVmIHNhbXBsZXI7CituYXRpdmUg
dHlwZWRlZiBUZXh0dXJlMUQ8Ym9vbD47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMUQ8Ym9vbDI+
OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTFEPGJvb2wzPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1
cmUxRDxib29sND47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMUQ8dWNoYXI+OworbmF0aXZlIHR5
cGVkZWYgVGV4dHVyZTFEPHVjaGFyMj47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMUQ8dWNoYXIz
PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUxRDx1Y2hhcjQ+OworbmF0aXZlIHR5cGVkZWYgVGV4
dHVyZTFEPHVzaG9ydD47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMUQ8dXNob3J0Mj47CituYXRp
dmUgdHlwZWRlZiBUZXh0dXJlMUQ8dXNob3J0Mz47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMUQ8
dXNob3J0ND47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMUQ8dWludD47CituYXRpdmUgdHlwZWRl
ZiBUZXh0dXJlMUQ8dWludDI+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTFEPHVpbnQzPjsKK25h
dGl2ZSB0eXBlZGVmIFRleHR1cmUxRDx1aW50ND47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMUQ8
Y2hhcj47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMUQ8Y2hhcjI+OworbmF0aXZlIHR5cGVkZWYg
VGV4dHVyZTFEPGNoYXIzPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUxRDxjaGFyND47CituYXRp
dmUgdHlwZWRlZiBUZXh0dXJlMUQ8c2hvcnQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTFEPHNo
b3J0Mj47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMUQ8c2hvcnQzPjsKK25hdGl2ZSB0eXBlZGVm
IFRleHR1cmUxRDxzaG9ydDQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTFEPGludD47CituYXRp
dmUgdHlwZWRlZiBUZXh0dXJlMUQ8aW50Mj47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMUQ8aW50
Mz47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMUQ8aW50ND47CituYXRpdmUgdHlwZWRlZiBUZXh0
dXJlMUQ8aGFsZj47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMUQ8aGFsZjI+OworbmF0aXZlIHR5
cGVkZWYgVGV4dHVyZTFEPGhhbGYzPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUxRDxoYWxmND47
CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMUQ8ZmxvYXQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVy
ZTFEPGZsb2F0Mj47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMUQ8ZmxvYXQzPjsKK25hdGl2ZSB0
eXBlZGVmIFRleHR1cmUxRDxmbG9hdDQ+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMUQ8Ym9v
bD47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUxRDxib29sMj47CituYXRpdmUgdHlwZWRlZiBS
V1RleHR1cmUxRDxib29sMz47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUxRDxib29sND47Citu
YXRpdmUgdHlwZWRlZiBSV1RleHR1cmUxRDx1Y2hhcj47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1
cmUxRDx1Y2hhcjI+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMUQ8dWNoYXIzPjsKK25hdGl2
ZSB0eXBlZGVmIFJXVGV4dHVyZTFEPHVjaGFyND47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUx
RDx1c2hvcnQ+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMUQ8dXNob3J0Mj47CituYXRpdmUg
dHlwZWRlZiBSV1RleHR1cmUxRDx1c2hvcnQzPjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTFE
PHVzaG9ydDQ+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMUQ8dWludD47CituYXRpdmUgdHlw
ZWRlZiBSV1RleHR1cmUxRDx1aW50Mj47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUxRDx1aW50
Mz47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUxRDx1aW50ND47CituYXRpdmUgdHlwZWRlZiBS
V1RleHR1cmUxRDxjaGFyPjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTFEPGNoYXIyPjsKK25h
dGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTFEPGNoYXIzPjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVy
ZTFEPGNoYXI0PjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTFEPHNob3J0PjsKK25hdGl2ZSB0
eXBlZGVmIFJXVGV4dHVyZTFEPHNob3J0Mj47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUxRDxz
aG9ydDM+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMUQ8c2hvcnQ0PjsKK25hdGl2ZSB0eXBl
ZGVmIFJXVGV4dHVyZTFEPGludD47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUxRDxpbnQyPjsK
K25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTFEPGludDM+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0
dXJlMUQ8aW50ND47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUxRDxoYWxmPjsKK25hdGl2ZSB0
eXBlZGVmIFJXVGV4dHVyZTFEPGhhbGYyPjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTFEPGhh
bGYzPjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTFEPGhhbGY0PjsKK25hdGl2ZSB0eXBlZGVm
IFJXVGV4dHVyZTFEPGZsb2F0PjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTFEPGZsb2F0Mj47
CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUxRDxmbG9hdDM+OworbmF0aXZlIHR5cGVkZWYgUldU
ZXh0dXJlMUQ8ZmxvYXQ0PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUxREFycmF5PGJvb2w+Owor
bmF0aXZlIHR5cGVkZWYgVGV4dHVyZTFEQXJyYXk8Ym9vbDI+OworbmF0aXZlIHR5cGVkZWYgVGV4
dHVyZTFEQXJyYXk8Ym9vbDM+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTFEQXJyYXk8Ym9vbDQ+
OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTFEQXJyYXk8dWNoYXI+OworbmF0aXZlIHR5cGVkZWYg
VGV4dHVyZTFEQXJyYXk8dWNoYXIyPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUxREFycmF5PHVj
aGFyMz47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMURBcnJheTx1Y2hhcjQ+OworbmF0aXZlIHR5
cGVkZWYgVGV4dHVyZTFEQXJyYXk8dXNob3J0PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUxREFy
cmF5PHVzaG9ydDI+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTFEQXJyYXk8dXNob3J0Mz47Citu
YXRpdmUgdHlwZWRlZiBUZXh0dXJlMURBcnJheTx1c2hvcnQ0PjsKK25hdGl2ZSB0eXBlZGVmIFRl
eHR1cmUxREFycmF5PHVpbnQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTFEQXJyYXk8dWludDI+
OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTFEQXJyYXk8dWludDM+OworbmF0aXZlIHR5cGVkZWYg
VGV4dHVyZTFEQXJyYXk8dWludDQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTFEQXJyYXk8Y2hh
cj47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMURBcnJheTxjaGFyMj47CituYXRpdmUgdHlwZWRl
ZiBUZXh0dXJlMURBcnJheTxjaGFyMz47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMURBcnJheTxj
aGFyND47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMURBcnJheTxzaG9ydD47CituYXRpdmUgdHlw
ZWRlZiBUZXh0dXJlMURBcnJheTxzaG9ydDI+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTFEQXJy
YXk8c2hvcnQzPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUxREFycmF5PHNob3J0ND47CituYXRp
dmUgdHlwZWRlZiBUZXh0dXJlMURBcnJheTxpbnQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTFE
QXJyYXk8aW50Mj47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMURBcnJheTxpbnQzPjsKK25hdGl2
ZSB0eXBlZGVmIFRleHR1cmUxREFycmF5PGludDQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTFE
QXJyYXk8aGFsZj47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMURBcnJheTxoYWxmMj47CituYXRp
dmUgdHlwZWRlZiBUZXh0dXJlMURBcnJheTxoYWxmMz47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJl
MURBcnJheTxoYWxmND47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMURBcnJheTxmbG9hdD47Citu
YXRpdmUgdHlwZWRlZiBUZXh0dXJlMURBcnJheTxmbG9hdDI+OworbmF0aXZlIHR5cGVkZWYgVGV4
dHVyZTFEQXJyYXk8ZmxvYXQzPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUxREFycmF5PGZsb2F0
ND47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUxREFycmF5PGJvb2w+OworbmF0aXZlIHR5cGVk
ZWYgUldUZXh0dXJlMURBcnJheTxib29sMj47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUxREFy
cmF5PGJvb2wzPjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTFEQXJyYXk8Ym9vbDQ+OworbmF0
aXZlIHR5cGVkZWYgUldUZXh0dXJlMURBcnJheTx1Y2hhcj47CituYXRpdmUgdHlwZWRlZiBSV1Rl
eHR1cmUxREFycmF5PHVjaGFyMj47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUxREFycmF5PHVj
aGFyMz47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUxREFycmF5PHVjaGFyND47CituYXRpdmUg
dHlwZWRlZiBSV1RleHR1cmUxREFycmF5PHVzaG9ydD47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1
cmUxREFycmF5PHVzaG9ydDI+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMURBcnJheTx1c2hv
cnQzPjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTFEQXJyYXk8dXNob3J0ND47CituYXRpdmUg
dHlwZWRlZiBSV1RleHR1cmUxREFycmF5PHVpbnQ+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJl
MURBcnJheTx1aW50Mj47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUxREFycmF5PHVpbnQzPjsK
K25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTFEQXJyYXk8dWludDQ+OworbmF0aXZlIHR5cGVkZWYg
UldUZXh0dXJlMURBcnJheTxjaGFyPjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTFEQXJyYXk8
Y2hhcjI+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMURBcnJheTxjaGFyMz47CituYXRpdmUg
dHlwZWRlZiBSV1RleHR1cmUxREFycmF5PGNoYXI0PjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVy
ZTFEQXJyYXk8c2hvcnQ+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMURBcnJheTxzaG9ydDI+
OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMURBcnJheTxzaG9ydDM+OworbmF0aXZlIHR5cGVk
ZWYgUldUZXh0dXJlMURBcnJheTxzaG9ydDQ+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMURB
cnJheTxpbnQ+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMURBcnJheTxpbnQyPjsKK25hdGl2
ZSB0eXBlZGVmIFJXVGV4dHVyZTFEQXJyYXk8aW50Mz47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1
cmUxREFycmF5PGludDQ+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMURBcnJheTxoYWxmPjsK
K25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTFEQXJyYXk8aGFsZjI+OworbmF0aXZlIHR5cGVkZWYg
UldUZXh0dXJlMURBcnJheTxoYWxmMz47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUxREFycmF5
PGhhbGY0PjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTFEQXJyYXk8ZmxvYXQ+OworbmF0aXZl
IHR5cGVkZWYgUldUZXh0dXJlMURBcnJheTxmbG9hdDI+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0
dXJlMURBcnJheTxmbG9hdDM+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMURBcnJheTxmbG9h
dDQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEPGJvb2w+OworbmF0aXZlIHR5cGVkZWYgVGV4
dHVyZTJEPGJvb2wyPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUyRDxib29sMz47CituYXRpdmUg
dHlwZWRlZiBUZXh0dXJlMkQ8Ym9vbDQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEPHVjaGFy
PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUyRDx1Y2hhcjI+OworbmF0aXZlIHR5cGVkZWYgVGV4
dHVyZTJEPHVjaGFyMz47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMkQ8dWNoYXI0PjsKK25hdGl2
ZSB0eXBlZGVmIFRleHR1cmUyRDx1c2hvcnQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEPHVz
aG9ydDI+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEPHVzaG9ydDM+OworbmF0aXZlIHR5cGVk
ZWYgVGV4dHVyZTJEPHVzaG9ydDQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEPHVpbnQ+Owor
bmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEPHVpbnQyPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUy
RDx1aW50Mz47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMkQ8dWludDQ+OworbmF0aXZlIHR5cGVk
ZWYgVGV4dHVyZTJEPGNoYXI+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEPGNoYXIyPjsKK25h
dGl2ZSB0eXBlZGVmIFRleHR1cmUyRDxjaGFyMz47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMkQ8
Y2hhcjQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEPHNob3J0PjsKK25hdGl2ZSB0eXBlZGVm
IFRleHR1cmUyRDxzaG9ydDI+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEPHNob3J0Mz47Citu
YXRpdmUgdHlwZWRlZiBUZXh0dXJlMkQ8c2hvcnQ0PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUy
RDxpbnQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEPGludDI+OworbmF0aXZlIHR5cGVkZWYg
VGV4dHVyZTJEPGludDM+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEPGludDQ+OworbmF0aXZl
IHR5cGVkZWYgVGV4dHVyZTJEPGhhbGY+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEPGhhbGYy
PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUyRDxoYWxmMz47CituYXRpdmUgdHlwZWRlZiBUZXh0
dXJlMkQ8aGFsZjQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEPGZsb2F0PjsKK25hdGl2ZSB0
eXBlZGVmIFRleHR1cmUyRDxmbG9hdDI+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEPGZsb2F0
Mz47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMkQ8ZmxvYXQ0PjsKK25hdGl2ZSB0eXBlZGVmIFJX
VGV4dHVyZTJEPGJvb2w+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMkQ8Ym9vbDI+OworbmF0
aXZlIHR5cGVkZWYgUldUZXh0dXJlMkQ8Ym9vbDM+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJl
MkQ8Ym9vbDQ+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMkQ8dWNoYXI+OworbmF0aXZlIHR5
cGVkZWYgUldUZXh0dXJlMkQ8dWNoYXIyPjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTJEPHVj
aGFyMz47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUyRDx1Y2hhcjQ+OworbmF0aXZlIHR5cGVk
ZWYgUldUZXh0dXJlMkQ8dXNob3J0PjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTJEPHVzaG9y
dDI+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMkQ8dXNob3J0Mz47CituYXRpdmUgdHlwZWRl
ZiBSV1RleHR1cmUyRDx1c2hvcnQ0PjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTJEPHVpbnQ+
OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMkQ8dWludDI+OworbmF0aXZlIHR5cGVkZWYgUldU
ZXh0dXJlMkQ8dWludDM+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMkQ8dWludDQ+OworbmF0
aXZlIHR5cGVkZWYgUldUZXh0dXJlMkQ8Y2hhcj47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUy
RDxjaGFyMj47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUyRDxjaGFyMz47CituYXRpdmUgdHlw
ZWRlZiBSV1RleHR1cmUyRDxjaGFyND47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUyRDxzaG9y
dD47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUyRDxzaG9ydDI+OworbmF0aXZlIHR5cGVkZWYg
UldUZXh0dXJlMkQ8c2hvcnQzPjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTJEPHNob3J0ND47
CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUyRDxpbnQ+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0
dXJlMkQ8aW50Mj47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUyRDxpbnQzPjsKK25hdGl2ZSB0
eXBlZGVmIFJXVGV4dHVyZTJEPGludDQ+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMkQ8aGFs
Zj47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUyRDxoYWxmMj47CituYXRpdmUgdHlwZWRlZiBS
V1RleHR1cmUyRDxoYWxmMz47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUyRDxoYWxmND47Citu
YXRpdmUgdHlwZWRlZiBSV1RleHR1cmUyRDxmbG9hdD47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1
cmUyRDxmbG9hdDI+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMkQ8ZmxvYXQzPjsKK25hdGl2
ZSB0eXBlZGVmIFJXVGV4dHVyZTJEPGZsb2F0ND47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMkRB
cnJheTxib29sPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUyREFycmF5PGJvb2wyPjsKK25hdGl2
ZSB0eXBlZGVmIFRleHR1cmUyREFycmF5PGJvb2wzPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUy
REFycmF5PGJvb2w0PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUyREFycmF5PHVjaGFyPjsKK25h
dGl2ZSB0eXBlZGVmIFRleHR1cmUyREFycmF5PHVjaGFyMj47CituYXRpdmUgdHlwZWRlZiBUZXh0
dXJlMkRBcnJheTx1Y2hhcjM+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEQXJyYXk8dWNoYXI0
PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUyREFycmF5PHVzaG9ydD47CituYXRpdmUgdHlwZWRl
ZiBUZXh0dXJlMkRBcnJheTx1c2hvcnQyPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUyREFycmF5
PHVzaG9ydDM+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEQXJyYXk8dXNob3J0ND47CituYXRp
dmUgdHlwZWRlZiBUZXh0dXJlMkRBcnJheTx1aW50PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUy
REFycmF5PHVpbnQyPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUyREFycmF5PHVpbnQzPjsKK25h
dGl2ZSB0eXBlZGVmIFRleHR1cmUyREFycmF5PHVpbnQ0PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1
cmUyREFycmF5PGNoYXI+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEQXJyYXk8Y2hhcjI+Owor
bmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEQXJyYXk8Y2hhcjM+OworbmF0aXZlIHR5cGVkZWYgVGV4
dHVyZTJEQXJyYXk8Y2hhcjQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEQXJyYXk8c2hvcnQ+
OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEQXJyYXk8c2hvcnQyPjsKK25hdGl2ZSB0eXBlZGVm
IFRleHR1cmUyREFycmF5PHNob3J0Mz47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMkRBcnJheTxz
aG9ydDQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEQXJyYXk8aW50PjsKK25hdGl2ZSB0eXBl
ZGVmIFRleHR1cmUyREFycmF5PGludDI+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEQXJyYXk8
aW50Mz47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlMkRBcnJheTxpbnQ0PjsKK25hdGl2ZSB0eXBl
ZGVmIFRleHR1cmUyREFycmF5PGhhbGY+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEQXJyYXk8
aGFsZjI+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEQXJyYXk8aGFsZjM+OworbmF0aXZlIHR5
cGVkZWYgVGV4dHVyZTJEQXJyYXk8aGFsZjQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEQXJy
YXk8ZmxvYXQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPjsKK25hdGl2
ZSB0eXBlZGVmIFRleHR1cmUyREFycmF5PGZsb2F0Mz47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJl
MkRBcnJheTxmbG9hdDQ+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMkRBcnJheTxib29sPjsK
K25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTJEQXJyYXk8Ym9vbDI+OworbmF0aXZlIHR5cGVkZWYg
UldUZXh0dXJlMkRBcnJheTxib29sMz47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUyREFycmF5
PGJvb2w0PjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTJEQXJyYXk8dWNoYXI+OworbmF0aXZl
IHR5cGVkZWYgUldUZXh0dXJlMkRBcnJheTx1Y2hhcjI+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0
dXJlMkRBcnJheTx1Y2hhcjM+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMkRBcnJheTx1Y2hh
cjQ+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMkRBcnJheTx1c2hvcnQ+OworbmF0aXZlIHR5
cGVkZWYgUldUZXh0dXJlMkRBcnJheTx1c2hvcnQyPjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVy
ZTJEQXJyYXk8dXNob3J0Mz47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUyREFycmF5PHVzaG9y
dDQ+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMkRBcnJheTx1aW50PjsKK25hdGl2ZSB0eXBl
ZGVmIFJXVGV4dHVyZTJEQXJyYXk8dWludDI+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMkRB
cnJheTx1aW50Mz47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUyREFycmF5PHVpbnQ0PjsKK25h
dGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTJEQXJyYXk8Y2hhcj47CituYXRpdmUgdHlwZWRlZiBSV1Rl
eHR1cmUyREFycmF5PGNoYXIyPjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTJEQXJyYXk8Y2hh
cjM+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlMkRBcnJheTxjaGFyND47CituYXRpdmUgdHlw
ZWRlZiBSV1RleHR1cmUyREFycmF5PHNob3J0PjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTJE
QXJyYXk8c2hvcnQyPjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTJEQXJyYXk8c2hvcnQzPjsK
K25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTJEQXJyYXk8c2hvcnQ0PjsKK25hdGl2ZSB0eXBlZGVm
IFJXVGV4dHVyZTJEQXJyYXk8aW50PjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTJEQXJyYXk8
aW50Mj47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUyREFycmF5PGludDM+OworbmF0aXZlIHR5
cGVkZWYgUldUZXh0dXJlMkRBcnJheTxpbnQ0PjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTJE
QXJyYXk8aGFsZj47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUyREFycmF5PGhhbGYyPjsKK25h
dGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTJEQXJyYXk8aGFsZjM+OworbmF0aXZlIHR5cGVkZWYgUldU
ZXh0dXJlMkRBcnJheTxoYWxmND47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUyREFycmF5PGZs
b2F0PjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTJEQXJyYXk8ZmxvYXQyPjsKK25hdGl2ZSB0
eXBlZGVmIFJXVGV4dHVyZTJEQXJyYXk8ZmxvYXQzPjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVy
ZTJEQXJyYXk8ZmxvYXQ0PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUzRDxib29sPjsKK25hdGl2
ZSB0eXBlZGVmIFRleHR1cmUzRDxib29sMj47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlM0Q8Ym9v
bDM+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTNEPGJvb2w0PjsKK25hdGl2ZSB0eXBlZGVmIFRl
eHR1cmUzRDx1Y2hhcj47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlM0Q8dWNoYXIyPjsKK25hdGl2
ZSB0eXBlZGVmIFRleHR1cmUzRDx1Y2hhcjM+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTNEPHVj
aGFyND47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlM0Q8dXNob3J0PjsKK25hdGl2ZSB0eXBlZGVm
IFRleHR1cmUzRDx1c2hvcnQyPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUzRDx1c2hvcnQzPjsK
K25hdGl2ZSB0eXBlZGVmIFRleHR1cmUzRDx1c2hvcnQ0PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1
cmUzRDx1aW50PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUzRDx1aW50Mj47CituYXRpdmUgdHlw
ZWRlZiBUZXh0dXJlM0Q8dWludDM+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTNEPHVpbnQ0PjsK
K25hdGl2ZSB0eXBlZGVmIFRleHR1cmUzRDxjaGFyPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUz
RDxjaGFyMj47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlM0Q8Y2hhcjM+OworbmF0aXZlIHR5cGVk
ZWYgVGV4dHVyZTNEPGNoYXI0PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUzRDxzaG9ydD47Citu
YXRpdmUgdHlwZWRlZiBUZXh0dXJlM0Q8c2hvcnQyPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUz
RDxzaG9ydDM+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTNEPHNob3J0ND47CituYXRpdmUgdHlw
ZWRlZiBUZXh0dXJlM0Q8aW50PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUzRDxpbnQyPjsKK25h
dGl2ZSB0eXBlZGVmIFRleHR1cmUzRDxpbnQzPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUzRDxp
bnQ0PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUzRDxoYWxmPjsKK25hdGl2ZSB0eXBlZGVmIFRl
eHR1cmUzRDxoYWxmMj47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlM0Q8aGFsZjM+OworbmF0aXZl
IHR5cGVkZWYgVGV4dHVyZTNEPGhhbGY0PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmUzRDxmbG9h
dD47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlM0Q8ZmxvYXQyPjsKK25hdGl2ZSB0eXBlZGVmIFRl
eHR1cmUzRDxmbG9hdDM+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZTNEPGZsb2F0ND47CituYXRp
dmUgdHlwZWRlZiBSV1RleHR1cmUzRDxib29sPjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTNE
PGJvb2wyPjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTNEPGJvb2wzPjsKK25hdGl2ZSB0eXBl
ZGVmIFJXVGV4dHVyZTNEPGJvb2w0PjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTNEPHVjaGFy
PjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTNEPHVjaGFyMj47CituYXRpdmUgdHlwZWRlZiBS
V1RleHR1cmUzRDx1Y2hhcjM+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlM0Q8dWNoYXI0PjsK
K25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTNEPHVzaG9ydD47CituYXRpdmUgdHlwZWRlZiBSV1Rl
eHR1cmUzRDx1c2hvcnQyPjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTNEPHVzaG9ydDM+Owor
bmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlM0Q8dXNob3J0ND47CituYXRpdmUgdHlwZWRlZiBSV1Rl
eHR1cmUzRDx1aW50PjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTNEPHVpbnQyPjsKK25hdGl2
ZSB0eXBlZGVmIFJXVGV4dHVyZTNEPHVpbnQzPjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTNE
PHVpbnQ0PjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTNEPGNoYXI+OworbmF0aXZlIHR5cGVk
ZWYgUldUZXh0dXJlM0Q8Y2hhcjI+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlM0Q8Y2hhcjM+
OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlM0Q8Y2hhcjQ+OworbmF0aXZlIHR5cGVkZWYgUldU
ZXh0dXJlM0Q8c2hvcnQ+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlM0Q8c2hvcnQyPjsKK25h
dGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTNEPHNob3J0Mz47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1
cmUzRDxzaG9ydDQ+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlM0Q8aW50PjsKK25hdGl2ZSB0
eXBlZGVmIFJXVGV4dHVyZTNEPGludDI+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlM0Q8aW50
Mz47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUzRDxpbnQ0PjsKK25hdGl2ZSB0eXBlZGVmIFJX
VGV4dHVyZTNEPGhhbGY+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlM0Q8aGFsZjI+OworbmF0
aXZlIHR5cGVkZWYgUldUZXh0dXJlM0Q8aGFsZjM+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJl
M0Q8aGFsZjQ+OworbmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlM0Q8ZmxvYXQ+OworbmF0aXZlIHR5
cGVkZWYgUldUZXh0dXJlM0Q8ZmxvYXQyPjsKK25hdGl2ZSB0eXBlZGVmIFJXVGV4dHVyZTNEPGZs
b2F0Mz47CituYXRpdmUgdHlwZWRlZiBSV1RleHR1cmUzRDxmbG9hdDQ+OworbmF0aXZlIHR5cGVk
ZWYgVGV4dHVyZUN1YmU8Ym9vbD47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlQ3ViZTxib29sMj47
CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlQ3ViZTxib29sMz47CituYXRpdmUgdHlwZWRlZiBUZXh0
dXJlQ3ViZTxib29sND47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlQ3ViZTx1Y2hhcj47CituYXRp
dmUgdHlwZWRlZiBUZXh0dXJlQ3ViZTx1Y2hhcjI+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZUN1
YmU8dWNoYXIzPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmVDdWJlPHVjaGFyND47CituYXRpdmUg
dHlwZWRlZiBUZXh0dXJlQ3ViZTx1c2hvcnQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZUN1YmU8
dXNob3J0Mj47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlQ3ViZTx1c2hvcnQzPjsKK25hdGl2ZSB0
eXBlZGVmIFRleHR1cmVDdWJlPHVzaG9ydDQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZUN1YmU8
dWludD47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlQ3ViZTx1aW50Mj47CituYXRpdmUgdHlwZWRl
ZiBUZXh0dXJlQ3ViZTx1aW50Mz47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlQ3ViZTx1aW50ND47
CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlQ3ViZTxjaGFyPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1
cmVDdWJlPGNoYXIyPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmVDdWJlPGNoYXIzPjsKK25hdGl2
ZSB0eXBlZGVmIFRleHR1cmVDdWJlPGNoYXI0PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmVDdWJl
PHNob3J0PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmVDdWJlPHNob3J0Mj47CituYXRpdmUgdHlw
ZWRlZiBUZXh0dXJlQ3ViZTxzaG9ydDM+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZUN1YmU8c2hv
cnQ0PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmVDdWJlPGludD47CituYXRpdmUgdHlwZWRlZiBU
ZXh0dXJlQ3ViZTxpbnQyPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmVDdWJlPGludDM+OworbmF0
aXZlIHR5cGVkZWYgVGV4dHVyZUN1YmU8aW50ND47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlQ3Vi
ZTxoYWxmPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmVDdWJlPGhhbGYyPjsKK25hdGl2ZSB0eXBl
ZGVmIFRleHR1cmVDdWJlPGhhbGYzPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmVDdWJlPGhhbGY0
PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmVDdWJlPGZsb2F0PjsKK25hdGl2ZSB0eXBlZGVmIFRl
eHR1cmVDdWJlPGZsb2F0Mj47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlQ3ViZTxmbG9hdDM+Owor
bmF0aXZlIHR5cGVkZWYgVGV4dHVyZUN1YmU8ZmxvYXQ0PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1
cmVEZXB0aDJEPGZsb2F0PjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmVEZXB0aDJEPGhhbGY+Owor
bmF0aXZlIHR5cGVkZWYgUldUZXh0dXJlRGVwdGgyRDxmbG9hdD47CituYXRpdmUgdHlwZWRlZiBS
V1RleHR1cmVEZXB0aDJEPGhhbGY+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZURlcHRoMkRBcnJh
eTxmbG9hdD47CituYXRpdmUgdHlwZWRlZiBUZXh0dXJlRGVwdGgyREFycmF5PGhhbGY+OworbmF0
aXZlIHR5cGVkZWYgUldUZXh0dXJlRGVwdGgyREFycmF5PGZsb2F0PjsKK25hdGl2ZSB0eXBlZGVm
IFJXVGV4dHVyZURlcHRoMkRBcnJheTxoYWxmPjsKK25hdGl2ZSB0eXBlZGVmIFRleHR1cmVEZXB0
aEN1YmU8ZmxvYXQ+OworbmF0aXZlIHR5cGVkZWYgVGV4dHVyZURlcHRoQ3ViZTxoYWxmPjsKIAor
b3BlcmF0b3IgdWNoYXIodWNoYXIgeCkgeworICAgIHJldHVybiB4OworfQorbmF0aXZlIG9wZXJh
dG9yIHVjaGFyKHVzaG9ydCk7CituYXRpdmUgb3BlcmF0b3IgdWNoYXIodWludCk7CituYXRpdmUg
b3BlcmF0b3IgdWNoYXIoY2hhcik7CituYXRpdmUgb3BlcmF0b3IgdWNoYXIoc2hvcnQpOworbmF0
aXZlIG9wZXJhdG9yIHVjaGFyKGludCk7CituYXRpdmUgb3BlcmF0b3IgdWNoYXIoaGFsZik7Citu
YXRpdmUgb3BlcmF0b3IgdWNoYXIoZmxvYXQpOworbmF0aXZlIG9wZXJhdG9yIHVzaG9ydCh1Y2hh
cik7CitvcGVyYXRvciB1c2hvcnQodXNob3J0IHgpIHsKKyAgICByZXR1cm4geDsKK30KK25hdGl2
ZSBvcGVyYXRvciB1c2hvcnQodWludCk7CituYXRpdmUgb3BlcmF0b3IgdXNob3J0KGNoYXIpOwor
bmF0aXZlIG9wZXJhdG9yIHVzaG9ydChzaG9ydCk7CituYXRpdmUgb3BlcmF0b3IgdXNob3J0KGlu
dCk7CituYXRpdmUgb3BlcmF0b3IgdXNob3J0KGhhbGYpOworbmF0aXZlIG9wZXJhdG9yIHVzaG9y
dChmbG9hdCk7CituYXRpdmUgb3BlcmF0b3IgdWludCh1Y2hhcik7CituYXRpdmUgb3BlcmF0b3Ig
dWludCh1c2hvcnQpOworb3BlcmF0b3IgdWludCh1aW50IHgpIHsKKyAgICByZXR1cm4geDsKK30K
K25hdGl2ZSBvcGVyYXRvciB1aW50KGNoYXIpOworbmF0aXZlIG9wZXJhdG9yIHVpbnQoc2hvcnQp
OworbmF0aXZlIG9wZXJhdG9yIHVpbnQoaW50KTsKK25hdGl2ZSBvcGVyYXRvciB1aW50KGhhbGYp
OworbmF0aXZlIG9wZXJhdG9yIHVpbnQoZmxvYXQpOworbmF0aXZlIG9wZXJhdG9yIGNoYXIodWNo
YXIpOworbmF0aXZlIG9wZXJhdG9yIGNoYXIodXNob3J0KTsKK25hdGl2ZSBvcGVyYXRvciBjaGFy
KHVpbnQpOworb3BlcmF0b3IgY2hhcihjaGFyIHgpIHsKKyAgICByZXR1cm4geDsKK30KK25hdGl2
ZSBvcGVyYXRvciBjaGFyKHNob3J0KTsKK25hdGl2ZSBvcGVyYXRvciBjaGFyKGludCk7CituYXRp
dmUgb3BlcmF0b3IgY2hhcihoYWxmKTsKK25hdGl2ZSBvcGVyYXRvciBjaGFyKGZsb2F0KTsKK25h
dGl2ZSBvcGVyYXRvciBzaG9ydCh1Y2hhcik7CituYXRpdmUgb3BlcmF0b3Igc2hvcnQodXNob3J0
KTsKK25hdGl2ZSBvcGVyYXRvciBzaG9ydCh1aW50KTsKK25hdGl2ZSBvcGVyYXRvciBzaG9ydChj
aGFyKTsKK29wZXJhdG9yIHNob3J0KHNob3J0IHgpIHsKKyAgICByZXR1cm4geDsKK30KK25hdGl2
ZSBvcGVyYXRvciBzaG9ydChpbnQpOworbmF0aXZlIG9wZXJhdG9yIHNob3J0KGhhbGYpOworbmF0
aXZlIG9wZXJhdG9yIHNob3J0KGZsb2F0KTsKK25hdGl2ZSBvcGVyYXRvciBpbnQodWNoYXIpOwor
bmF0aXZlIG9wZXJhdG9yIGludCh1c2hvcnQpOworbmF0aXZlIG9wZXJhdG9yIGludCh1aW50KTsK
K25hdGl2ZSBvcGVyYXRvciBpbnQoY2hhcik7CituYXRpdmUgb3BlcmF0b3IgaW50KHNob3J0KTsK
K29wZXJhdG9yIGludChpbnQgeCkgeworICAgIHJldHVybiB4OworfQorbmF0aXZlIG9wZXJhdG9y
IGludChoYWxmKTsKK25hdGl2ZSBvcGVyYXRvciBpbnQoZmxvYXQpOworbmF0aXZlIG9wZXJhdG9y
IGhhbGYodWNoYXIpOworbmF0aXZlIG9wZXJhdG9yIGhhbGYodXNob3J0KTsKK25hdGl2ZSBvcGVy
YXRvciBoYWxmKHVpbnQpOworbmF0aXZlIG9wZXJhdG9yIGhhbGYoY2hhcik7CituYXRpdmUgb3Bl
cmF0b3IgaGFsZihzaG9ydCk7CituYXRpdmUgb3BlcmF0b3IgaGFsZihpbnQpOworb3BlcmF0b3Ig
aGFsZihoYWxmIHgpIHsKKyAgICByZXR1cm4geDsKK30KK25hdGl2ZSBvcGVyYXRvciBoYWxmKGZs
b2F0KTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdCh1Y2hhcik7CituYXRpdmUgb3BlcmF0b3IgZmxv
YXQodXNob3J0KTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdCh1aW50KTsKK25hdGl2ZSBvcGVyYXRv
ciBmbG9hdChjaGFyKTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdChzaG9ydCk7CituYXRpdmUgb3Bl
cmF0b3IgZmxvYXQoaW50KTsKK25hdGl2ZSBvcGVyYXRvciBmbG9hdChoYWxmKTsKK29wZXJhdG9y
IGZsb2F0KGZsb2F0IHgpIHsKKyAgICByZXR1cm4geDsKK30KK29wZXJhdG9yIGJvb2woYm9vbCB4
KSB7CisgICAgcmV0dXJuIHg7Cit9CituYXRpdmUgb3BlcmF0b3IgaW50KGF0b21pY19pbnQpOwor
bmF0aXZlIG9wZXJhdG9yIHVpbnQoYXRvbWljX3VpbnQpOworbmF0aXZlIGJvb2wgb3BlcmF0b3I9
PShib29sLCBib29sKTsKK2Jvb2wgb3BlcmF0b3ImKGJvb2wgYSwgYm9vbCBiKSB7CisgICAgcmV0
dXJuIGEgJiYgYjsKK30KK2Jvb2wgb3BlcmF0b3J8KGJvb2wgYSwgYm9vbCBiKSB7CisgICAgcmV0
dXJuIGEgfHwgYjsKK30KK2Jvb2wgb3BlcmF0b3JeKGJvb2wgYSwgYm9vbCBiKSB7CisgICAgaWYg
KGEpCisgICAgICAgIHJldHVybiAhYjsKKyAgICByZXR1cm4gYjsKK30KK2Jvb2wgb3BlcmF0b3J+
KGJvb2wgdmFsdWUpIHsKKyAgICByZXR1cm4gIXZhbHVlOworfQogbmF0aXZlIGludCBvcGVyYXRv
cisoaW50LCBpbnQpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3IrKHVpbnQsIHVpbnQpOwotdWludDgg
b3BlcmF0b3IrKHVpbnQ4IGEsIHVpbnQ4IGIpIHsgcmV0dXJuIHVpbnQ4KHVpbnQoYSkgKyB1aW50
KGIpKTsgfQotbmF0aXZlIGZsb2F0IG9wZXJhdG9yKyhmbG9hdCwgZmxvYXQpOwotaW50IG9wZXJh
dG9yKysoaW50IHZhbHVlKSB7IHJldHVybiB2YWx1ZSArIDE7IH0KLXVpbnQgb3BlcmF0b3IrKyh1
aW50IHZhbHVlKSB7IHJldHVybiB2YWx1ZSArIDE7IH0KLXVpbnQ4IG9wZXJhdG9yKysodWludDgg
dmFsdWUpIHsgcmV0dXJuIHZhbHVlICsgMTsgfQogbmF0aXZlIGludCBvcGVyYXRvci0oaW50LCBp
bnQpOwotbmF0aXZlIHVpbnQgb3BlcmF0b3ItKHVpbnQsIHVpbnQpOwotdWludDggb3BlcmF0b3It
KHVpbnQ4IGEsIHVpbnQ4IGIpIHsgcmV0dXJuIHVpbnQ4KHVpbnQoYSkgLSB1aW50KGIpKTsgfQot
bmF0aXZlIGZsb2F0IG9wZXJhdG9yLShmbG9hdCwgZmxvYXQpOwotaW50IG9wZXJhdG9yLS0oaW50
IHZhbHVlKSB7IHJldHVybiB2YWx1ZSAtIDE7IH0KLXVpbnQgb3BlcmF0b3ItLSh1aW50IHZhbHVl
KSB7IHJldHVybiB2YWx1ZSAtIDE7IH0KLXVpbnQ4IG9wZXJhdG9yLS0odWludDggdmFsdWUpIHsg
cmV0dXJuIHZhbHVlIC0gMTsgfQogbmF0aXZlIGludCBvcGVyYXRvciooaW50LCBpbnQpOwotbmF0
aXZlIHVpbnQgb3BlcmF0b3IqKHVpbnQsIHVpbnQpOwotdWludDggb3BlcmF0b3IqKHVpbnQ4IGEs
IHVpbnQ4IGIpIHsgcmV0dXJuIHVpbnQ4KHVpbnQoYSkgKiB1aW50KGIpKTsgfQotbmF0aXZlIGZs
b2F0IG9wZXJhdG9yKihmbG9hdCwgZmxvYXQpOwogbmF0aXZlIGludCBvcGVyYXRvci8oaW50LCBp
bnQpOworbmF0aXZlIGJvb2wgb3BlcmF0b3I9PShpbnQsIGludCk7CituYXRpdmUgYm9vbCBvcGVy
YXRvcjwoaW50LCBpbnQpOworbmF0aXZlIGJvb2wgb3BlcmF0b3I8PShpbnQsIGludCk7CituYXRp
dmUgYm9vbCBvcGVyYXRvcj4oaW50LCBpbnQpOworbmF0aXZlIGJvb2wgb3BlcmF0b3I+PShpbnQs
IGludCk7CituYXRpdmUgdWludCBvcGVyYXRvcisodWludCwgdWludCk7CituYXRpdmUgdWludCBv
cGVyYXRvci0odWludCwgdWludCk7CituYXRpdmUgdWludCBvcGVyYXRvcioodWludCwgdWludCk7
CiBuYXRpdmUgdWludCBvcGVyYXRvci8odWludCwgdWludCk7Ci11aW50OCBvcGVyYXRvci8odWlu
dDggYSwgdWludDggYikgeyByZXR1cm4gdWludDgodWludChhKSAvIHVpbnQoYikpOyB9CituYXRp
dmUgYm9vbCBvcGVyYXRvcj09KHVpbnQsIHVpbnQpOworbmF0aXZlIGJvb2wgb3BlcmF0b3I8KHVp
bnQsIHVpbnQpOworbmF0aXZlIGJvb2wgb3BlcmF0b3I8PSh1aW50LCB1aW50KTsKK25hdGl2ZSBi
b29sIG9wZXJhdG9yPih1aW50LCB1aW50KTsKK25hdGl2ZSBib29sIG9wZXJhdG9yPj0odWludCwg
dWludCk7CituYXRpdmUgZmxvYXQgb3BlcmF0b3IrKGZsb2F0LCBmbG9hdCk7CituYXRpdmUgZmxv
YXQgb3BlcmF0b3ItKGZsb2F0LCBmbG9hdCk7CituYXRpdmUgZmxvYXQgb3BlcmF0b3IqKGZsb2F0
LCBmbG9hdCk7CituYXRpdmUgZmxvYXQgb3BlcmF0b3IvKGZsb2F0LCBmbG9hdCk7CituYXRpdmUg
Ym9vbCBvcGVyYXRvcj09KGZsb2F0LCBmbG9hdCk7CituYXRpdmUgYm9vbCBvcGVyYXRvcjwoZmxv
YXQsIGZsb2F0KTsKK25hdGl2ZSBib29sIG9wZXJhdG9yPD0oZmxvYXQsIGZsb2F0KTsKK25hdGl2
ZSBib29sIG9wZXJhdG9yPihmbG9hdCwgZmxvYXQpOworbmF0aXZlIGJvb2wgb3BlcmF0b3I+PShm
bG9hdCwgZmxvYXQpOwogbmF0aXZlIGludCBvcGVyYXRvciYoaW50LCBpbnQpOwogbmF0aXZlIGlu
dCBvcGVyYXRvcnwoaW50LCBpbnQpOwogbmF0aXZlIGludCBvcGVyYXRvcl4oaW50LCBpbnQpOwpA
QCAtODgsMjg0ICs4MTIsNjQyNzIgQEAgbmF0aXZlIHVpbnQgb3BlcmF0b3JeKHVpbnQsIHVpbnQp
OwogbmF0aXZlIHVpbnQgb3BlcmF0b3J+KHVpbnQpOwogbmF0aXZlIHVpbnQgb3BlcmF0b3I8PCh1
aW50LCB1aW50KTsKIG5hdGl2ZSB1aW50IG9wZXJhdG9yPj4odWludCwgdWludCk7Ci11aW50OCBv
cGVyYXRvciYodWludDggYSwgdWludDggYikgeyByZXR1cm4gdWludDgodWludChhKSAmIHVpbnQo
YikpOyB9Ci11aW50OCBvcGVyYXRvcnwodWludDggYSwgdWludDggYikgeyByZXR1cm4gdWludDgo
dWludChhKSB8IHVpbnQoYikpOyB9Ci11aW50OCBvcGVyYXRvcl4odWludDggYSwgdWludDggYikg
eyByZXR1cm4gdWludDgodWludChhKSBeIHVpbnQoYikpOyB9Ci11aW50OCBvcGVyYXRvcn4odWlu
dDggdmFsdWUpIHsgcmV0dXJuIHVpbnQ4KH51aW50KHZhbHVlKSk7IH0KLXVpbnQ4IG9wZXJhdG9y
PDwodWludDggYSwgdWludCBiKSB7IHJldHVybiB1aW50OCh1aW50KGEpIDw8IChiICYgNykpOyB9
Ci11aW50OCBvcGVyYXRvcj4+KHVpbnQ4IGEsIHVpbnQgYikgeyByZXR1cm4gdWludDgodWludChh
KSA+PiAoYiAmIDcpKTsgfQotbmF0aXZlIGZsb2F0IG9wZXJhdG9yLyhmbG9hdCwgZmxvYXQpOwot
bmF0aXZlIGJvb2wgb3BlcmF0b3I9PShpbnQsIGludCk7Ci1uYXRpdmUgYm9vbCBvcGVyYXRvcj09
KHVpbnQsIHVpbnQpOwotYm9vbCBvcGVyYXRvcj09KHVpbnQ4IGEsIHVpbnQ4IGIpIHsgcmV0dXJu
IHVpbnQoYSkgPT0gdWludChiKTsgfQotbmF0aXZlIGJvb2wgb3BlcmF0b3I9PShib29sLCBib29s
KTsKLW5hdGl2ZSBib29sIG9wZXJhdG9yPT0oZmxvYXQsIGZsb2F0KTsKLW5hdGl2ZSBib29sIG9w
ZXJhdG9yPChpbnQsIGludCk7Ci1uYXRpdmUgYm9vbCBvcGVyYXRvcjwodWludCwgdWludCk7Ci1i
b29sIG9wZXJhdG9yPCh1aW50OCBhLCB1aW50OCBiKSB7IHJldHVybiB1aW50KGEpIDwgdWludChi
KTsgfQotbmF0aXZlIGJvb2wgb3BlcmF0b3I8KGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUgYm9vbCBv
cGVyYXRvcjw9KGludCwgaW50KTsKLW5hdGl2ZSBib29sIG9wZXJhdG9yPD0odWludCwgdWludCk7
Ci1ib29sIG9wZXJhdG9yPD0odWludDggYSwgdWludDggYikgeyByZXR1cm4gdWludChhKSA8PSB1
aW50KGIpOyB9Ci1uYXRpdmUgYm9vbCBvcGVyYXRvcjw9KGZsb2F0LCBmbG9hdCk7Ci1uYXRpdmUg
Ym9vbCBvcGVyYXRvcj4oaW50LCBpbnQpOwotbmF0aXZlIGJvb2wgb3BlcmF0b3I+KHVpbnQsIHVp
bnQpOwotYm9vbCBvcGVyYXRvcj4odWludDggYSwgdWludDggYikgeyByZXR1cm4gdWludChhKSA+
IHVpbnQoYik7IH0KLW5hdGl2ZSBib29sIG9wZXJhdG9yPihmbG9hdCwgZmxvYXQpOwotbmF0aXZl
IGJvb2wgb3BlcmF0b3I+PShpbnQsIGludCk7Ci1uYXRpdmUgYm9vbCBvcGVyYXRvcj49KHVpbnQs
IHVpbnQpOwotYm9vbCBvcGVyYXRvcj49KHVpbnQ4IGEsIHVpbnQ4IGIpIHsgcmV0dXJuIHVpbnQo
YSkgPj0gdWludChiKTsgfQotbmF0aXZlIGJvb2wgb3BlcmF0b3I+PShmbG9hdCwgZmxvYXQpOwor
dWNoYXIgb3BlcmF0b3IrKHVjaGFyIGEsIHVjaGFyIGIpIHsKKyAgICByZXR1cm4gdWNoYXIodWlu
dChhKSArIHVpbnQoYikpOworfQordWNoYXIgb3BlcmF0b3ItKHVjaGFyIGEsIHVjaGFyIGIpIHsK
KyAgICByZXR1cm4gdWNoYXIodWludChhKSAtIHVpbnQoYikpOworfQordWNoYXIgb3BlcmF0b3Iq
KHVjaGFyIGEsIHVjaGFyIGIpIHsKKyAgICByZXR1cm4gdWNoYXIodWludChhKSAqIHVpbnQoYikp
OworfQordWNoYXIgb3BlcmF0b3IvKHVjaGFyIGEsIHVjaGFyIGIpIHsKKyAgICByZXR1cm4gdWNo
YXIodWludChhKSAvIHVpbnQoYikpOworfQogCi1ib29sIG9wZXJhdG9yJihib29sIGEsIGJvb2wg
YikKLXsKLSAgICBpZiAoYSkKLSAgICAgICAgcmV0dXJuIGI7Ci0gICAgcmV0dXJuIGZhbHNlOwor
bmF0aXZlIHR5cGVkZWYgdmVjdG9yPGhhbGYsIDI+OwordHlwZWRlZiBoYWxmMiA9IHZlY3Rvcjxo
YWxmLCAyPjsKKworbmF0aXZlIHR5cGVkZWYgdmVjdG9yPGhhbGYsIDM+OwordHlwZWRlZiBoYWxm
MyA9IHZlY3RvcjxoYWxmLCAzPjsKKworbmF0aXZlIHR5cGVkZWYgdmVjdG9yPGhhbGYsIDQ+Owor
dHlwZWRlZiBoYWxmNCA9IHZlY3RvcjxoYWxmLCA0PjsKKworbmF0aXZlIHR5cGVkZWYgdmVjdG9y
PGNoYXIsIDI+OwordHlwZWRlZiBjaGFyMiA9IHZlY3RvcjxjaGFyLCAyPjsKKworbmF0aXZlIHR5
cGVkZWYgdmVjdG9yPGNoYXIsIDM+OwordHlwZWRlZiBjaGFyMyA9IHZlY3RvcjxjaGFyLCAzPjsK
KworbmF0aXZlIHR5cGVkZWYgdmVjdG9yPGNoYXIsIDQ+OwordHlwZWRlZiBjaGFyNCA9IHZlY3Rv
cjxjaGFyLCA0PjsKKworbmF0aXZlIHR5cGVkZWYgdmVjdG9yPHVjaGFyLCAyPjsKK3R5cGVkZWYg
dWNoYXIyID0gdmVjdG9yPHVjaGFyLCAyPjsKKworbmF0aXZlIHR5cGVkZWYgdmVjdG9yPHVjaGFy
LCAzPjsKK3R5cGVkZWYgdWNoYXIzID0gdmVjdG9yPHVjaGFyLCAzPjsKKworbmF0aXZlIHR5cGVk
ZWYgdmVjdG9yPHVjaGFyLCA0PjsKK3R5cGVkZWYgdWNoYXI0ID0gdmVjdG9yPHVjaGFyLCA0PjsK
KworbmF0aXZlIHR5cGVkZWYgdmVjdG9yPHNob3J0LCAyPjsKK3R5cGVkZWYgc2hvcnQyID0gdmVj
dG9yPHNob3J0LCAyPjsKKworbmF0aXZlIHR5cGVkZWYgdmVjdG9yPHNob3J0LCAzPjsKK3R5cGVk
ZWYgc2hvcnQzID0gdmVjdG9yPHNob3J0LCAzPjsKKworbmF0aXZlIHR5cGVkZWYgdmVjdG9yPHNo
b3J0LCA0PjsKK3R5cGVkZWYgc2hvcnQ0ID0gdmVjdG9yPHNob3J0LCA0PjsKKworbmF0aXZlIHR5
cGVkZWYgdmVjdG9yPGludDMyLCAyPjsKK3R5cGVkZWYgaW50MiA9IHZlY3RvcjxpbnQzMiwgMj47
CisKK25hdGl2ZSB0eXBlZGVmIHZlY3RvcjxpbnQzMiwgMz47Cit0eXBlZGVmIGludDMgPSB2ZWN0
b3I8aW50MzIsIDM+OworCituYXRpdmUgdHlwZWRlZiB2ZWN0b3I8aW50MzIsIDQ+OwordHlwZWRl
ZiBpbnQ0ID0gdmVjdG9yPGludDMyLCA0PjsKKworbmF0aXZlIHR5cGVkZWYgdmVjdG9yPHVpbnQz
MiwgMj47Cit0eXBlZGVmIHVpbnQyID0gdmVjdG9yPHVpbnQzMiwgMj47CisKK25hdGl2ZSB0eXBl
ZGVmIHZlY3Rvcjx1aW50MzIsIDM+OwordHlwZWRlZiB1aW50MyA9IHZlY3Rvcjx1aW50MzIsIDM+
OworCituYXRpdmUgdHlwZWRlZiB2ZWN0b3I8dWludDMyLCA0PjsKK3R5cGVkZWYgdWludDQgPSB2
ZWN0b3I8dWludDMyLCA0PjsKKworbmF0aXZlIHR5cGVkZWYgdmVjdG9yPGZsb2F0LCAyPjsKK3R5
cGVkZWYgZmxvYXQyID0gdmVjdG9yPGZsb2F0LCAyPjsKKworbmF0aXZlIHR5cGVkZWYgdmVjdG9y
PGZsb2F0LCAzPjsKK3R5cGVkZWYgZmxvYXQzID0gdmVjdG9yPGZsb2F0LCAzPjsKKworbmF0aXZl
IHR5cGVkZWYgdmVjdG9yPGZsb2F0LCA0PjsKK3R5cGVkZWYgZmxvYXQ0ID0gdmVjdG9yPGZsb2F0
LCA0PjsKKwordWNoYXIgb3BlcmF0b3ImKHVjaGFyIGEsIHVjaGFyIGIpIHsKKyAgICByZXR1cm4g
dWNoYXIodWludChhKSAmIHVpbnQoYikpOworfQordWNoYXIgb3BlcmF0b3J8KHVjaGFyIGEsIHVj
aGFyIGIpIHsKKyAgICByZXR1cm4gdWNoYXIodWludChhKSB8IHVpbnQoYikpOworfQordWNoYXIg
b3BlcmF0b3JeKHVjaGFyIGEsIHVjaGFyIGIpIHsKKyAgICByZXR1cm4gdWNoYXIodWludChhKSBe
IHVpbnQoYikpOworfQordWNoYXIgb3BlcmF0b3J+KHVjaGFyIGEpIHsKKyAgICByZXR1cm4gdWNo
YXIofnVpbnQoYSkpOworfQorYm9vbCBvcGVyYXRvcj09KHVjaGFyIGEsIHVjaGFyIGIpIHsKKyAg
ICByZXR1cm4gdWludChhKSA9PSB1aW50KGIpOworfQorYm9vbCBvcGVyYXRvcjwodWNoYXIgYSwg
dWNoYXIgYikgeworICAgIHJldHVybiB1aW50KGEpIDwgdWludChiKTsKK30KK2Jvb2wgb3BlcmF0
b3I8PSh1Y2hhciBhLCB1Y2hhciBiKSB7CisgICAgcmV0dXJuIHVpbnQoYSkgPD0gdWludChiKTsK
K30KK2Jvb2wgb3BlcmF0b3I+KHVjaGFyIGEsIHVjaGFyIGIpIHsKKyAgICByZXR1cm4gdWludChh
KSA+IHVpbnQoYik7Cit9Citib29sIG9wZXJhdG9yPj0odWNoYXIgYSwgdWNoYXIgYikgeworICAg
IHJldHVybiB1aW50KGEpID49IHVpbnQoYik7Cit9Cit1c2hvcnQgb3BlcmF0b3IrKHVzaG9ydCBh
LCB1c2hvcnQgYikgeworICAgIHJldHVybiB1c2hvcnQodWludChhKSArIHVpbnQoYikpOworfQor
dXNob3J0IG9wZXJhdG9yLSh1c2hvcnQgYSwgdXNob3J0IGIpIHsKKyAgICByZXR1cm4gdXNob3J0
KHVpbnQoYSkgLSB1aW50KGIpKTsKK30KK3VzaG9ydCBvcGVyYXRvcioodXNob3J0IGEsIHVzaG9y
dCBiKSB7CisgICAgcmV0dXJuIHVzaG9ydCh1aW50KGEpICogdWludChiKSk7Cit9Cit1c2hvcnQg
b3BlcmF0b3IvKHVzaG9ydCBhLCB1c2hvcnQgYikgeworICAgIHJldHVybiB1c2hvcnQodWludChh
KSAvIHVpbnQoYikpOworfQordXNob3J0IG9wZXJhdG9yJih1c2hvcnQgYSwgdXNob3J0IGIpIHsK
KyAgICByZXR1cm4gdXNob3J0KHVpbnQoYSkgJiB1aW50KGIpKTsKK30KK3VzaG9ydCBvcGVyYXRv
cnwodXNob3J0IGEsIHVzaG9ydCBiKSB7CisgICAgcmV0dXJuIHVzaG9ydCh1aW50KGEpIHwgdWlu
dChiKSk7Cit9Cit1c2hvcnQgb3BlcmF0b3JeKHVzaG9ydCBhLCB1c2hvcnQgYikgeworICAgIHJl
dHVybiB1c2hvcnQodWludChhKSBeIHVpbnQoYikpOworfQordXNob3J0IG9wZXJhdG9yfih1c2hv
cnQgYSkgeworICAgIHJldHVybiB1c2hvcnQofnVpbnQoYSkpOworfQorYm9vbCBvcGVyYXRvcj09
KHVzaG9ydCBhLCB1c2hvcnQgYikgeworICAgIHJldHVybiB1aW50KGEpID09IHVpbnQoYik7Cit9
Citib29sIG9wZXJhdG9yPCh1c2hvcnQgYSwgdXNob3J0IGIpIHsKKyAgICByZXR1cm4gdWludChh
KSA8IHVpbnQoYik7Cit9Citib29sIG9wZXJhdG9yPD0odXNob3J0IGEsIHVzaG9ydCBiKSB7Cisg
ICAgcmV0dXJuIHVpbnQoYSkgPD0gdWludChiKTsKK30KK2Jvb2wgb3BlcmF0b3I+KHVzaG9ydCBh
LCB1c2hvcnQgYikgeworICAgIHJldHVybiB1aW50KGEpID4gdWludChiKTsKK30KK2Jvb2wgb3Bl
cmF0b3I+PSh1c2hvcnQgYSwgdXNob3J0IGIpIHsKKyAgICByZXR1cm4gdWludChhKSA+PSB1aW50
KGIpOworfQordWNoYXIgb3BlcmF0b3I8PCh1Y2hhciBhLCB1aW50IGIpIHsKKyAgICByZXR1cm4g
dWNoYXIodWludChhKSA8PCAoYiAmIDI1NSkpOworfQordXNob3J0IG9wZXJhdG9yPDwodXNob3J0
IGEsIHVpbnQgYikgeworICAgIHJldHVybiB1c2hvcnQodWludChhKSA8PCAoYiAmIDY1NTM1KSk7
Cit9Cit1Y2hhciBvcGVyYXRvcj4+KHVjaGFyIGEsIHVpbnQgYikgeworICAgIHJldHVybiB1Y2hh
cih1aW50KGEpID4+IChiICYgMjU1KSk7Cit9Cit1c2hvcnQgb3BlcmF0b3I+Pih1c2hvcnQgYSwg
dWludCBiKSB7CisgICAgcmV0dXJuIHVzaG9ydCh1aW50KGEpID4+IChiICYgNjU1MzUpKTsKK30K
K2NoYXIgb3BlcmF0b3IrKGNoYXIgYSwgY2hhciBiKSB7CisgICAgcmV0dXJuIGNoYXIoaW50KGEp
ICsgaW50KGIpKTsKK30KK2NoYXIgb3BlcmF0b3ItKGNoYXIgYSwgY2hhciBiKSB7CisgICAgcmV0
dXJuIGNoYXIoaW50KGEpIC0gaW50KGIpKTsKK30KK2NoYXIgb3BlcmF0b3IqKGNoYXIgYSwgY2hh
ciBiKSB7CisgICAgcmV0dXJuIGNoYXIoaW50KGEpICogaW50KGIpKTsKK30KK2NoYXIgb3BlcmF0
b3IvKGNoYXIgYSwgY2hhciBiKSB7CisgICAgcmV0dXJuIGNoYXIoaW50KGEpIC8gaW50KGIpKTsK
K30KK2NoYXIgb3BlcmF0b3ImKGNoYXIgYSwgY2hhciBiKSB7CisgICAgcmV0dXJuIGNoYXIoaW50
KGEpICYgaW50KGIpKTsKK30KK2NoYXIgb3BlcmF0b3J8KGNoYXIgYSwgY2hhciBiKSB7CisgICAg
cmV0dXJuIGNoYXIoaW50KGEpIHwgaW50KGIpKTsKK30KK2NoYXIgb3BlcmF0b3JeKGNoYXIgYSwg
Y2hhciBiKSB7CisgICAgcmV0dXJuIGNoYXIoaW50KGEpIF4gaW50KGIpKTsKK30KK2NoYXIgb3Bl
cmF0b3J+KGNoYXIgYSkgeworICAgIHJldHVybiBjaGFyKH5pbnQoYSkpOworfQorYm9vbCBvcGVy
YXRvcj09KGNoYXIgYSwgY2hhciBiKSB7CisgICAgcmV0dXJuIGludChhKSA9PSBpbnQoYik7Cit9
Citib29sIG9wZXJhdG9yPihjaGFyIGEsIGNoYXIgYikgeworICAgIHJldHVybiBpbnQoYSkgPiBp
bnQoYik7Cit9Citib29sIG9wZXJhdG9yPj0oY2hhciBhLCBjaGFyIGIpIHsKKyAgICByZXR1cm4g
aW50KGEpID49IGludChiKTsKK30KK2Jvb2wgb3BlcmF0b3I8KGNoYXIgYSwgY2hhciBiKSB7Cisg
ICAgcmV0dXJuIGludChhKSA8IGludChiKTsKK30KK2Jvb2wgb3BlcmF0b3I8PShjaGFyIGEsIGNo
YXIgYikgeworICAgIHJldHVybiBpbnQoYSkgPD0gaW50KGIpOworfQorc2hvcnQgb3BlcmF0b3Ir
KHNob3J0IGEsIHNob3J0IGIpIHsKKyAgICByZXR1cm4gc2hvcnQoaW50KGEpICsgaW50KGIpKTsK
K30KK3Nob3J0IG9wZXJhdG9yLShzaG9ydCBhLCBzaG9ydCBiKSB7CisgICAgcmV0dXJuIHNob3J0
KGludChhKSAtIGludChiKSk7Cit9CitzaG9ydCBvcGVyYXRvciooc2hvcnQgYSwgc2hvcnQgYikg
eworICAgIHJldHVybiBzaG9ydChpbnQoYSkgKiBpbnQoYikpOworfQorc2hvcnQgb3BlcmF0b3Iv
KHNob3J0IGEsIHNob3J0IGIpIHsKKyAgICByZXR1cm4gc2hvcnQoaW50KGEpIC8gaW50KGIpKTsK
K30KK3Nob3J0IG9wZXJhdG9yJihzaG9ydCBhLCBzaG9ydCBiKSB7CisgICAgcmV0dXJuIHNob3J0
KGludChhKSAmIGludChiKSk7Cit9CitzaG9ydCBvcGVyYXRvcnwoc2hvcnQgYSwgc2hvcnQgYikg
eworICAgIHJldHVybiBzaG9ydChpbnQoYSkgfCBpbnQoYikpOworfQorc2hvcnQgb3BlcmF0b3Je
KHNob3J0IGEsIHNob3J0IGIpIHsKKyAgICByZXR1cm4gc2hvcnQoaW50KGEpIF4gaW50KGIpKTsK
K30KK3Nob3J0IG9wZXJhdG9yfihzaG9ydCBhKSB7CisgICAgcmV0dXJuIHNob3J0KH5pbnQoYSkp
OworfQorYm9vbCBvcGVyYXRvcj09KHNob3J0IGEsIHNob3J0IGIpIHsKKyAgICByZXR1cm4gaW50
KGEpID09IGludChiKTsKK30KK2Jvb2wgb3BlcmF0b3I+KHNob3J0IGEsIHNob3J0IGIpIHsKKyAg
ICByZXR1cm4gaW50KGEpID4gaW50KGIpOworfQorYm9vbCBvcGVyYXRvcj49KHNob3J0IGEsIHNo
b3J0IGIpIHsKKyAgICByZXR1cm4gaW50KGEpID49IGludChiKTsKK30KK2Jvb2wgb3BlcmF0b3I8
KHNob3J0IGEsIHNob3J0IGIpIHsKKyAgICByZXR1cm4gaW50KGEpIDwgaW50KGIpOworfQorYm9v
bCBvcGVyYXRvcjw9KHNob3J0IGEsIHNob3J0IGIpIHsKKyAgICByZXR1cm4gaW50KGEpIDw9IGlu
dChiKTsKK30KK2NoYXIgb3BlcmF0b3I8PChjaGFyIGEsIHVpbnQgYikgeworICAgIHJldHVybiBj
aGFyKGludChhKSA8PCAoYiAmIDI1NSkpOworfQorc2hvcnQgb3BlcmF0b3I8PChzaG9ydCBhLCB1
aW50IGIpIHsKKyAgICByZXR1cm4gc2hvcnQoaW50KGEpIDw8IChiICYgNjU1MzUpKTsKK30KK2No
YXIgb3BlcmF0b3I+PihjaGFyIGEsIHVpbnQgYikgeworICAgIHJldHVybiBjaGFyKGludChhKSA+
PiAoYiAmIDI1NSkpOworfQorc2hvcnQgb3BlcmF0b3I+PihzaG9ydCBhLCB1aW50IGIpIHsKKyAg
ICByZXR1cm4gc2hvcnQoaW50KGEpID4+IChiICYgNjU1MzUpKTsKK30KK3VjaGFyIG9wZXJhdG9y
KysodWNoYXIgdmFsdWUpIHsKKyAgICByZXR1cm4gdmFsdWUgKyAxOworfQordWNoYXIgb3BlcmF0
b3ItLSh1Y2hhciB2YWx1ZSkgeworICAgIHJldHVybiB2YWx1ZSAtIDE7Cit9Cit1c2hvcnQgb3Bl
cmF0b3IrKyh1c2hvcnQgdmFsdWUpIHsKKyAgICByZXR1cm4gdmFsdWUgKyAxOworfQordXNob3J0
IG9wZXJhdG9yLS0odXNob3J0IHZhbHVlKSB7CisgICAgcmV0dXJuIHZhbHVlIC0gMTsKK30KK3Vp
bnQgb3BlcmF0b3IrKyh1aW50IHZhbHVlKSB7CisgICAgcmV0dXJuIHZhbHVlICsgMTsKK30KK3Vp
bnQgb3BlcmF0b3ItLSh1aW50IHZhbHVlKSB7CisgICAgcmV0dXJuIHZhbHVlIC0gMTsKK30KK2No
YXIgb3BlcmF0b3IrKyhjaGFyIHZhbHVlKSB7CisgICAgcmV0dXJuIHZhbHVlICsgMTsKK30KK2No
YXIgb3BlcmF0b3ItLShjaGFyIHZhbHVlKSB7CisgICAgcmV0dXJuIHZhbHVlIC0gMTsKK30KK3No
b3J0IG9wZXJhdG9yKysoc2hvcnQgdmFsdWUpIHsKKyAgICByZXR1cm4gdmFsdWUgKyAxOworfQor
c2hvcnQgb3BlcmF0b3ItLShzaG9ydCB2YWx1ZSkgeworICAgIHJldHVybiB2YWx1ZSAtIDE7Cit9
CitpbnQgb3BlcmF0b3IrKyhpbnQgdmFsdWUpIHsKKyAgICByZXR1cm4gdmFsdWUgKyAxOworfQor
aW50IG9wZXJhdG9yLS0oaW50IHZhbHVlKSB7CisgICAgcmV0dXJuIHZhbHVlIC0gMTsKK30KK2hh
bGYgb3BlcmF0b3IrKyhoYWxmIHZhbHVlKSB7CisgICAgcmV0dXJuIHZhbHVlICsgMTsKK30KK2hh
bGYgb3BlcmF0b3ItLShoYWxmIHZhbHVlKSB7CisgICAgcmV0dXJuIHZhbHVlIC0gMTsKK30KK2Zs
b2F0IG9wZXJhdG9yKysoZmxvYXQgdmFsdWUpIHsKKyAgICByZXR1cm4gdmFsdWUgKyAxOworfQor
ZmxvYXQgb3BlcmF0b3ItLShmbG9hdCB2YWx1ZSkgeworICAgIHJldHVybiB2YWx1ZSAtIDE7Cit9
CitoYWxmIG9wZXJhdG9yKyhoYWxmIGEsIGhhbGYgYikgeworICAgIHJldHVybiBoYWxmKGZsb2F0
KGEpICsgZmxvYXQoYikpOworfQoraGFsZiBvcGVyYXRvci0oaGFsZiBhLCBoYWxmIGIpIHsKKyAg
ICByZXR1cm4gaGFsZihmbG9hdChhKSAtIGZsb2F0KGIpKTsKK30KK2hhbGYgb3BlcmF0b3IqKGhh
bGYgYSwgaGFsZiBiKSB7CisgICAgcmV0dXJuIGhhbGYoZmxvYXQoYSkgKiBmbG9hdChiKSk7Cit9
CitoYWxmIG9wZXJhdG9yLyhoYWxmIGEsIGhhbGYgYikgeworICAgIHJldHVybiBoYWxmKGZsb2F0
KGEpIC8gZmxvYXQoYikpOworfQorYm9vbCBvcGVyYXRvcj09KGhhbGYgYSwgaGFsZiBiKSB7Cisg
ICAgcmV0dXJuIGZsb2F0KGEpID09IGZsb2F0KGIpOworfQorYm9vbCBvcGVyYXRvcjwoaGFsZiBh
LCBoYWxmIGIpIHsKKyAgICByZXR1cm4gZmxvYXQoYSkgPCBmbG9hdChiKTsKK30KK2Jvb2wgb3Bl
cmF0b3I8PShoYWxmIGEsIGhhbGYgYikgeworICAgIHJldHVybiBmbG9hdChhKSA8PSBmbG9hdChi
KTsKK30KK2Jvb2wgb3BlcmF0b3I+KGhhbGYgYSwgaGFsZiBiKSB7CisgICAgcmV0dXJuIGZsb2F0
KGEpIDwgZmxvYXQoYik7Cit9Citib29sIG9wZXJhdG9yPj0oaGFsZiBhLCBoYWxmIGIpIHsKKyAg
ICByZXR1cm4gZmxvYXQoYSkgPD0gZmxvYXQoYik7Cit9CitjaGFyIG9wZXJhdG9yLShjaGFyIHgp
IHsKKyAgICByZXR1cm4gY2hhcigtaW50KHgpKTsKK30KK3Nob3J0IG9wZXJhdG9yLShzaG9ydCB4
KSB7CisgICAgcmV0dXJuIHNob3J0KC1pbnQoeCkpOworfQoraGFsZiBvcGVyYXRvci0oaGFsZiB4
KSB7CisgICAgcmV0dXJuIGhhbGYoLWZsb2F0KHgpKTsKK30KK25hdGl2ZSBpbnQgb3BlcmF0b3It
KGludCk7CituYXRpdmUgZmxvYXQgb3BlcmF0b3ItKGZsb2F0KTsKKwordWNoYXIyIG9wZXJhdG9y
Kyh1Y2hhcjIgYSwgdWNoYXIyIGIpIHsKKyAgICB1Y2hhcjIgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IGFbMF0gKyBiWzBdOworICAgIHJlc3VsdFsxXSA9IGFbMV0gKyBiWzFdOworICAgIHJldHVy
biByZXN1bHQ7Cit9Cit1Y2hhcjIgb3BlcmF0b3ItKHVjaGFyMiBhLCB1Y2hhcjIgYikgeworICAg
IHVjaGFyMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAtIGJbMF07CisgICAgcmVzdWx0
WzFdID0gYVsxXSAtIGJbMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VjaGFyMiBvcGVyYXRv
cioodWNoYXIyIGEsIHVjaGFyMiBiKSB7CisgICAgdWNoYXIyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBhWzBdICogYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFdICogYlsxXTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQordWNoYXIyIG9wZXJhdG9yKih1Y2hhcjIgYSwgdWNoYXIgYikgeworICAg
IHVjaGFyMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAqIGI7CisgICAgcmVzdWx0WzFd
ID0gYVsxXSAqIGI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VjaGFyMiBvcGVyYXRvcioodWNo
YXIgYSwgdWNoYXIyIGIpIHsKKyAgICB1Y2hhcjIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGEg
KiBiWzBdOworICAgIHJlc3VsdFsxXSA9IGEgKiBiWzFdOworICAgIHJldHVybiByZXN1bHQ7Cit9
Cit1Y2hhcjIgb3BlcmF0b3IvKHVjaGFyMiBhLCB1Y2hhcjIgYikgeworICAgIHVjaGFyMiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAvIGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsxXSAv
IGJbMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VjaGFyMiBvcGVyYXRvci8odWNoYXIyIGEs
IHVjaGFyIGIpIHsKKyAgICB1Y2hhcjIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gLyBi
OworICAgIHJlc3VsdFsxXSA9IGFbMV0gLyBiOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1Y2hh
cjIgb3BlcmF0b3IvKHVjaGFyIGEsIHVjaGFyMiBiKSB7CisgICAgdWNoYXIyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBhIC8gYlswXTsKKyAgICByZXN1bHRbMV0gPSBhIC8gYlsxXTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQordWNoYXIzIG9wZXJhdG9yKyh1Y2hhcjMgYSwgdWNoYXIzIGIpIHsK
KyAgICB1Y2hhcjMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gKyBiWzBdOworICAgIHJl
c3VsdFsxXSA9IGFbMV0gKyBiWzFdOworICAgIHJlc3VsdFsyXSA9IGFbMl0gKyBiWzJdOworICAg
IHJldHVybiByZXN1bHQ7Cit9Cit1Y2hhcjMgb3BlcmF0b3ItKHVjaGFyMyBhLCB1Y2hhcjMgYikg
eworICAgIHVjaGFyMyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAtIGJbMF07CisgICAg
cmVzdWx0WzFdID0gYVsxXSAtIGJbMV07CisgICAgcmVzdWx0WzJdID0gYVsyXSAtIGJbMl07Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK3VjaGFyMyBvcGVyYXRvcioodWNoYXIzIGEsIHVjaGFyMyBi
KSB7CisgICAgdWNoYXIzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhWzBdICogYlswXTsKKyAg
ICByZXN1bHRbMV0gPSBhWzFdICogYlsxXTsKKyAgICByZXN1bHRbMl0gPSBhWzJdICogYlsyXTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQordWNoYXIzIG9wZXJhdG9yKih1Y2hhcjMgYSwgdWNoYXIg
YikgeworICAgIHVjaGFyMyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAqIGI7CisgICAg
cmVzdWx0WzFdID0gYVsxXSAqIGI7CisgICAgcmVzdWx0WzJdID0gYVsyXSAqIGI7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK3VjaGFyMyBvcGVyYXRvcioodWNoYXIgYSwgdWNoYXIzIGIpIHsKKyAg
ICB1Y2hhcjMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGEgKiBiWzBdOworICAgIHJlc3VsdFsx
XSA9IGEgKiBiWzFdOworICAgIHJlc3VsdFsyXSA9IGEgKiBiWzJdOworICAgIHJldHVybiByZXN1
bHQ7Cit9Cit1Y2hhcjMgb3BlcmF0b3IvKHVjaGFyMyBhLCB1Y2hhcjMgYikgeworICAgIHVjaGFy
MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAvIGJbMF07CisgICAgcmVzdWx0WzFdID0g
YVsxXSAvIGJbMV07CisgICAgcmVzdWx0WzJdID0gYVsyXSAvIGJbMl07CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK3VjaGFyMyBvcGVyYXRvci8odWNoYXIzIGEsIHVjaGFyIGIpIHsKKyAgICB1Y2hh
cjMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gLyBiOworICAgIHJlc3VsdFsxXSA9IGFb
MV0gLyBiOworICAgIHJlc3VsdFsyXSA9IGFbMl0gLyBiOworICAgIHJldHVybiByZXN1bHQ7Cit9
Cit1Y2hhcjMgb3BlcmF0b3IvKHVjaGFyIGEsIHVjaGFyMyBiKSB7CisgICAgdWNoYXIzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSBhIC8gYlswXTsKKyAgICByZXN1bHRbMV0gPSBhIC8gYlsxXTsK
KyAgICByZXN1bHRbMl0gPSBhIC8gYlsyXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWNoYXI0
IG9wZXJhdG9yKyh1Y2hhcjQgYSwgdWNoYXI0IGIpIHsKKyAgICB1Y2hhcjQgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IGFbMF0gKyBiWzBdOworICAgIHJlc3VsdFsxXSA9IGFbMV0gKyBiWzFdOwor
ICAgIHJlc3VsdFsyXSA9IGFbMl0gKyBiWzJdOworICAgIHJlc3VsdFszXSA9IGFbM10gKyBiWzNd
OworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1Y2hhcjQgb3BlcmF0b3ItKHVjaGFyNCBhLCB1Y2hh
cjQgYikgeworICAgIHVjaGFyNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAtIGJbMF07
CisgICAgcmVzdWx0WzFdID0gYVsxXSAtIGJbMV07CisgICAgcmVzdWx0WzJdID0gYVsyXSAtIGJb
Ml07CisgICAgcmVzdWx0WzNdID0gYVszXSAtIGJbM107CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K3VjaGFyNCBvcGVyYXRvcioodWNoYXI0IGEsIHVjaGFyNCBiKSB7CisgICAgdWNoYXI0IHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSBhWzBdICogYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFdICog
YlsxXTsKKyAgICByZXN1bHRbMl0gPSBhWzJdICogYlsyXTsKKyAgICByZXN1bHRbM10gPSBhWzNd
ICogYlszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWNoYXI0IG9wZXJhdG9yKih1Y2hhcjQg
YSwgdWNoYXIgYikgeworICAgIHVjaGFyNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAq
IGI7CisgICAgcmVzdWx0WzFdID0gYVsxXSAqIGI7CisgICAgcmVzdWx0WzJdID0gYVsyXSAqIGI7
CisgICAgcmVzdWx0WzNdID0gYVszXSAqIGI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VjaGFy
NCBvcGVyYXRvcioodWNoYXIgYSwgdWNoYXI0IGIpIHsKKyAgICB1Y2hhcjQgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IGEgKiBiWzBdOworICAgIHJlc3VsdFsxXSA9IGEgKiBiWzFdOworICAgIHJl
c3VsdFsyXSA9IGEgKiBiWzJdOworICAgIHJlc3VsdFszXSA9IGEgKiBiWzNdOworICAgIHJldHVy
biByZXN1bHQ7Cit9Cit1Y2hhcjQgb3BlcmF0b3IvKHVjaGFyNCBhLCB1Y2hhcjQgYikgeworICAg
IHVjaGFyNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAvIGJbMF07CisgICAgcmVzdWx0
WzFdID0gYVsxXSAvIGJbMV07CisgICAgcmVzdWx0WzJdID0gYVsyXSAvIGJbMl07CisgICAgcmVz
dWx0WzNdID0gYVszXSAvIGJbM107CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VjaGFyNCBvcGVy
YXRvci8odWNoYXI0IGEsIHVjaGFyIGIpIHsKKyAgICB1Y2hhcjQgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IGFbMF0gLyBiOworICAgIHJlc3VsdFsxXSA9IGFbMV0gLyBiOworICAgIHJlc3VsdFsy
XSA9IGFbMl0gLyBiOworICAgIHJlc3VsdFszXSA9IGFbM10gLyBiOworICAgIHJldHVybiByZXN1
bHQ7Cit9Cit1Y2hhcjQgb3BlcmF0b3IvKHVjaGFyIGEsIHVjaGFyNCBiKSB7CisgICAgdWNoYXI0
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhIC8gYlswXTsKKyAgICByZXN1bHRbMV0gPSBhIC8g
YlsxXTsKKyAgICByZXN1bHRbMl0gPSBhIC8gYlsyXTsKKyAgICByZXN1bHRbM10gPSBhIC8gYlsz
XTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordXNob3J0MiBvcGVyYXRvcisodXNob3J0MiBhLCB1
c2hvcnQyIGIpIHsKKyAgICB1c2hvcnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhWzBdICsg
YlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFdICsgYlsxXTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQordXNob3J0MiBvcGVyYXRvci0odXNob3J0MiBhLCB1c2hvcnQyIGIpIHsKKyAgICB1c2hvcnQy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhWzBdIC0gYlswXTsKKyAgICByZXN1bHRbMV0gPSBh
WzFdIC0gYlsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordXNob3J0MiBvcGVyYXRvcioodXNo
b3J0MiBhLCB1c2hvcnQyIGIpIHsKKyAgICB1c2hvcnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBhWzBdICogYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFdICogYlsxXTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQordXNob3J0MiBvcGVyYXRvcioodXNob3J0MiBhLCB1c2hvcnQgYikgeworICAg
IHVzaG9ydDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gKiBiOworICAgIHJlc3VsdFsx
XSA9IGFbMV0gKiBiOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1c2hvcnQyIG9wZXJhdG9yKih1
c2hvcnQgYSwgdXNob3J0MiBiKSB7CisgICAgdXNob3J0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gYSAqIGJbMF07CisgICAgcmVzdWx0WzFdID0gYSAqIGJbMV07CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK3VzaG9ydDIgb3BlcmF0b3IvKHVzaG9ydDIgYSwgdXNob3J0MiBiKSB7CisgICAgdXNo
b3J0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAvIGJbMF07CisgICAgcmVzdWx0WzFd
ID0gYVsxXSAvIGJbMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VzaG9ydDIgb3BlcmF0b3Iv
KHVzaG9ydDIgYSwgdXNob3J0IGIpIHsKKyAgICB1c2hvcnQyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBhWzBdIC8gYjsKKyAgICByZXN1bHRbMV0gPSBhWzFdIC8gYjsKKyAgICByZXR1cm4gcmVz
dWx0OworfQordXNob3J0MiBvcGVyYXRvci8odXNob3J0IGEsIHVzaG9ydDIgYikgeworICAgIHVz
aG9ydDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGEgLyBiWzBdOworICAgIHJlc3VsdFsxXSA9
IGEgLyBiWzFdOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1c2hvcnQzIG9wZXJhdG9yKyh1c2hv
cnQzIGEsIHVzaG9ydDMgYikgeworICAgIHVzaG9ydDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9
IGFbMF0gKyBiWzBdOworICAgIHJlc3VsdFsxXSA9IGFbMV0gKyBiWzFdOworICAgIHJlc3VsdFsy
XSA9IGFbMl0gKyBiWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1c2hvcnQzIG9wZXJhdG9y
LSh1c2hvcnQzIGEsIHVzaG9ydDMgYikgeworICAgIHVzaG9ydDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IGFbMF0gLSBiWzBdOworICAgIHJlc3VsdFsxXSA9IGFbMV0gLSBiWzFdOworICAgIHJl
c3VsdFsyXSA9IGFbMl0gLSBiWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1c2hvcnQzIG9w
ZXJhdG9yKih1c2hvcnQzIGEsIHVzaG9ydDMgYikgeworICAgIHVzaG9ydDMgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IGFbMF0gKiBiWzBdOworICAgIHJlc3VsdFsxXSA9IGFbMV0gKiBiWzFdOwor
ICAgIHJlc3VsdFsyXSA9IGFbMl0gKiBiWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1c2hv
cnQzIG9wZXJhdG9yKih1c2hvcnQzIGEsIHVzaG9ydCBiKSB7CisgICAgdXNob3J0MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gYVswXSAqIGI7CisgICAgcmVzdWx0WzFdID0gYVsxXSAqIGI7Cisg
ICAgcmVzdWx0WzJdID0gYVsyXSAqIGI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VzaG9ydDMg
b3BlcmF0b3IqKHVzaG9ydCBhLCB1c2hvcnQzIGIpIHsKKyAgICB1c2hvcnQzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBhICogYlswXTsKKyAgICByZXN1bHRbMV0gPSBhICogYlsxXTsKKyAgICBy
ZXN1bHRbMl0gPSBhICogYlsyXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordXNob3J0MyBvcGVy
YXRvci8odXNob3J0MyBhLCB1c2hvcnQzIGIpIHsKKyAgICB1c2hvcnQzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBhWzBdIC8gYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFdIC8gYlsxXTsKKyAg
ICByZXN1bHRbMl0gPSBhWzJdIC8gYlsyXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordXNob3J0
MyBvcGVyYXRvci8odXNob3J0MyBhLCB1c2hvcnQgYikgeworICAgIHVzaG9ydDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IGFbMF0gLyBiOworICAgIHJlc3VsdFsxXSA9IGFbMV0gLyBiOworICAg
IHJlc3VsdFsyXSA9IGFbMl0gLyBiOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1c2hvcnQzIG9w
ZXJhdG9yLyh1c2hvcnQgYSwgdXNob3J0MyBiKSB7CisgICAgdXNob3J0MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gYSAvIGJbMF07CisgICAgcmVzdWx0WzFdID0gYSAvIGJbMV07CisgICAgcmVz
dWx0WzJdID0gYSAvIGJbMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VzaG9ydDQgb3BlcmF0
b3IrKHVzaG9ydDQgYSwgdXNob3J0NCBiKSB7CisgICAgdXNob3J0NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gYVswXSArIGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsxXSArIGJbMV07CisgICAg
cmVzdWx0WzJdID0gYVsyXSArIGJbMl07CisgICAgcmVzdWx0WzNdID0gYVszXSArIGJbM107Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK3VzaG9ydDQgb3BlcmF0b3ItKHVzaG9ydDQgYSwgdXNob3J0
NCBiKSB7CisgICAgdXNob3J0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAtIGJbMF07
CisgICAgcmVzdWx0WzFdID0gYVsxXSAtIGJbMV07CisgICAgcmVzdWx0WzJdID0gYVsyXSAtIGJb
Ml07CisgICAgcmVzdWx0WzNdID0gYVszXSAtIGJbM107CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K3VzaG9ydDQgb3BlcmF0b3IqKHVzaG9ydDQgYSwgdXNob3J0NCBiKSB7CisgICAgdXNob3J0NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAqIGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsx
XSAqIGJbMV07CisgICAgcmVzdWx0WzJdID0gYVsyXSAqIGJbMl07CisgICAgcmVzdWx0WzNdID0g
YVszXSAqIGJbM107CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VzaG9ydDQgb3BlcmF0b3IqKHVz
aG9ydDQgYSwgdXNob3J0IGIpIHsKKyAgICB1c2hvcnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBhWzBdICogYjsKKyAgICByZXN1bHRbMV0gPSBhWzFdICogYjsKKyAgICByZXN1bHRbMl0gPSBh
WzJdICogYjsKKyAgICByZXN1bHRbM10gPSBhWzNdICogYjsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQordXNob3J0NCBvcGVyYXRvcioodXNob3J0IGEsIHVzaG9ydDQgYikgeworICAgIHVzaG9ydDQg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IGEgKiBiWzBdOworICAgIHJlc3VsdFsxXSA9IGEgKiBi
WzFdOworICAgIHJlc3VsdFsyXSA9IGEgKiBiWzJdOworICAgIHJlc3VsdFszXSA9IGEgKiBiWzNd
OworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1c2hvcnQ0IG9wZXJhdG9yLyh1c2hvcnQ0IGEsIHVz
aG9ydDQgYikgeworICAgIHVzaG9ydDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gLyBi
WzBdOworICAgIHJlc3VsdFsxXSA9IGFbMV0gLyBiWzFdOworICAgIHJlc3VsdFsyXSA9IGFbMl0g
LyBiWzJdOworICAgIHJlc3VsdFszXSA9IGFbM10gLyBiWzNdOworICAgIHJldHVybiByZXN1bHQ7
Cit9Cit1c2hvcnQ0IG9wZXJhdG9yLyh1c2hvcnQ0IGEsIHVzaG9ydCBiKSB7CisgICAgdXNob3J0
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAvIGI7CisgICAgcmVzdWx0WzFdID0gYVsx
XSAvIGI7CisgICAgcmVzdWx0WzJdID0gYVsyXSAvIGI7CisgICAgcmVzdWx0WzNdID0gYVszXSAv
IGI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VzaG9ydDQgb3BlcmF0b3IvKHVzaG9ydCBhLCB1
c2hvcnQ0IGIpIHsKKyAgICB1c2hvcnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhIC8gYlsw
XTsKKyAgICByZXN1bHRbMV0gPSBhIC8gYlsxXTsKKyAgICByZXN1bHRbMl0gPSBhIC8gYlsyXTsK
KyAgICByZXN1bHRbM10gPSBhIC8gYlszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludDIg
b3BlcmF0b3IrKHVpbnQyIGEsIHVpbnQyIGIpIHsKKyAgICB1aW50MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gYVswXSArIGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsxXSArIGJbMV07CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK3VpbnQyIG9wZXJhdG9yLSh1aW50MiBhLCB1aW50MiBiKSB7Cisg
ICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gLSBiWzBdOworICAgIHJlc3Vs
dFsxXSA9IGFbMV0gLSBiWzFdOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50MiBvcGVyYXRv
cioodWludDIgYSwgdWludDIgYikgeworICAgIHVpbnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBhWzBdICogYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFdICogYlsxXTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQordWludDIgb3BlcmF0b3IqKHVpbnQyIGEsIHVpbnQgYikgeworICAgIHVpbnQy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhWzBdICogYjsKKyAgICByZXN1bHRbMV0gPSBhWzFd
ICogYjsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludDIgb3BlcmF0b3IqKHVpbnQgYSwgdWlu
dDIgYikgeworICAgIHVpbnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhICogYlswXTsKKyAg
ICByZXN1bHRbMV0gPSBhICogYlsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludDIgb3Bl
cmF0b3IvKHVpbnQyIGEsIHVpbnQyIGIpIHsKKyAgICB1aW50MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gYVswXSAvIGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsxXSAvIGJbMV07CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK3VpbnQyIG9wZXJhdG9yLyh1aW50MiBhLCB1aW50IGIpIHsKKyAgICB1
aW50MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAvIGI7CisgICAgcmVzdWx0WzFdID0g
YVsxXSAvIGI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VpbnQyIG9wZXJhdG9yLyh1aW50IGEs
IHVpbnQyIGIpIHsKKyAgICB1aW50MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYSAvIGJbMF07
CisgICAgcmVzdWx0WzFdID0gYSAvIGJbMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VpbnQz
IG9wZXJhdG9yKyh1aW50MyBhLCB1aW50MyBiKSB7CisgICAgdWludDMgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGFbMF0gKyBiWzBdOworICAgIHJlc3VsdFsxXSA9IGFbMV0gKyBiWzFdOworICAg
IHJlc3VsdFsyXSA9IGFbMl0gKyBiWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50MyBv
cGVyYXRvci0odWludDMgYSwgdWludDMgYikgeworICAgIHVpbnQzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBhWzBdIC0gYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFdIC0gYlsxXTsKKyAgICBy
ZXN1bHRbMl0gPSBhWzJdIC0gYlsyXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludDMgb3Bl
cmF0b3IqKHVpbnQzIGEsIHVpbnQzIGIpIHsKKyAgICB1aW50MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gYVswXSAqIGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsxXSAqIGJbMV07CisgICAgcmVz
dWx0WzJdID0gYVsyXSAqIGJbMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VpbnQzIG9wZXJh
dG9yKih1aW50MyBhLCB1aW50IGIpIHsKKyAgICB1aW50MyByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gYVswXSAqIGI7CisgICAgcmVzdWx0WzFdID0gYVsxXSAqIGI7CisgICAgcmVzdWx0WzJdID0g
YVsyXSAqIGI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VpbnQzIG9wZXJhdG9yKih1aW50IGEs
IHVpbnQzIGIpIHsKKyAgICB1aW50MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYSAqIGJbMF07
CisgICAgcmVzdWx0WzFdID0gYSAqIGJbMV07CisgICAgcmVzdWx0WzJdID0gYSAqIGJbMl07Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK3VpbnQzIG9wZXJhdG9yLyh1aW50MyBhLCB1aW50MyBiKSB7
CisgICAgdWludDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gLyBiWzBdOworICAgIHJl
c3VsdFsxXSA9IGFbMV0gLyBiWzFdOworICAgIHJlc3VsdFsyXSA9IGFbMl0gLyBiWzJdOworICAg
IHJldHVybiByZXN1bHQ7Cit9Cit1aW50MyBvcGVyYXRvci8odWludDMgYSwgdWludCBiKSB7Cisg
ICAgdWludDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gLyBiOworICAgIHJlc3VsdFsx
XSA9IGFbMV0gLyBiOworICAgIHJlc3VsdFsyXSA9IGFbMl0gLyBiOworICAgIHJldHVybiByZXN1
bHQ7Cit9Cit1aW50MyBvcGVyYXRvci8odWludCBhLCB1aW50MyBiKSB7CisgICAgdWludDMgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IGEgLyBiWzBdOworICAgIHJlc3VsdFsxXSA9IGEgLyBiWzFd
OworICAgIHJlc3VsdFsyXSA9IGEgLyBiWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50
NCBvcGVyYXRvcisodWludDQgYSwgdWludDQgYikgeworICAgIHVpbnQ0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBhWzBdICsgYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFdICsgYlsxXTsKKyAg
ICByZXN1bHRbMl0gPSBhWzJdICsgYlsyXTsKKyAgICByZXN1bHRbM10gPSBhWzNdICsgYlszXTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQordWludDQgb3BlcmF0b3ItKHVpbnQ0IGEsIHVpbnQ0IGIp
IHsKKyAgICB1aW50NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAtIGJbMF07CisgICAg
cmVzdWx0WzFdID0gYVsxXSAtIGJbMV07CisgICAgcmVzdWx0WzJdID0gYVsyXSAtIGJbMl07Cisg
ICAgcmVzdWx0WzNdID0gYVszXSAtIGJbM107CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VpbnQ0
IG9wZXJhdG9yKih1aW50NCBhLCB1aW50NCBiKSB7CisgICAgdWludDQgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGFbMF0gKiBiWzBdOworICAgIHJlc3VsdFsxXSA9IGFbMV0gKiBiWzFdOworICAg
IHJlc3VsdFsyXSA9IGFbMl0gKiBiWzJdOworICAgIHJlc3VsdFszXSA9IGFbM10gKiBiWzNdOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50NCBvcGVyYXRvcioodWludDQgYSwgdWludCBiKSB7
CisgICAgdWludDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gKiBiOworICAgIHJlc3Vs
dFsxXSA9IGFbMV0gKiBiOworICAgIHJlc3VsdFsyXSA9IGFbMl0gKiBiOworICAgIHJlc3VsdFsz
XSA9IGFbM10gKiBiOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50NCBvcGVyYXRvcioodWlu
dCBhLCB1aW50NCBiKSB7CisgICAgdWludDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGEgKiBi
WzBdOworICAgIHJlc3VsdFsxXSA9IGEgKiBiWzFdOworICAgIHJlc3VsdFsyXSA9IGEgKiBiWzJd
OworICAgIHJlc3VsdFszXSA9IGEgKiBiWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50
NCBvcGVyYXRvci8odWludDQgYSwgdWludDQgYikgeworICAgIHVpbnQ0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBhWzBdIC8gYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFdIC8gYlsxXTsKKyAg
ICByZXN1bHRbMl0gPSBhWzJdIC8gYlsyXTsKKyAgICByZXN1bHRbM10gPSBhWzNdIC8gYlszXTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQordWludDQgb3BlcmF0b3IvKHVpbnQ0IGEsIHVpbnQgYikg
eworICAgIHVpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhWzBdIC8gYjsKKyAgICByZXN1
bHRbMV0gPSBhWzFdIC8gYjsKKyAgICByZXN1bHRbMl0gPSBhWzJdIC8gYjsKKyAgICByZXN1bHRb
M10gPSBhWzNdIC8gYjsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludDQgb3BlcmF0b3IvKHVp
bnQgYSwgdWludDQgYikgeworICAgIHVpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhIC8g
YlswXTsKKyAgICByZXN1bHRbMV0gPSBhIC8gYlsxXTsKKyAgICByZXN1bHRbMl0gPSBhIC8gYlsy
XTsKKyAgICByZXN1bHRbM10gPSBhIC8gYlszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorY2hh
cjIgb3BlcmF0b3IrKGNoYXIyIGEsIGNoYXIyIGIpIHsKKyAgICBjaGFyMiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gYVswXSArIGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsxXSArIGJbMV07Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2NoYXIyIG9wZXJhdG9yLShjaGFyMiBhLCBjaGFyMiBiKSB7
CisgICAgY2hhcjIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gLSBiWzBdOworICAgIHJl
c3VsdFsxXSA9IGFbMV0gLSBiWzFdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitjaGFyMiBvcGVy
YXRvciooY2hhcjIgYSwgY2hhcjIgYikgeworICAgIGNoYXIyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBhWzBdICogYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFdICogYlsxXTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorY2hhcjIgb3BlcmF0b3IqKGNoYXIyIGEsIGNoYXIgYikgeworICAgIGNo
YXIyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhWzBdICogYjsKKyAgICByZXN1bHRbMV0gPSBh
WzFdICogYjsKKyAgICByZXR1cm4gcmVzdWx0OworfQorY2hhcjIgb3BlcmF0b3IqKGNoYXIgYSwg
Y2hhcjIgYikgeworICAgIGNoYXIyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhICogYlswXTsK
KyAgICByZXN1bHRbMV0gPSBhICogYlsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorY2hhcjIg
b3BlcmF0b3IvKGNoYXIyIGEsIGNoYXIyIGIpIHsKKyAgICBjaGFyMiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gYVswXSAvIGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsxXSAvIGJbMV07CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2NoYXIyIG9wZXJhdG9yLyhjaGFyMiBhLCBjaGFyIGIpIHsKKyAg
ICBjaGFyMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAvIGI7CisgICAgcmVzdWx0WzFd
ID0gYVsxXSAvIGI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2NoYXIyIG9wZXJhdG9yLyhjaGFy
IGEsIGNoYXIyIGIpIHsKKyAgICBjaGFyMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYSAvIGJb
MF07CisgICAgcmVzdWx0WzFdID0gYSAvIGJbMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2No
YXIzIG9wZXJhdG9yKyhjaGFyMyBhLCBjaGFyMyBiKSB7CisgICAgY2hhcjMgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IGFbMF0gKyBiWzBdOworICAgIHJlc3VsdFsxXSA9IGFbMV0gKyBiWzFdOwor
ICAgIHJlc3VsdFsyXSA9IGFbMl0gKyBiWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitjaGFy
MyBvcGVyYXRvci0oY2hhcjMgYSwgY2hhcjMgYikgeworICAgIGNoYXIzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBhWzBdIC0gYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFdIC0gYlsxXTsKKyAg
ICByZXN1bHRbMl0gPSBhWzJdIC0gYlsyXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorY2hhcjMg
b3BlcmF0b3IqKGNoYXIzIGEsIGNoYXIzIGIpIHsKKyAgICBjaGFyMyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gYVswXSAqIGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsxXSAqIGJbMV07CisgICAg
cmVzdWx0WzJdID0gYVsyXSAqIGJbMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2NoYXIzIG9w
ZXJhdG9yKihjaGFyMyBhLCBjaGFyIGIpIHsKKyAgICBjaGFyMyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gYVswXSAqIGI7CisgICAgcmVzdWx0WzFdID0gYVsxXSAqIGI7CisgICAgcmVzdWx0WzJd
ID0gYVsyXSAqIGI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2NoYXIzIG9wZXJhdG9yKihjaGFy
IGEsIGNoYXIzIGIpIHsKKyAgICBjaGFyMyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYSAqIGJb
MF07CisgICAgcmVzdWx0WzFdID0gYSAqIGJbMV07CisgICAgcmVzdWx0WzJdID0gYSAqIGJbMl07
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2NoYXIzIG9wZXJhdG9yLyhjaGFyMyBhLCBjaGFyMyBi
KSB7CisgICAgY2hhcjMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gLyBiWzBdOworICAg
IHJlc3VsdFsxXSA9IGFbMV0gLyBiWzFdOworICAgIHJlc3VsdFsyXSA9IGFbMl0gLyBiWzJdOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitjaGFyMyBvcGVyYXRvci8oY2hhcjMgYSwgY2hhciBiKSB7
CisgICAgY2hhcjMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gLyBiOworICAgIHJlc3Vs
dFsxXSA9IGFbMV0gLyBiOworICAgIHJlc3VsdFsyXSA9IGFbMl0gLyBiOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitjaGFyMyBvcGVyYXRvci8oY2hhciBhLCBjaGFyMyBiKSB7CisgICAgY2hhcjMg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IGEgLyBiWzBdOworICAgIHJlc3VsdFsxXSA9IGEgLyBi
WzFdOworICAgIHJlc3VsdFsyXSA9IGEgLyBiWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9Citj
aGFyNCBvcGVyYXRvcisoY2hhcjQgYSwgY2hhcjQgYikgeworICAgIGNoYXI0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBhWzBdICsgYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFdICsgYlsxXTsK
KyAgICByZXN1bHRbMl0gPSBhWzJdICsgYlsyXTsKKyAgICByZXN1bHRbM10gPSBhWzNdICsgYlsz
XTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorY2hhcjQgb3BlcmF0b3ItKGNoYXI0IGEsIGNoYXI0
IGIpIHsKKyAgICBjaGFyNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAtIGJbMF07Cisg
ICAgcmVzdWx0WzFdID0gYVsxXSAtIGJbMV07CisgICAgcmVzdWx0WzJdID0gYVsyXSAtIGJbMl07
CisgICAgcmVzdWx0WzNdID0gYVszXSAtIGJbM107CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2No
YXI0IG9wZXJhdG9yKihjaGFyNCBhLCBjaGFyNCBiKSB7CisgICAgY2hhcjQgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IGFbMF0gKiBiWzBdOworICAgIHJlc3VsdFsxXSA9IGFbMV0gKiBiWzFdOwor
ICAgIHJlc3VsdFsyXSA9IGFbMl0gKiBiWzJdOworICAgIHJlc3VsdFszXSA9IGFbM10gKiBiWzNd
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitjaGFyNCBvcGVyYXRvciooY2hhcjQgYSwgY2hhciBi
KSB7CisgICAgY2hhcjQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gKiBiOworICAgIHJl
c3VsdFsxXSA9IGFbMV0gKiBiOworICAgIHJlc3VsdFsyXSA9IGFbMl0gKiBiOworICAgIHJlc3Vs
dFszXSA9IGFbM10gKiBiOworICAgIHJldHVybiByZXN1bHQ7Cit9CitjaGFyNCBvcGVyYXRvcioo
Y2hhciBhLCBjaGFyNCBiKSB7CisgICAgY2hhcjQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGEg
KiBiWzBdOworICAgIHJlc3VsdFsxXSA9IGEgKiBiWzFdOworICAgIHJlc3VsdFsyXSA9IGEgKiBi
WzJdOworICAgIHJlc3VsdFszXSA9IGEgKiBiWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9Citj
aGFyNCBvcGVyYXRvci8oY2hhcjQgYSwgY2hhcjQgYikgeworICAgIGNoYXI0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBhWzBdIC8gYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFdIC8gYlsxXTsK
KyAgICByZXN1bHRbMl0gPSBhWzJdIC8gYlsyXTsKKyAgICByZXN1bHRbM10gPSBhWzNdIC8gYlsz
XTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorY2hhcjQgb3BlcmF0b3IvKGNoYXI0IGEsIGNoYXIg
YikgeworICAgIGNoYXI0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhWzBdIC8gYjsKKyAgICBy
ZXN1bHRbMV0gPSBhWzFdIC8gYjsKKyAgICByZXN1bHRbMl0gPSBhWzJdIC8gYjsKKyAgICByZXN1
bHRbM10gPSBhWzNdIC8gYjsKKyAgICByZXR1cm4gcmVzdWx0OworfQorY2hhcjQgb3BlcmF0b3Iv
KGNoYXIgYSwgY2hhcjQgYikgeworICAgIGNoYXI0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBh
IC8gYlswXTsKKyAgICByZXN1bHRbMV0gPSBhIC8gYlsxXTsKKyAgICByZXN1bHRbMl0gPSBhIC8g
YlsyXTsKKyAgICByZXN1bHRbM10gPSBhIC8gYlszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
c2hvcnQyIG9wZXJhdG9yKyhzaG9ydDIgYSwgc2hvcnQyIGIpIHsKKyAgICBzaG9ydDIgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IGFbMF0gKyBiWzBdOworICAgIHJlc3VsdFsxXSA9IGFbMV0gKyBi
WzFdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitzaG9ydDIgb3BlcmF0b3ItKHNob3J0MiBhLCBz
aG9ydDIgYikgeworICAgIHNob3J0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAtIGJb
MF07CisgICAgcmVzdWx0WzFdID0gYVsxXSAtIGJbMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K3Nob3J0MiBvcGVyYXRvciooc2hvcnQyIGEsIHNob3J0MiBiKSB7CisgICAgc2hvcnQyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSBhWzBdICogYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFdICog
YlsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorc2hvcnQyIG9wZXJhdG9yKihzaG9ydDIgYSwg
c2hvcnQgYikgeworICAgIHNob3J0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAqIGI7
CisgICAgcmVzdWx0WzFdID0gYVsxXSAqIGI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3Nob3J0
MiBvcGVyYXRvciooc2hvcnQgYSwgc2hvcnQyIGIpIHsKKyAgICBzaG9ydDIgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IGEgKiBiWzBdOworICAgIHJlc3VsdFsxXSA9IGEgKiBiWzFdOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitzaG9ydDIgb3BlcmF0b3IvKHNob3J0MiBhLCBzaG9ydDIgYikgewor
ICAgIHNob3J0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAvIGJbMF07CisgICAgcmVz
dWx0WzFdID0gYVsxXSAvIGJbMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3Nob3J0MiBvcGVy
YXRvci8oc2hvcnQyIGEsIHNob3J0IGIpIHsKKyAgICBzaG9ydDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IGFbMF0gLyBiOworICAgIHJlc3VsdFsxXSA9IGFbMV0gLyBiOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitzaG9ydDIgb3BlcmF0b3IvKHNob3J0IGEsIHNob3J0MiBiKSB7CisgICAgc2hv
cnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhIC8gYlswXTsKKyAgICByZXN1bHRbMV0gPSBh
IC8gYlsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorc2hvcnQzIG9wZXJhdG9yKyhzaG9ydDMg
YSwgc2hvcnQzIGIpIHsKKyAgICBzaG9ydDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0g
KyBiWzBdOworICAgIHJlc3VsdFsxXSA9IGFbMV0gKyBiWzFdOworICAgIHJlc3VsdFsyXSA9IGFb
Ml0gKyBiWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitzaG9ydDMgb3BlcmF0b3ItKHNob3J0
MyBhLCBzaG9ydDMgYikgeworICAgIHNob3J0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVsw
XSAtIGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsxXSAtIGJbMV07CisgICAgcmVzdWx0WzJdID0g
YVsyXSAtIGJbMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3Nob3J0MyBvcGVyYXRvciooc2hv
cnQzIGEsIHNob3J0MyBiKSB7CisgICAgc2hvcnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBh
WzBdICogYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFdICogYlsxXTsKKyAgICByZXN1bHRbMl0g
PSBhWzJdICogYlsyXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorc2hvcnQzIG9wZXJhdG9yKihz
aG9ydDMgYSwgc2hvcnQgYikgeworICAgIHNob3J0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
YVswXSAqIGI7CisgICAgcmVzdWx0WzFdID0gYVsxXSAqIGI7CisgICAgcmVzdWx0WzJdID0gYVsy
XSAqIGI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3Nob3J0MyBvcGVyYXRvciooc2hvcnQgYSwg
c2hvcnQzIGIpIHsKKyAgICBzaG9ydDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGEgKiBiWzBd
OworICAgIHJlc3VsdFsxXSA9IGEgKiBiWzFdOworICAgIHJlc3VsdFsyXSA9IGEgKiBiWzJdOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitzaG9ydDMgb3BlcmF0b3IvKHNob3J0MyBhLCBzaG9ydDMg
YikgeworICAgIHNob3J0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAvIGJbMF07Cisg
ICAgcmVzdWx0WzFdID0gYVsxXSAvIGJbMV07CisgICAgcmVzdWx0WzJdID0gYVsyXSAvIGJbMl07
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3Nob3J0MyBvcGVyYXRvci8oc2hvcnQzIGEsIHNob3J0
IGIpIHsKKyAgICBzaG9ydDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gLyBiOworICAg
IHJlc3VsdFsxXSA9IGFbMV0gLyBiOworICAgIHJlc3VsdFsyXSA9IGFbMl0gLyBiOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitzaG9ydDMgb3BlcmF0b3IvKHNob3J0IGEsIHNob3J0MyBiKSB7Cisg
ICAgc2hvcnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhIC8gYlswXTsKKyAgICByZXN1bHRb
MV0gPSBhIC8gYlsxXTsKKyAgICByZXN1bHRbMl0gPSBhIC8gYlsyXTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorc2hvcnQ0IG9wZXJhdG9yKyhzaG9ydDQgYSwgc2hvcnQ0IGIpIHsKKyAgICBzaG9y
dDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gKyBiWzBdOworICAgIHJlc3VsdFsxXSA9
IGFbMV0gKyBiWzFdOworICAgIHJlc3VsdFsyXSA9IGFbMl0gKyBiWzJdOworICAgIHJlc3VsdFsz
XSA9IGFbM10gKyBiWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitzaG9ydDQgb3BlcmF0b3It
KHNob3J0NCBhLCBzaG9ydDQgYikgeworICAgIHNob3J0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gYVswXSAtIGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsxXSAtIGJbMV07CisgICAgcmVzdWx0
WzJdID0gYVsyXSAtIGJbMl07CisgICAgcmVzdWx0WzNdID0gYVszXSAtIGJbM107CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK3Nob3J0NCBvcGVyYXRvciooc2hvcnQ0IGEsIHNob3J0NCBiKSB7Cisg
ICAgc2hvcnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhWzBdICogYlswXTsKKyAgICByZXN1
bHRbMV0gPSBhWzFdICogYlsxXTsKKyAgICByZXN1bHRbMl0gPSBhWzJdICogYlsyXTsKKyAgICBy
ZXN1bHRbM10gPSBhWzNdICogYlszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorc2hvcnQ0IG9w
ZXJhdG9yKihzaG9ydDQgYSwgc2hvcnQgYikgeworICAgIHNob3J0NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gYVswXSAqIGI7CisgICAgcmVzdWx0WzFdID0gYVsxXSAqIGI7CisgICAgcmVzdWx0
WzJdID0gYVsyXSAqIGI7CisgICAgcmVzdWx0WzNdID0gYVszXSAqIGI7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK3Nob3J0NCBvcGVyYXRvciooc2hvcnQgYSwgc2hvcnQ0IGIpIHsKKyAgICBzaG9y
dDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGEgKiBiWzBdOworICAgIHJlc3VsdFsxXSA9IGEg
KiBiWzFdOworICAgIHJlc3VsdFsyXSA9IGEgKiBiWzJdOworICAgIHJlc3VsdFszXSA9IGEgKiBi
WzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitzaG9ydDQgb3BlcmF0b3IvKHNob3J0NCBhLCBz
aG9ydDQgYikgeworICAgIHNob3J0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAvIGJb
MF07CisgICAgcmVzdWx0WzFdID0gYVsxXSAvIGJbMV07CisgICAgcmVzdWx0WzJdID0gYVsyXSAv
IGJbMl07CisgICAgcmVzdWx0WzNdID0gYVszXSAvIGJbM107CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK3Nob3J0NCBvcGVyYXRvci8oc2hvcnQ0IGEsIHNob3J0IGIpIHsKKyAgICBzaG9ydDQgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gLyBiOworICAgIHJlc3VsdFsxXSA9IGFbMV0gLyBi
OworICAgIHJlc3VsdFsyXSA9IGFbMl0gLyBiOworICAgIHJlc3VsdFszXSA9IGFbM10gLyBiOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitzaG9ydDQgb3BlcmF0b3IvKHNob3J0IGEsIHNob3J0NCBi
KSB7CisgICAgc2hvcnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhIC8gYlswXTsKKyAgICBy
ZXN1bHRbMV0gPSBhIC8gYlsxXTsKKyAgICByZXN1bHRbMl0gPSBhIC8gYlsyXTsKKyAgICByZXN1
bHRbM10gPSBhIC8gYlszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraW50MiBvcGVyYXRvciso
aW50MiBhLCBpbnQyIGIpIHsKKyAgICBpbnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhWzBd
ICsgYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFdICsgYlsxXTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQoraW50MiBvcGVyYXRvci0oaW50MiBhLCBpbnQyIGIpIHsKKyAgICBpbnQyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF0gPSBhWzBdIC0gYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFdIC0gYlsx
XTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraW50MiBvcGVyYXRvciooaW50MiBhLCBpbnQyIGIp
IHsKKyAgICBpbnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhWzBdICogYlswXTsKKyAgICBy
ZXN1bHRbMV0gPSBhWzFdICogYlsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraW50MiBvcGVy
YXRvciooaW50MiBhLCBpbnQgYikgeworICAgIGludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9
IGFbMF0gKiBiOworICAgIHJlc3VsdFsxXSA9IGFbMV0gKiBiOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitpbnQyIG9wZXJhdG9yKihpbnQgYSwgaW50MiBiKSB7CisgICAgaW50MiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gYSAqIGJbMF07CisgICAgcmVzdWx0WzFdID0gYSAqIGJbMV07CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2ludDIgb3BlcmF0b3IvKGludDIgYSwgaW50MiBiKSB7CisgICAg
aW50MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAvIGJbMF07CisgICAgcmVzdWx0WzFd
ID0gYVsxXSAvIGJbMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2ludDIgb3BlcmF0b3IvKGlu
dDIgYSwgaW50IGIpIHsKKyAgICBpbnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhWzBdIC8g
YjsKKyAgICByZXN1bHRbMV0gPSBhWzFdIC8gYjsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraW50
MiBvcGVyYXRvci8oaW50IGEsIGludDIgYikgeworICAgIGludDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IGEgLyBiWzBdOworICAgIHJlc3VsdFsxXSA9IGEgLyBiWzFdOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitpbnQzIG9wZXJhdG9yKyhpbnQzIGEsIGludDMgYikgeworICAgIGludDMgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gKyBiWzBdOworICAgIHJlc3VsdFsxXSA9IGFbMV0g
KyBiWzFdOworICAgIHJlc3VsdFsyXSA9IGFbMl0gKyBiWzJdOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitpbnQzIG9wZXJhdG9yLShpbnQzIGEsIGludDMgYikgeworICAgIGludDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IGFbMF0gLSBiWzBdOworICAgIHJlc3VsdFsxXSA9IGFbMV0gLSBiWzFd
OworICAgIHJlc3VsdFsyXSA9IGFbMl0gLSBiWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9Citp
bnQzIG9wZXJhdG9yKihpbnQzIGEsIGludDMgYikgeworICAgIGludDMgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGFbMF0gKiBiWzBdOworICAgIHJlc3VsdFsxXSA9IGFbMV0gKiBiWzFdOworICAg
IHJlc3VsdFsyXSA9IGFbMl0gKiBiWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitpbnQzIG9w
ZXJhdG9yKihpbnQzIGEsIGludCBiKSB7CisgICAgaW50MyByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gYVswXSAqIGI7CisgICAgcmVzdWx0WzFdID0gYVsxXSAqIGI7CisgICAgcmVzdWx0WzJdID0g
YVsyXSAqIGI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2ludDMgb3BlcmF0b3IqKGludCBhLCBp
bnQzIGIpIHsKKyAgICBpbnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhICogYlswXTsKKyAg
ICByZXN1bHRbMV0gPSBhICogYlsxXTsKKyAgICByZXN1bHRbMl0gPSBhICogYlsyXTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQoraW50MyBvcGVyYXRvci8oaW50MyBhLCBpbnQzIGIpIHsKKyAgICBp
bnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhWzBdIC8gYlswXTsKKyAgICByZXN1bHRbMV0g
PSBhWzFdIC8gYlsxXTsKKyAgICByZXN1bHRbMl0gPSBhWzJdIC8gYlsyXTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQoraW50MyBvcGVyYXRvci8oaW50MyBhLCBpbnQgYikgeworICAgIGludDMgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gLyBiOworICAgIHJlc3VsdFsxXSA9IGFbMV0gLyBi
OworICAgIHJlc3VsdFsyXSA9IGFbMl0gLyBiOworICAgIHJldHVybiByZXN1bHQ7Cit9CitpbnQz
IG9wZXJhdG9yLyhpbnQgYSwgaW50MyBiKSB7CisgICAgaW50MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gYSAvIGJbMF07CisgICAgcmVzdWx0WzFdID0gYSAvIGJbMV07CisgICAgcmVzdWx0WzJd
ID0gYSAvIGJbMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2ludDQgb3BlcmF0b3IrKGludDQg
YSwgaW50NCBiKSB7CisgICAgaW50NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSArIGJb
MF07CisgICAgcmVzdWx0WzFdID0gYVsxXSArIGJbMV07CisgICAgcmVzdWx0WzJdID0gYVsyXSAr
IGJbMl07CisgICAgcmVzdWx0WzNdID0gYVszXSArIGJbM107CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2ludDQgb3BlcmF0b3ItKGludDQgYSwgaW50NCBiKSB7CisgICAgaW50NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gYVswXSAtIGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsxXSAtIGJbMV07
CisgICAgcmVzdWx0WzJdID0gYVsyXSAtIGJbMl07CisgICAgcmVzdWx0WzNdID0gYVszXSAtIGJb
M107CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2ludDQgb3BlcmF0b3IqKGludDQgYSwgaW50NCBi
KSB7CisgICAgaW50NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAqIGJbMF07CisgICAg
cmVzdWx0WzFdID0gYVsxXSAqIGJbMV07CisgICAgcmVzdWx0WzJdID0gYVsyXSAqIGJbMl07Cisg
ICAgcmVzdWx0WzNdID0gYVszXSAqIGJbM107CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2ludDQg
b3BlcmF0b3IqKGludDQgYSwgaW50IGIpIHsKKyAgICBpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBhWzBdICogYjsKKyAgICByZXN1bHRbMV0gPSBhWzFdICogYjsKKyAgICByZXN1bHRbMl0g
PSBhWzJdICogYjsKKyAgICByZXN1bHRbM10gPSBhWzNdICogYjsKKyAgICByZXR1cm4gcmVzdWx0
OworfQoraW50NCBvcGVyYXRvciooaW50IGEsIGludDQgYikgeworICAgIGludDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IGEgKiBiWzBdOworICAgIHJlc3VsdFsxXSA9IGEgKiBiWzFdOworICAg
IHJlc3VsdFsyXSA9IGEgKiBiWzJdOworICAgIHJlc3VsdFszXSA9IGEgKiBiWzNdOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitpbnQ0IG9wZXJhdG9yLyhpbnQ0IGEsIGludDQgYikgeworICAgIGlu
dDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gLyBiWzBdOworICAgIHJlc3VsdFsxXSA9
IGFbMV0gLyBiWzFdOworICAgIHJlc3VsdFsyXSA9IGFbMl0gLyBiWzJdOworICAgIHJlc3VsdFsz
XSA9IGFbM10gLyBiWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitpbnQ0IG9wZXJhdG9yLyhp
bnQ0IGEsIGludCBiKSB7CisgICAgaW50NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAv
IGI7CisgICAgcmVzdWx0WzFdID0gYVsxXSAvIGI7CisgICAgcmVzdWx0WzJdID0gYVsyXSAvIGI7
CisgICAgcmVzdWx0WzNdID0gYVszXSAvIGI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2ludDQg
b3BlcmF0b3IvKGludCBhLCBpbnQ0IGIpIHsKKyAgICBpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBhIC8gYlswXTsKKyAgICByZXN1bHRbMV0gPSBhIC8gYlsxXTsKKyAgICByZXN1bHRbMl0g
PSBhIC8gYlsyXTsKKyAgICByZXN1bHRbM10gPSBhIC8gYlszXTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQoraGFsZjIgb3BlcmF0b3IrKGhhbGYyIGEsIGhhbGYyIGIpIHsKKyAgICBoYWxmMiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSArIGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsxXSAr
IGJbMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIG9wZXJhdG9yLShoYWxmMiBhLCBo
YWxmMiBiKSB7CisgICAgaGFsZjIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gLSBiWzBd
OworICAgIHJlc3VsdFsxXSA9IGFbMV0gLSBiWzFdOworICAgIHJldHVybiByZXN1bHQ7Cit9Cito
YWxmMiBvcGVyYXRvciooaGFsZjIgYSwgaGFsZjIgYikgeworICAgIGhhbGYyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBhWzBdICogYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFdICogYlsxXTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjIgb3BlcmF0b3IqKGhhbGYyIGEsIGhhbGYgYikg
eworICAgIGhhbGYyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhWzBdICogYjsKKyAgICByZXN1
bHRbMV0gPSBhWzFdICogYjsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjIgb3BlcmF0b3Iq
KGhhbGYgYSwgaGFsZjIgYikgeworICAgIGhhbGYyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBh
ICogYlswXTsKKyAgICByZXN1bHRbMV0gPSBhICogYlsxXTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQoraGFsZjIgb3BlcmF0b3IvKGhhbGYyIGEsIGhhbGYyIGIpIHsKKyAgICBoYWxmMiByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gYVswXSAvIGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsxXSAvIGJb
MV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIG9wZXJhdG9yLyhoYWxmMiBhLCBoYWxm
IGIpIHsKKyAgICBoYWxmMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAvIGI7CisgICAg
cmVzdWx0WzFdID0gYVsxXSAvIGI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIG9wZXJh
dG9yLyhoYWxmIGEsIGhhbGYyIGIpIHsKKyAgICBoYWxmMiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gYSAvIGJbMF07CisgICAgcmVzdWx0WzFdID0gYSAvIGJbMV07CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGYzIG9wZXJhdG9yKyhoYWxmMyBhLCBoYWxmMyBiKSB7CisgICAgaGFsZjMgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gKyBiWzBdOworICAgIHJlc3VsdFsxXSA9IGFbMV0g
KyBiWzFdOworICAgIHJlc3VsdFsyXSA9IGFbMl0gKyBiWzJdOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitoYWxmMyBvcGVyYXRvci0oaGFsZjMgYSwgaGFsZjMgYikgeworICAgIGhhbGYzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSBhWzBdIC0gYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFdIC0g
YlsxXTsKKyAgICByZXN1bHRbMl0gPSBhWzJdIC0gYlsyXTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQoraGFsZjMgb3BlcmF0b3IqKGhhbGYzIGEsIGhhbGYzIGIpIHsKKyAgICBoYWxmMyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gYVswXSAqIGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsxXSAqIGJb
MV07CisgICAgcmVzdWx0WzJdID0gYVsyXSAqIGJbMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGYzIG9wZXJhdG9yKihoYWxmMyBhLCBoYWxmIGIpIHsKKyAgICBoYWxmMyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gYVswXSAqIGI7CisgICAgcmVzdWx0WzFdID0gYVsxXSAqIGI7CisgICAg
cmVzdWx0WzJdID0gYVsyXSAqIGI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIG9wZXJh
dG9yKihoYWxmIGEsIGhhbGYzIGIpIHsKKyAgICBoYWxmMyByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gYSAqIGJbMF07CisgICAgcmVzdWx0WzFdID0gYSAqIGJbMV07CisgICAgcmVzdWx0WzJdID0g
YSAqIGJbMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIG9wZXJhdG9yLyhoYWxmMyBh
LCBoYWxmMyBiKSB7CisgICAgaGFsZjMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gLyBi
WzBdOworICAgIHJlc3VsdFsxXSA9IGFbMV0gLyBiWzFdOworICAgIHJlc3VsdFsyXSA9IGFbMl0g
LyBiWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMyBvcGVyYXRvci8oaGFsZjMgYSwg
aGFsZiBiKSB7CisgICAgaGFsZjMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gLyBiOwor
ICAgIHJlc3VsdFsxXSA9IGFbMV0gLyBiOworICAgIHJlc3VsdFsyXSA9IGFbMl0gLyBiOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitoYWxmMyBvcGVyYXRvci8oaGFsZiBhLCBoYWxmMyBiKSB7Cisg
ICAgaGFsZjMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGEgLyBiWzBdOworICAgIHJlc3VsdFsx
XSA9IGEgLyBiWzFdOworICAgIHJlc3VsdFsyXSA9IGEgLyBiWzJdOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitoYWxmNCBvcGVyYXRvcisoaGFsZjQgYSwgaGFsZjQgYikgeworICAgIGhhbGY0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSBhWzBdICsgYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFd
ICsgYlsxXTsKKyAgICByZXN1bHRbMl0gPSBhWzJdICsgYlsyXTsKKyAgICByZXN1bHRbM10gPSBh
WzNdICsgYlszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjQgb3BlcmF0b3ItKGhhbGY0
IGEsIGhhbGY0IGIpIHsKKyAgICBoYWxmNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAt
IGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsxXSAtIGJbMV07CisgICAgcmVzdWx0WzJdID0gYVsy
XSAtIGJbMl07CisgICAgcmVzdWx0WzNdID0gYVszXSAtIGJbM107CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGY0IG9wZXJhdG9yKihoYWxmNCBhLCBoYWxmNCBiKSB7CisgICAgaGFsZjQgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gKiBiWzBdOworICAgIHJlc3VsdFsxXSA9IGFbMV0g
KiBiWzFdOworICAgIHJlc3VsdFsyXSA9IGFbMl0gKiBiWzJdOworICAgIHJlc3VsdFszXSA9IGFb
M10gKiBiWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNCBvcGVyYXRvciooaGFsZjQg
YSwgaGFsZiBiKSB7CisgICAgaGFsZjQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gKiBi
OworICAgIHJlc3VsdFsxXSA9IGFbMV0gKiBiOworICAgIHJlc3VsdFsyXSA9IGFbMl0gKiBiOwor
ICAgIHJlc3VsdFszXSA9IGFbM10gKiBiOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNCBv
cGVyYXRvciooaGFsZiBhLCBoYWxmNCBiKSB7CisgICAgaGFsZjQgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IGEgKiBiWzBdOworICAgIHJlc3VsdFsxXSA9IGEgKiBiWzFdOworICAgIHJlc3VsdFsy
XSA9IGEgKiBiWzJdOworICAgIHJlc3VsdFszXSA9IGEgKiBiWzNdOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitoYWxmNCBvcGVyYXRvci8oaGFsZjQgYSwgaGFsZjQgYikgeworICAgIGhhbGY0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSBhWzBdIC8gYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFd
IC8gYlsxXTsKKyAgICByZXN1bHRbMl0gPSBhWzJdIC8gYlsyXTsKKyAgICByZXN1bHRbM10gPSBh
WzNdIC8gYlszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjQgb3BlcmF0b3IvKGhhbGY0
IGEsIGhhbGYgYikgeworICAgIGhhbGY0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhWzBdIC8g
YjsKKyAgICByZXN1bHRbMV0gPSBhWzFdIC8gYjsKKyAgICByZXN1bHRbMl0gPSBhWzJdIC8gYjsK
KyAgICByZXN1bHRbM10gPSBhWzNdIC8gYjsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjQg
b3BlcmF0b3IvKGhhbGYgYSwgaGFsZjQgYikgeworICAgIGhhbGY0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBhIC8gYlswXTsKKyAgICByZXN1bHRbMV0gPSBhIC8gYlsxXTsKKyAgICByZXN1bHRb
Ml0gPSBhIC8gYlsyXTsKKyAgICByZXN1bHRbM10gPSBhIC8gYlszXTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorZmxvYXQyIG9wZXJhdG9yKyhmbG9hdDIgYSwgZmxvYXQyIGIpIHsKKyAgICBmbG9h
dDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gKyBiWzBdOworICAgIHJlc3VsdFsxXSA9
IGFbMV0gKyBiWzFdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIgb3BlcmF0b3ItKGZs
b2F0MiBhLCBmbG9hdDIgYikgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
YVswXSAtIGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsxXSAtIGJbMV07CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK2Zsb2F0MiBvcGVyYXRvciooZmxvYXQyIGEsIGZsb2F0MiBiKSB7CisgICAgZmxv
YXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhWzBdICogYlswXTsKKyAgICByZXN1bHRbMV0g
PSBhWzFdICogYlsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyIG9wZXJhdG9yKihm
bG9hdDIgYSwgZmxvYXQgYikgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
YVswXSAqIGI7CisgICAgcmVzdWx0WzFdID0gYVsxXSAqIGI7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2Zsb2F0MiBvcGVyYXRvciooZmxvYXQgYSwgZmxvYXQyIGIpIHsKKyAgICBmbG9hdDIgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IGEgKiBiWzBdOworICAgIHJlc3VsdFsxXSA9IGEgKiBiWzFd
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIgb3BlcmF0b3IvKGZsb2F0MiBhLCBmbG9h
dDIgYikgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAvIGJbMF07
CisgICAgcmVzdWx0WzFdID0gYVsxXSAvIGJbMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zs
b2F0MiBvcGVyYXRvci8oZmxvYXQyIGEsIGZsb2F0IGIpIHsKKyAgICBmbG9hdDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IGFbMF0gLyBiOworICAgIHJlc3VsdFsxXSA9IGFbMV0gLyBiOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIgb3BlcmF0b3IvKGZsb2F0IGEsIGZsb2F0MiBiKSB7
CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhIC8gYlswXTsKKyAgICByZXN1
bHRbMV0gPSBhIC8gYlsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzIG9wZXJhdG9y
KyhmbG9hdDMgYSwgZmxvYXQzIGIpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IGFbMF0gKyBiWzBdOworICAgIHJlc3VsdFsxXSA9IGFbMV0gKyBiWzFdOworICAgIHJlc3Vs
dFsyXSA9IGFbMl0gKyBiWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgb3BlcmF0
b3ItKGZsb2F0MyBhLCBmbG9hdDMgYikgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gYVswXSAtIGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsxXSAtIGJbMV07CisgICAgcmVz
dWx0WzJdID0gYVsyXSAtIGJbMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MyBvcGVy
YXRvciooZmxvYXQzIGEsIGZsb2F0MyBiKSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBhWzBdICogYlswXTsKKyAgICByZXN1bHRbMV0gPSBhWzFdICogYlsxXTsKKyAgICBy
ZXN1bHRbMl0gPSBhWzJdICogYlsyXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzIG9w
ZXJhdG9yKihmbG9hdDMgYSwgZmxvYXQgYikgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gYVswXSAqIGI7CisgICAgcmVzdWx0WzFdID0gYVsxXSAqIGI7CisgICAgcmVzdWx0
WzJdID0gYVsyXSAqIGI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MyBvcGVyYXRvcioo
ZmxvYXQgYSwgZmxvYXQzIGIpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9
IGEgKiBiWzBdOworICAgIHJlc3VsdFsxXSA9IGEgKiBiWzFdOworICAgIHJlc3VsdFsyXSA9IGEg
KiBiWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgb3BlcmF0b3IvKGZsb2F0MyBh
LCBmbG9hdDMgYikgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYVswXSAv
IGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsxXSAvIGJbMV07CisgICAgcmVzdWx0WzJdID0gYVsy
XSAvIGJbMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MyBvcGVyYXRvci8oZmxvYXQz
IGEsIGZsb2F0IGIpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0g
LyBiOworICAgIHJlc3VsdFsxXSA9IGFbMV0gLyBiOworICAgIHJlc3VsdFsyXSA9IGFbMl0gLyBi
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgb3BlcmF0b3IvKGZsb2F0IGEsIGZsb2F0
MyBiKSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhIC8gYlswXTsKKyAg
ICByZXN1bHRbMV0gPSBhIC8gYlsxXTsKKyAgICByZXN1bHRbMl0gPSBhIC8gYlsyXTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0IG9wZXJhdG9yKyhmbG9hdDQgYSwgZmxvYXQ0IGIpIHsK
KyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gKyBiWzBdOworICAgIHJl
c3VsdFsxXSA9IGFbMV0gKyBiWzFdOworICAgIHJlc3VsdFsyXSA9IGFbMl0gKyBiWzJdOworICAg
IHJlc3VsdFszXSA9IGFbM10gKyBiWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDQg
b3BlcmF0b3ItKGZsb2F0NCBhLCBmbG9hdDQgYikgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gYVswXSAtIGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsxXSAtIGJbMV07Cisg
ICAgcmVzdWx0WzJdID0gYVsyXSAtIGJbMl07CisgICAgcmVzdWx0WzNdID0gYVszXSAtIGJbM107
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NCBvcGVyYXRvciooZmxvYXQ0IGEsIGZsb2F0
NCBiKSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhWzBdICogYlswXTsK
KyAgICByZXN1bHRbMV0gPSBhWzFdICogYlsxXTsKKyAgICByZXN1bHRbMl0gPSBhWzJdICogYlsy
XTsKKyAgICByZXN1bHRbM10gPSBhWzNdICogYlszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
ZmxvYXQ0IG9wZXJhdG9yKihmbG9hdDQgYSwgZmxvYXQgYikgeworICAgIGZsb2F0NCByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gYVswXSAqIGI7CisgICAgcmVzdWx0WzFdID0gYVsxXSAqIGI7Cisg
ICAgcmVzdWx0WzJdID0gYVsyXSAqIGI7CisgICAgcmVzdWx0WzNdID0gYVszXSAqIGI7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NCBvcGVyYXRvciooZmxvYXQgYSwgZmxvYXQ0IGIpIHsK
KyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGEgKiBiWzBdOworICAgIHJlc3Vs
dFsxXSA9IGEgKiBiWzFdOworICAgIHJlc3VsdFsyXSA9IGEgKiBiWzJdOworICAgIHJlc3VsdFsz
XSA9IGEgKiBiWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDQgb3BlcmF0b3IvKGZs
b2F0NCBhLCBmbG9hdDQgYikgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
YVswXSAvIGJbMF07CisgICAgcmVzdWx0WzFdID0gYVsxXSAvIGJbMV07CisgICAgcmVzdWx0WzJd
ID0gYVsyXSAvIGJbMl07CisgICAgcmVzdWx0WzNdID0gYVszXSAvIGJbM107CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2Zsb2F0NCBvcGVyYXRvci8oZmxvYXQ0IGEsIGZsb2F0IGIpIHsKKyAgICBm
bG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFbMF0gLyBiOworICAgIHJlc3VsdFsxXSA9
IGFbMV0gLyBiOworICAgIHJlc3VsdFsyXSA9IGFbMl0gLyBiOworICAgIHJlc3VsdFszXSA9IGFb
M10gLyBiOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDQgb3BlcmF0b3IvKGZsb2F0IGEs
IGZsb2F0NCBiKSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhIC8gYlsw
XTsKKyAgICByZXN1bHRbMV0gPSBhIC8gYlsxXTsKKyAgICByZXN1bHRbMl0gPSBhIC8gYlsyXTsK
KyAgICByZXN1bHRbM10gPSBhIC8gYlszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorY2hhcjIg
b3BlcmF0b3ItKGNoYXIyIGEpIHsKKyAgICBjaGFyMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
LWFbMF07CisgICAgcmVzdWx0WzFdID0gLWFbMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2No
YXIzIG9wZXJhdG9yLShjaGFyMyBhKSB7CisgICAgY2hhcjMgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IC1hWzBdOworICAgIHJlc3VsdFsxXSA9IC1hWzFdOworICAgIHJlc3VsdFsyXSA9IC1hWzJd
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitjaGFyNCBvcGVyYXRvci0oY2hhcjQgYSkgeworICAg
IGNoYXI0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAtYVswXTsKKyAgICByZXN1bHRbMV0gPSAt
YVsxXTsKKyAgICByZXN1bHRbMl0gPSAtYVsyXTsKKyAgICByZXN1bHRbM10gPSAtYVszXTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorc2hvcnQyIG9wZXJhdG9yLShzaG9ydDIgYSkgeworICAgIHNo
b3J0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gLWFbMF07CisgICAgcmVzdWx0WzFdID0gLWFb
MV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3Nob3J0MyBvcGVyYXRvci0oc2hvcnQzIGEpIHsK
KyAgICBzaG9ydDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IC1hWzBdOworICAgIHJlc3VsdFsx
XSA9IC1hWzFdOworICAgIHJlc3VsdFsyXSA9IC1hWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitzaG9ydDQgb3BlcmF0b3ItKHNob3J0NCBhKSB7CisgICAgc2hvcnQ0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSAtYVswXTsKKyAgICByZXN1bHRbMV0gPSAtYVsxXTsKKyAgICByZXN1bHRbMl0g
PSAtYVsyXTsKKyAgICByZXN1bHRbM10gPSAtYVszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
aW50MiBvcGVyYXRvci0oaW50MiBhKSB7CisgICAgaW50MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gLWFbMF07CisgICAgcmVzdWx0WzFdID0gLWFbMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2ludDMgb3BlcmF0b3ItKGludDMgYSkgeworICAgIGludDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IC1hWzBdOworICAgIHJlc3VsdFsxXSA9IC1hWzFdOworICAgIHJlc3VsdFsyXSA9IC1hWzJd
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitpbnQ0IG9wZXJhdG9yLShpbnQ0IGEpIHsKKyAgICBp
bnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAtYVswXTsKKyAgICByZXN1bHRbMV0gPSAtYVsx
XTsKKyAgICByZXN1bHRbMl0gPSAtYVsyXTsKKyAgICByZXN1bHRbM10gPSAtYVszXTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQoraGFsZjIgb3BlcmF0b3ItKGhhbGYyIGEpIHsKKyAgICBoYWxmMiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gLWFbMF07CisgICAgcmVzdWx0WzFdID0gLWFbMV07Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIG9wZXJhdG9yLShoYWxmMyBhKSB7CisgICAgaGFs
ZjMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IC1hWzBdOworICAgIHJlc3VsdFsxXSA9IC1hWzFd
OworICAgIHJlc3VsdFsyXSA9IC1hWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNCBv
cGVyYXRvci0oaGFsZjQgYSkgeworICAgIGhhbGY0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAt
YVswXTsKKyAgICByZXN1bHRbMV0gPSAtYVsxXTsKKyAgICByZXN1bHRbMl0gPSAtYVsyXTsKKyAg
ICByZXN1bHRbM10gPSAtYVszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyIG9wZXJh
dG9yLShmbG9hdDIgYSkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gLWFb
MF07CisgICAgcmVzdWx0WzFdID0gLWFbMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0
MyBvcGVyYXRvci0oZmxvYXQzIGEpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IC1hWzBdOworICAgIHJlc3VsdFsxXSA9IC1hWzFdOworICAgIHJlc3VsdFsyXSA9IC1hWzJd
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDQgb3BlcmF0b3ItKGZsb2F0NCBhKSB7Cisg
ICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAtYVswXTsKKyAgICByZXN1bHRbMV0g
PSAtYVsxXTsKKyAgICByZXN1bHRbMl0gPSAtYVsyXTsKKyAgICByZXN1bHRbM10gPSAtYVszXTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4MiBvcGVyYXRvcisoaGFsZjJ4MiBhLCBoYWxm
MngyIGIpIHsKKyAgICBoYWxmMngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhWzBdWzBd
ICsgYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhWzBdWzFdICsgYlswXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBhWzFdWzBdICsgYlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSBhWzFd
WzFdICsgYlsxXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4MiBvcGVyYXRvci0o
aGFsZjJ4MiBhLCBoYWxmMngyIGIpIHsKKyAgICBoYWxmMngyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBhWzBdWzBdIC0gYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhWzBdWzFdIC0g
YlswXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gPSBhWzFdWzBdIC0gYlsxXVswXTsKKyAgICByZXN1
bHRbMV1bMV0gPSBhWzFdWzFdIC0gYlsxXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFs
ZjJ4MiBvcGVyYXRvci0oaGFsZjJ4MiBhKSB7CisgICAgaGFsZjJ4MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gLWFbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gLWFbMF1bMV07CisgICAg
cmVzdWx0WzFdWzBdID0gLWFbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gLWFbMV1bMV07Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgb3BlcmF0b3IqKGhhbGYyeDIgYSwgaGFsZjJ4
MiBiKSB7CisgICAgaGFsZjJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSAq
IGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAqIGJbMF1bMV07CisgICAgcmVz
dWx0WzFdWzBdID0gYVsxXVswXSAqIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsx
XSAqIGJbMV1bMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgb3BlcmF0b3IqKGhh
bGYyeDIgYSwgaGFsZiBiKSB7CisgICAgaGFsZjJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gYVswXVswXSAqIGI7CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAqIGI7CisgICAgcmVz
dWx0WzFdWzBdID0gYVsxXVswXSAqIGI7CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAqIGI7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgb3BlcmF0b3IqKGhhbGYgYSwgaGFsZjJ4
MiBiKSB7CisgICAgaGFsZjJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYSAqIGJbMF1b
MF07CisgICAgcmVzdWx0WzBdWzFdID0gYSAqIGJbMF1bMV07CisgICAgcmVzdWx0WzFdWzBdID0g
YSAqIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYSAqIGJbMV1bMV07CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYyeDIgb3BlcmF0b3IvKGhhbGYyeDIgYSwgaGFsZjJ4MiBiKSB7Cisg
ICAgaGFsZjJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSAvIGJbMF1bMF07
CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAvIGJbMF1bMV07CisgICAgcmVzdWx0WzFdWzBd
ID0gYVsxXVswXSAvIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAvIGJbMV1b
MV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgb3BlcmF0b3IvKGhhbGYyeDIgYSwg
aGFsZiBiKSB7CisgICAgaGFsZjJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVsw
XSAvIGI7CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAvIGI7CisgICAgcmVzdWx0WzFdWzBd
ID0gYVsxXVswXSAvIGI7CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAvIGI7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgb3BlcmF0b3IvKGhhbGYgYSwgaGFsZjJ4MiBiKSB7Cisg
ICAgaGFsZjJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYSAvIGJbMF1bMF07CisgICAg
cmVzdWx0WzBdWzFdID0gYSAvIGJbMF1bMV07CisgICAgcmVzdWx0WzFdWzBdID0gYSAvIGJbMV1b
MF07CisgICAgcmVzdWx0WzFdWzFdID0gYSAvIGJbMV1bMV07CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2hhbGYyeDMgb3BlcmF0b3IrKGhhbGYyeDMgYSwgaGFsZjJ4MyBiKSB7CisgICAgaGFsZjJ4
MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSArIGJbMF1bMF07CisgICAgcmVz
dWx0WzBdWzFdID0gYVswXVsxXSArIGJbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdID0gYVswXVsy
XSArIGJbMF1bMl07CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSArIGJbMV1bMF07CisgICAg
cmVzdWx0WzFdWzFdID0gYVsxXVsxXSArIGJbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gYVsx
XVsyXSArIGJbMV1bMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDMgb3BlcmF0b3It
KGhhbGYyeDMgYSwgaGFsZjJ4MyBiKSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gYVswXVswXSAtIGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAt
IGJbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdID0gYVswXVsyXSAtIGJbMF1bMl07CisgICAgcmVz
dWx0WzFdWzBdID0gYVsxXVswXSAtIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsx
XSAtIGJbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gYVsxXVsyXSAtIGJbMV1bMl07CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDMgb3BlcmF0b3ItKGhhbGYyeDMgYSkgeworICAgIGhh
bGYyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IC1hWzBdWzBdOworICAgIHJlc3VsdFsw
XVsxXSA9IC1hWzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IC1hWzBdWzJdOworICAgIHJlc3Vs
dFsxXVswXSA9IC1hWzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IC1hWzFdWzFdOworICAgIHJl
c3VsdFsxXVsyXSA9IC1hWzFdWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngzIG9w
ZXJhdG9yKihoYWxmMngzIGEsIGhhbGYyeDMgYikgeworICAgIGhhbGYyeDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGFbMF1bMF0gKiBiWzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IGFb
MF1bMV0gKiBiWzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0gKiBiWzBdWzJdOwor
ICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gKiBiWzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9
IGFbMV1bMV0gKiBiWzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IGFbMV1bMl0gKiBiWzFdWzJd
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngzIG9wZXJhdG9yKihoYWxmMngzIGEsIGhh
bGYgYikgeworICAgIGhhbGYyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0g
KiBiOworICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gKiBiOworICAgIHJlc3VsdFswXVsyXSA9
IGFbMF1bMl0gKiBiOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gKiBiOworICAgIHJlc3Vs
dFsxXVsxXSA9IGFbMV1bMV0gKiBiOworICAgIHJlc3VsdFsxXVsyXSA9IGFbMV1bMl0gKiBiOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngzIG9wZXJhdG9yKihoYWxmIGEsIGhhbGYyeDMg
YikgeworICAgIGhhbGYyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGEgKiBiWzBdWzBd
OworICAgIHJlc3VsdFswXVsxXSA9IGEgKiBiWzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IGEg
KiBiWzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IGEgKiBiWzFdWzBdOworICAgIHJlc3VsdFsx
XVsxXSA9IGEgKiBiWzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IGEgKiBiWzFdWzJdOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngzIG9wZXJhdG9yLyhoYWxmMngzIGEsIGhhbGYyeDMg
YikgeworICAgIGhhbGYyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLyBi
WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gLyBiWzBdWzFdOworICAgIHJlc3Vs
dFswXVsyXSA9IGFbMF1bMl0gLyBiWzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0g
LyBiWzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gLyBiWzFdWzFdOworICAgIHJl
c3VsdFsxXVsyXSA9IGFbMV1bMl0gLyBiWzFdWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9Cito
YWxmMngzIG9wZXJhdG9yLyhoYWxmMngzIGEsIGhhbGYgYikgeworICAgIGhhbGYyeDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLyBiOworICAgIHJlc3VsdFswXVsxXSA9IGFb
MF1bMV0gLyBiOworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0gLyBiOworICAgIHJlc3VsdFsx
XVswXSA9IGFbMV1bMF0gLyBiOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gLyBiOworICAg
IHJlc3VsdFsxXVsyXSA9IGFbMV1bMl0gLyBiOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxm
MngzIG9wZXJhdG9yLyhoYWxmIGEsIGhhbGYyeDMgYikgeworICAgIGhhbGYyeDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGEgLyBiWzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IGEgLyBi
WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IGEgLyBiWzBdWzJdOworICAgIHJlc3VsdFsxXVsw
XSA9IGEgLyBiWzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IGEgLyBiWzFdWzFdOworICAgIHJl
c3VsdFsxXVsyXSA9IGEgLyBiWzFdWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMng0
IG9wZXJhdG9yKyhoYWxmMng0IGEsIGhhbGYyeDQgYikgeworICAgIGhhbGYyeDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gKyBiWzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9
IGFbMF1bMV0gKyBiWzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0gKyBiWzBdWzJd
OworICAgIHJlc3VsdFswXVszXSA9IGFbMF1bM10gKyBiWzBdWzNdOworICAgIHJlc3VsdFsxXVsw
XSA9IGFbMV1bMF0gKyBiWzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gKyBiWzFd
WzFdOworICAgIHJlc3VsdFsxXVsyXSA9IGFbMV1bMl0gKyBiWzFdWzJdOworICAgIHJlc3VsdFsx
XVszXSA9IGFbMV1bM10gKyBiWzFdWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMng0
IG9wZXJhdG9yLShoYWxmMng0IGEsIGhhbGYyeDQgYikgeworICAgIGhhbGYyeDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLSBiWzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9
IGFbMF1bMV0gLSBiWzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0gLSBiWzBdWzJd
OworICAgIHJlc3VsdFswXVszXSA9IGFbMF1bM10gLSBiWzBdWzNdOworICAgIHJlc3VsdFsxXVsw
XSA9IGFbMV1bMF0gLSBiWzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gLSBiWzFd
WzFdOworICAgIHJlc3VsdFsxXVsyXSA9IGFbMV1bMl0gLSBiWzFdWzJdOworICAgIHJlc3VsdFsx
XVszXSA9IGFbMV1bM10gLSBiWzFdWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMng0
IG9wZXJhdG9yLShoYWxmMng0IGEpIHsKKyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSAtYVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSAtYVswXVsxXTsKKyAgICByZXN1
bHRbMF1bMl0gPSAtYVswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSAtYVswXVszXTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSAtYVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSAtYVsxXVsxXTsKKyAg
ICByZXN1bHRbMV1bMl0gPSAtYVsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSAtYVsxXVszXTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4NCBvcGVyYXRvciooaGFsZjJ4NCBhLCBoYWxm
Mng0IGIpIHsKKyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhWzBdWzBd
ICogYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhWzBdWzFdICogYlswXVsxXTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBhWzBdWzJdICogYlswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSBhWzBd
WzNdICogYlswXVszXTsKKyAgICByZXN1bHRbMV1bMF0gPSBhWzFdWzBdICogYlsxXVswXTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBhWzFdWzFdICogYlsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSBh
WzFdWzJdICogYlsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSBhWzFdWzNdICogYlsxXVszXTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4NCBvcGVyYXRvciooaGFsZjJ4NCBhLCBoYWxm
IGIpIHsKKyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhWzBdWzBdICog
YjsKKyAgICByZXN1bHRbMF1bMV0gPSBhWzBdWzFdICogYjsKKyAgICByZXN1bHRbMF1bMl0gPSBh
WzBdWzJdICogYjsKKyAgICByZXN1bHRbMF1bM10gPSBhWzBdWzNdICogYjsKKyAgICByZXN1bHRb
MV1bMF0gPSBhWzFdWzBdICogYjsKKyAgICByZXN1bHRbMV1bMV0gPSBhWzFdWzFdICogYjsKKyAg
ICByZXN1bHRbMV1bMl0gPSBhWzFdWzJdICogYjsKKyAgICByZXN1bHRbMV1bM10gPSBhWzFdWzNd
ICogYjsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4NCBvcGVyYXRvciooaGFsZiBhLCBo
YWxmMng0IGIpIHsKKyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhICog
YlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhICogYlswXVsxXTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBhICogYlswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSBhICogYlswXVszXTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBhICogYlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSBhICogYlsxXVsx
XTsKKyAgICByZXN1bHRbMV1bMl0gPSBhICogYlsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSBh
ICogYlsxXVszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4NCBvcGVyYXRvci8oaGFs
ZjJ4NCBhLCBoYWxmMng0IGIpIHsKKyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBhWzBdWzBdIC8gYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhWzBdWzFdIC8gYlsw
XVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSBhWzBdWzJdIC8gYlswXVsyXTsKKyAgICByZXN1bHRb
MF1bM10gPSBhWzBdWzNdIC8gYlswXVszXTsKKyAgICByZXN1bHRbMV1bMF0gPSBhWzFdWzBdIC8g
YlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSBhWzFdWzFdIC8gYlsxXVsxXTsKKyAgICByZXN1
bHRbMV1bMl0gPSBhWzFdWzJdIC8gYlsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSBhWzFdWzNd
IC8gYlsxXVszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4NCBvcGVyYXRvci8oaGFs
ZjJ4NCBhLCBoYWxmIGIpIHsKKyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSBhWzBdWzBdIC8gYjsKKyAgICByZXN1bHRbMF1bMV0gPSBhWzBdWzFdIC8gYjsKKyAgICByZXN1
bHRbMF1bMl0gPSBhWzBdWzJdIC8gYjsKKyAgICByZXN1bHRbMF1bM10gPSBhWzBdWzNdIC8gYjsK
KyAgICByZXN1bHRbMV1bMF0gPSBhWzFdWzBdIC8gYjsKKyAgICByZXN1bHRbMV1bMV0gPSBhWzFd
WzFdIC8gYjsKKyAgICByZXN1bHRbMV1bMl0gPSBhWzFdWzJdIC8gYjsKKyAgICByZXN1bHRbMV1b
M10gPSBhWzFdWzNdIC8gYjsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4NCBvcGVyYXRv
ci8oaGFsZiBhLCBoYWxmMng0IGIpIHsKKyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBhIC8gYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhIC8gYlswXVsxXTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBhIC8gYlswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSBhIC8gYlsw
XVszXTsKKyAgICByZXN1bHRbMV1bMF0gPSBhIC8gYlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0g
PSBhIC8gYlsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSBhIC8gYlsxXVsyXTsKKyAgICByZXN1
bHRbMV1bM10gPSBhIC8gYlsxXVszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4MiBv
cGVyYXRvcisoaGFsZjN4MiBhLCBoYWxmM3gyIGIpIHsKKyAgICBoYWxmM3gyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBhWzBdWzBdICsgYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBh
WzBdWzFdICsgYlswXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gPSBhWzFdWzBdICsgYlsxXVswXTsK
KyAgICByZXN1bHRbMV1bMV0gPSBhWzFdWzFdICsgYlsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0g
PSBhWzJdWzBdICsgYlsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gPSBhWzJdWzFdICsgYlsyXVsx
XTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4MiBvcGVyYXRvci0oaGFsZjN4MiBhLCBo
YWxmM3gyIGIpIHsKKyAgICBoYWxmM3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhWzBd
WzBdIC0gYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhWzBdWzFdIC0gYlswXVsxXTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBhWzFdWzBdIC0gYlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSBh
WzFdWzFdIC0gYlsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSBhWzJdWzBdIC0gYlsyXVswXTsK
KyAgICByZXN1bHRbMl1bMV0gPSBhWzJdWzFdIC0gYlsyXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQoraGFsZjN4MiBvcGVyYXRvci0oaGFsZjN4MiBhKSB7CisgICAgaGFsZjN4MiByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gLWFbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gLWFbMF1b
MV07CisgICAgcmVzdWx0WzFdWzBdID0gLWFbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gLWFb
MV1bMV07CisgICAgcmVzdWx0WzJdWzBdID0gLWFbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdID0g
LWFbMl1bMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgb3BlcmF0b3IqKGhhbGYz
eDIgYSwgaGFsZjN4MiBiKSB7CisgICAgaGFsZjN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gYVswXVswXSAqIGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAqIGJbMF1b
MV07CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAqIGJbMV1bMF07CisgICAgcmVzdWx0WzFd
WzFdID0gYVsxXVsxXSAqIGJbMV1bMV07CisgICAgcmVzdWx0WzJdWzBdID0gYVsyXVswXSAqIGJb
Ml1bMF07CisgICAgcmVzdWx0WzJdWzFdID0gYVsyXVsxXSAqIGJbMl1bMV07CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYzeDIgb3BlcmF0b3IqKGhhbGYzeDIgYSwgaGFsZiBiKSB7CisgICAg
aGFsZjN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSAqIGI7CisgICAgcmVz
dWx0WzBdWzFdID0gYVswXVsxXSAqIGI7CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAqIGI7
CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAqIGI7CisgICAgcmVzdWx0WzJdWzBdID0gYVsy
XVswXSAqIGI7CisgICAgcmVzdWx0WzJdWzFdID0gYVsyXVsxXSAqIGI7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK2hhbGYzeDIgb3BlcmF0b3IqKGhhbGYgYSwgaGFsZjN4MiBiKSB7CisgICAgaGFs
ZjN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYSAqIGJbMF1bMF07CisgICAgcmVzdWx0
WzBdWzFdID0gYSAqIGJbMF1bMV07CisgICAgcmVzdWx0WzFdWzBdID0gYSAqIGJbMV1bMF07Cisg
ICAgcmVzdWx0WzFdWzFdID0gYSAqIGJbMV1bMV07CisgICAgcmVzdWx0WzJdWzBdID0gYSAqIGJb
Ml1bMF07CisgICAgcmVzdWx0WzJdWzFdID0gYSAqIGJbMl1bMV07CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGYzeDIgb3BlcmF0b3IvKGhhbGYzeDIgYSwgaGFsZjN4MiBiKSB7CisgICAgaGFs
ZjN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSAvIGJbMF1bMF07CisgICAg
cmVzdWx0WzBdWzFdID0gYVswXVsxXSAvIGJbMF1bMV07CisgICAgcmVzdWx0WzFdWzBdID0gYVsx
XVswXSAvIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAvIGJbMV1bMV07Cisg
ICAgcmVzdWx0WzJdWzBdID0gYVsyXVswXSAvIGJbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdID0g
YVsyXVsxXSAvIGJbMl1bMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgb3BlcmF0
b3IvKGhhbGYzeDIgYSwgaGFsZiBiKSB7CisgICAgaGFsZjN4MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gYVswXVswXSAvIGI7CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAvIGI7Cisg
ICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAvIGI7CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsx
XSAvIGI7CisgICAgcmVzdWx0WzJdWzBdID0gYVsyXVswXSAvIGI7CisgICAgcmVzdWx0WzJdWzFd
ID0gYVsyXVsxXSAvIGI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgb3BlcmF0b3Iv
KGhhbGYgYSwgaGFsZjN4MiBiKSB7CisgICAgaGFsZjN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gYSAvIGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYSAvIGJbMF1bMV07CisgICAg
cmVzdWx0WzFdWzBdID0gYSAvIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYSAvIGJbMV1b
MV07CisgICAgcmVzdWx0WzJdWzBdID0gYSAvIGJbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdID0g
YSAvIGJbMl1bMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDMgb3BlcmF0b3IrKGhh
bGYzeDMgYSwgaGFsZjN4MyBiKSB7CisgICAgaGFsZjN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gYVswXVswXSArIGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSArIGJb
MF1bMV07CisgICAgcmVzdWx0WzBdWzJdID0gYVswXVsyXSArIGJbMF1bMl07CisgICAgcmVzdWx0
WzFdWzBdID0gYVsxXVswXSArIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAr
IGJbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gYVsxXVsyXSArIGJbMV1bMl07CisgICAgcmVz
dWx0WzJdWzBdID0gYVsyXVswXSArIGJbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdID0gYVsyXVsx
XSArIGJbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdID0gYVsyXVsyXSArIGJbMl1bMl07CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDMgb3BlcmF0b3ItKGhhbGYzeDMgYSwgaGFsZjN4MyBi
KSB7CisgICAgaGFsZjN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSAtIGJb
MF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAtIGJbMF1bMV07CisgICAgcmVzdWx0
WzBdWzJdID0gYVswXVsyXSAtIGJbMF1bMl07CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAt
IGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAtIGJbMV1bMV07CisgICAgcmVz
dWx0WzFdWzJdID0gYVsxXVsyXSAtIGJbMV1bMl07CisgICAgcmVzdWx0WzJdWzBdID0gYVsyXVsw
XSAtIGJbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdID0gYVsyXVsxXSAtIGJbMl1bMV07CisgICAg
cmVzdWx0WzJdWzJdID0gYVsyXVsyXSAtIGJbMl1bMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGYzeDMgb3BlcmF0b3ItKGhhbGYzeDMgYSkgeworICAgIGhhbGYzeDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IC1hWzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IC1hWzBdWzFdOwor
ICAgIHJlc3VsdFswXVsyXSA9IC1hWzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IC1hWzFdWzBd
OworICAgIHJlc3VsdFsxXVsxXSA9IC1hWzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IC1hWzFd
WzJdOworICAgIHJlc3VsdFsyXVswXSA9IC1hWzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSA9IC1h
WzJdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9IC1hWzJdWzJdOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitoYWxmM3gzIG9wZXJhdG9yKihoYWxmM3gzIGEsIGhhbGYzeDMgYikgeworICAgIGhhbGYz
eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gKiBiWzBdWzBdOworICAgIHJl
c3VsdFswXVsxXSA9IGFbMF1bMV0gKiBiWzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1b
Ml0gKiBiWzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gKiBiWzFdWzBdOworICAg
IHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gKiBiWzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IGFb
MV1bMl0gKiBiWzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IGFbMl1bMF0gKiBiWzJdWzBdOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gKiBiWzJdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9
IGFbMl1bMl0gKiBiWzJdWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gzIG9wZXJh
dG9yKihoYWxmM3gzIGEsIGhhbGYgYikgeworICAgIGhhbGYzeDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGFbMF1bMF0gKiBiOworICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gKiBiOwor
ICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0gKiBiOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1b
MF0gKiBiOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gKiBiOworICAgIHJlc3VsdFsxXVsy
XSA9IGFbMV1bMl0gKiBiOworICAgIHJlc3VsdFsyXVswXSA9IGFbMl1bMF0gKiBiOworICAgIHJl
c3VsdFsyXVsxXSA9IGFbMl1bMV0gKiBiOworICAgIHJlc3VsdFsyXVsyXSA9IGFbMl1bMl0gKiBi
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gzIG9wZXJhdG9yKihoYWxmIGEsIGhhbGYz
eDMgYikgeworICAgIGhhbGYzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGEgKiBiWzBd
WzBdOworICAgIHJlc3VsdFswXVsxXSA9IGEgKiBiWzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9
IGEgKiBiWzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IGEgKiBiWzFdWzBdOworICAgIHJlc3Vs
dFsxXVsxXSA9IGEgKiBiWzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IGEgKiBiWzFdWzJdOwor
ICAgIHJlc3VsdFsyXVswXSA9IGEgKiBiWzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSA9IGEgKiBi
WzJdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9IGEgKiBiWzJdWzJdOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitoYWxmM3gzIG9wZXJhdG9yLyhoYWxmM3gzIGEsIGhhbGYzeDMgYikgeworICAgIGhh
bGYzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLyBiWzBdWzBdOworICAg
IHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gLyBiWzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IGFb
MF1bMl0gLyBiWzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gLyBiWzFdWzBdOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gLyBiWzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9
IGFbMV1bMl0gLyBiWzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IGFbMl1bMF0gLyBiWzJdWzBd
OworICAgIHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gLyBiWzJdWzFdOworICAgIHJlc3VsdFsyXVsy
XSA9IGFbMl1bMl0gLyBiWzJdWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gzIG9w
ZXJhdG9yLyhoYWxmM3gzIGEsIGhhbGYgYikgeworICAgIGhhbGYzeDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IGFbMF1bMF0gLyBiOworICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gLyBi
OworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0gLyBiOworICAgIHJlc3VsdFsxXVswXSA9IGFb
MV1bMF0gLyBiOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gLyBiOworICAgIHJlc3VsdFsx
XVsyXSA9IGFbMV1bMl0gLyBiOworICAgIHJlc3VsdFsyXVswXSA9IGFbMl1bMF0gLyBiOworICAg
IHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gLyBiOworICAgIHJlc3VsdFsyXVsyXSA9IGFbMl1bMl0g
LyBiOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gzIG9wZXJhdG9yLyhoYWxmIGEsIGhh
bGYzeDMgYikgeworICAgIGhhbGYzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGEgLyBi
WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IGEgLyBiWzBdWzFdOworICAgIHJlc3VsdFswXVsy
XSA9IGEgLyBiWzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IGEgLyBiWzFdWzBdOworICAgIHJl
c3VsdFsxXVsxXSA9IGEgLyBiWzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IGEgLyBiWzFdWzJd
OworICAgIHJlc3VsdFsyXVswXSA9IGEgLyBiWzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSA9IGEg
LyBiWzJdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9IGEgLyBiWzJdWzJdOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitoYWxmM3g0IG9wZXJhdG9yKyhoYWxmM3g0IGEsIGhhbGYzeDQgYikgeworICAg
IGhhbGYzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gKyBiWzBdWzBdOwor
ICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gKyBiWzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9
IGFbMF1bMl0gKyBiWzBdWzJdOworICAgIHJlc3VsdFswXVszXSA9IGFbMF1bM10gKyBiWzBdWzNd
OworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gKyBiWzFdWzBdOworICAgIHJlc3VsdFsxXVsx
XSA9IGFbMV1bMV0gKyBiWzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IGFbMV1bMl0gKyBiWzFd
WzJdOworICAgIHJlc3VsdFsxXVszXSA9IGFbMV1bM10gKyBiWzFdWzNdOworICAgIHJlc3VsdFsy
XVswXSA9IGFbMl1bMF0gKyBiWzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gKyBi
WzJdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9IGFbMl1bMl0gKyBiWzJdWzJdOworICAgIHJlc3Vs
dFsyXVszXSA9IGFbMl1bM10gKyBiWzJdWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxm
M3g0IG9wZXJhdG9yLShoYWxmM3g0IGEsIGhhbGYzeDQgYikgeworICAgIGhhbGYzeDQgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLSBiWzBdWzBdOworICAgIHJlc3VsdFswXVsx
XSA9IGFbMF1bMV0gLSBiWzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0gLSBiWzBd
WzJdOworICAgIHJlc3VsdFswXVszXSA9IGFbMF1bM10gLSBiWzBdWzNdOworICAgIHJlc3VsdFsx
XVswXSA9IGFbMV1bMF0gLSBiWzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gLSBi
WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IGFbMV1bMl0gLSBiWzFdWzJdOworICAgIHJlc3Vs
dFsxXVszXSA9IGFbMV1bM10gLSBiWzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9IGFbMl1bMF0g
LSBiWzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gLSBiWzJdWzFdOworICAgIHJl
c3VsdFsyXVsyXSA9IGFbMl1bMl0gLSBiWzJdWzJdOworICAgIHJlc3VsdFsyXVszXSA9IGFbMl1b
M10gLSBiWzJdWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3g0IG9wZXJhdG9yLSho
YWxmM3g0IGEpIHsKKyAgICBoYWxmM3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAtYVsw
XVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSAtYVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSAt
YVswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSAtYVswXVszXTsKKyAgICByZXN1bHRbMV1bMF0g
PSAtYVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSAtYVsxXVsxXTsKKyAgICByZXN1bHRbMV1b
Ml0gPSAtYVsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSAtYVsxXVszXTsKKyAgICByZXN1bHRb
Ml1bMF0gPSAtYVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gPSAtYVsyXVsxXTsKKyAgICByZXN1
bHRbMl1bMl0gPSAtYVsyXVsyXTsKKyAgICByZXN1bHRbMl1bM10gPSAtYVsyXVszXTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQoraGFsZjN4NCBvcGVyYXRvciooaGFsZjN4NCBhLCBoYWxmM3g0IGIp
IHsKKyAgICBoYWxmM3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhWzBdWzBdICogYlsw
XVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhWzBdWzFdICogYlswXVsxXTsKKyAgICByZXN1bHRb
MF1bMl0gPSBhWzBdWzJdICogYlswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSBhWzBdWzNdICog
YlswXVszXTsKKyAgICByZXN1bHRbMV1bMF0gPSBhWzFdWzBdICogYlsxXVswXTsKKyAgICByZXN1
bHRbMV1bMV0gPSBhWzFdWzFdICogYlsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSBhWzFdWzJd
ICogYlsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSBhWzFdWzNdICogYlsxXVszXTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBhWzJdWzBdICogYlsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gPSBhWzJd
WzFdICogYlsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gPSBhWzJdWzJdICogYlsyXVsyXTsKKyAg
ICByZXN1bHRbMl1bM10gPSBhWzJdWzNdICogYlsyXVszXTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQoraGFsZjN4NCBvcGVyYXRvciooaGFsZjN4NCBhLCBoYWxmIGIpIHsKKyAgICBoYWxmM3g0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhWzBdWzBdICogYjsKKyAgICByZXN1bHRbMF1bMV0g
PSBhWzBdWzFdICogYjsKKyAgICByZXN1bHRbMF1bMl0gPSBhWzBdWzJdICogYjsKKyAgICByZXN1
bHRbMF1bM10gPSBhWzBdWzNdICogYjsKKyAgICByZXN1bHRbMV1bMF0gPSBhWzFdWzBdICogYjsK
KyAgICByZXN1bHRbMV1bMV0gPSBhWzFdWzFdICogYjsKKyAgICByZXN1bHRbMV1bMl0gPSBhWzFd
WzJdICogYjsKKyAgICByZXN1bHRbMV1bM10gPSBhWzFdWzNdICogYjsKKyAgICByZXN1bHRbMl1b
MF0gPSBhWzJdWzBdICogYjsKKyAgICByZXN1bHRbMl1bMV0gPSBhWzJdWzFdICogYjsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBhWzJdWzJdICogYjsKKyAgICByZXN1bHRbMl1bM10gPSBhWzJdWzNdICog
YjsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4NCBvcGVyYXRvciooaGFsZiBhLCBoYWxm
M3g0IGIpIHsKKyAgICBoYWxmM3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhICogYlsw
XVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhICogYlswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0g
PSBhICogYlswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSBhICogYlswXVszXTsKKyAgICByZXN1
bHRbMV1bMF0gPSBhICogYlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSBhICogYlsxXVsxXTsK
KyAgICByZXN1bHRbMV1bMl0gPSBhICogYlsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSBhICog
YlsxXVszXTsKKyAgICByZXN1bHRbMl1bMF0gPSBhICogYlsyXVswXTsKKyAgICByZXN1bHRbMl1b
MV0gPSBhICogYlsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gPSBhICogYlsyXVsyXTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBhICogYlsyXVszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4
NCBvcGVyYXRvci8oaGFsZjN4NCBhLCBoYWxmM3g0IGIpIHsKKyAgICBoYWxmM3g0IHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBhWzBdWzBdIC8gYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0g
PSBhWzBdWzFdIC8gYlswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSBhWzBdWzJdIC8gYlswXVsy
XTsKKyAgICByZXN1bHRbMF1bM10gPSBhWzBdWzNdIC8gYlswXVszXTsKKyAgICByZXN1bHRbMV1b
MF0gPSBhWzFdWzBdIC8gYlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSBhWzFdWzFdIC8gYlsx
XVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSBhWzFdWzJdIC8gYlsxXVsyXTsKKyAgICByZXN1bHRb
MV1bM10gPSBhWzFdWzNdIC8gYlsxXVszXTsKKyAgICByZXN1bHRbMl1bMF0gPSBhWzJdWzBdIC8g
YlsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gPSBhWzJdWzFdIC8gYlsyXVsxXTsKKyAgICByZXN1
bHRbMl1bMl0gPSBhWzJdWzJdIC8gYlsyXVsyXTsKKyAgICByZXN1bHRbMl1bM10gPSBhWzJdWzNd
IC8gYlsyXVszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4NCBvcGVyYXRvci8oaGFs
ZjN4NCBhLCBoYWxmIGIpIHsKKyAgICBoYWxmM3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSBhWzBdWzBdIC8gYjsKKyAgICByZXN1bHRbMF1bMV0gPSBhWzBdWzFdIC8gYjsKKyAgICByZXN1
bHRbMF1bMl0gPSBhWzBdWzJdIC8gYjsKKyAgICByZXN1bHRbMF1bM10gPSBhWzBdWzNdIC8gYjsK
KyAgICByZXN1bHRbMV1bMF0gPSBhWzFdWzBdIC8gYjsKKyAgICByZXN1bHRbMV1bMV0gPSBhWzFd
WzFdIC8gYjsKKyAgICByZXN1bHRbMV1bMl0gPSBhWzFdWzJdIC8gYjsKKyAgICByZXN1bHRbMV1b
M10gPSBhWzFdWzNdIC8gYjsKKyAgICByZXN1bHRbMl1bMF0gPSBhWzJdWzBdIC8gYjsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBhWzJdWzFdIC8gYjsKKyAgICByZXN1bHRbMl1bMl0gPSBhWzJdWzJdIC8g
YjsKKyAgICByZXN1bHRbMl1bM10gPSBhWzJdWzNdIC8gYjsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQoraGFsZjN4NCBvcGVyYXRvci8oaGFsZiBhLCBoYWxmM3g0IGIpIHsKKyAgICBoYWxmM3g0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhIC8gYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0g
PSBhIC8gYlswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSBhIC8gYlswXVsyXTsKKyAgICByZXN1
bHRbMF1bM10gPSBhIC8gYlswXVszXTsKKyAgICByZXN1bHRbMV1bMF0gPSBhIC8gYlsxXVswXTsK
KyAgICByZXN1bHRbMV1bMV0gPSBhIC8gYlsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSBhIC8g
YlsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSBhIC8gYlsxXVszXTsKKyAgICByZXN1bHRbMl1b
MF0gPSBhIC8gYlsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gPSBhIC8gYlsyXVsxXTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBhIC8gYlsyXVsyXTsKKyAgICByZXN1bHRbMl1bM10gPSBhIC8gYlsyXVsz
XTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4MiBvcGVyYXRvcisoaGFsZjR4MiBhLCBo
YWxmNHgyIGIpIHsKKyAgICBoYWxmNHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhWzBd
WzBdICsgYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhWzBdWzFdICsgYlswXVsxXTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBhWzFdWzBdICsgYlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSBh
WzFdWzFdICsgYlsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSBhWzJdWzBdICsgYlsyXVswXTsK
KyAgICByZXN1bHRbMl1bMV0gPSBhWzJdWzFdICsgYlsyXVsxXTsKKyAgICByZXN1bHRbM11bMF0g
PSBhWzNdWzBdICsgYlszXVswXTsKKyAgICByZXN1bHRbM11bMV0gPSBhWzNdWzFdICsgYlszXVsx
XTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4MiBvcGVyYXRvci0oaGFsZjR4MiBhLCBo
YWxmNHgyIGIpIHsKKyAgICBoYWxmNHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhWzBd
WzBdIC0gYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhWzBdWzFdIC0gYlswXVsxXTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBhWzFdWzBdIC0gYlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSBh
WzFdWzFdIC0gYlsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSBhWzJdWzBdIC0gYlsyXVswXTsK
KyAgICByZXN1bHRbMl1bMV0gPSBhWzJdWzFdIC0gYlsyXVsxXTsKKyAgICByZXN1bHRbM11bMF0g
PSBhWzNdWzBdIC0gYlszXVswXTsKKyAgICByZXN1bHRbM11bMV0gPSBhWzNdWzFdIC0gYlszXVsx
XTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4MiBvcGVyYXRvci0oaGFsZjR4MiBhKSB7
CisgICAgaGFsZjR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gLWFbMF1bMF07CisgICAg
cmVzdWx0WzBdWzFdID0gLWFbMF1bMV07CisgICAgcmVzdWx0WzFdWzBdID0gLWFbMV1bMF07Cisg
ICAgcmVzdWx0WzFdWzFdID0gLWFbMV1bMV07CisgICAgcmVzdWx0WzJdWzBdID0gLWFbMl1bMF07
CisgICAgcmVzdWx0WzJdWzFdID0gLWFbMl1bMV07CisgICAgcmVzdWx0WzNdWzBdID0gLWFbM11b
MF07CisgICAgcmVzdWx0WzNdWzFdID0gLWFbM11bMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGY0eDIgb3BlcmF0b3IqKGhhbGY0eDIgYSwgaGFsZjR4MiBiKSB7CisgICAgaGFsZjR4MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSAqIGJbMF1bMF07CisgICAgcmVzdWx0
WzBdWzFdID0gYVswXVsxXSAqIGJbMF1bMV07CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAq
IGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAqIGJbMV1bMV07CisgICAgcmVz
dWx0WzJdWzBdID0gYVsyXVswXSAqIGJbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdID0gYVsyXVsx
XSAqIGJbMl1bMV07CisgICAgcmVzdWx0WzNdWzBdID0gYVszXVswXSAqIGJbM11bMF07CisgICAg
cmVzdWx0WzNdWzFdID0gYVszXVsxXSAqIGJbM11bMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGY0eDIgb3BlcmF0b3IqKGhhbGY0eDIgYSwgaGFsZiBiKSB7CisgICAgaGFsZjR4MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSAqIGI7CisgICAgcmVzdWx0WzBdWzFdID0g
YVswXVsxXSAqIGI7CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAqIGI7CisgICAgcmVzdWx0
WzFdWzFdID0gYVsxXVsxXSAqIGI7CisgICAgcmVzdWx0WzJdWzBdID0gYVsyXVswXSAqIGI7Cisg
ICAgcmVzdWx0WzJdWzFdID0gYVsyXVsxXSAqIGI7CisgICAgcmVzdWx0WzNdWzBdID0gYVszXVsw
XSAqIGI7CisgICAgcmVzdWx0WzNdWzFdID0gYVszXVsxXSAqIGI7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGY0eDIgb3BlcmF0b3IqKGhhbGYgYSwgaGFsZjR4MiBiKSB7CisgICAgaGFsZjR4
MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYSAqIGJbMF1bMF07CisgICAgcmVzdWx0WzBd
WzFdID0gYSAqIGJbMF1bMV07CisgICAgcmVzdWx0WzFdWzBdID0gYSAqIGJbMV1bMF07CisgICAg
cmVzdWx0WzFdWzFdID0gYSAqIGJbMV1bMV07CisgICAgcmVzdWx0WzJdWzBdID0gYSAqIGJbMl1b
MF07CisgICAgcmVzdWx0WzJdWzFdID0gYSAqIGJbMl1bMV07CisgICAgcmVzdWx0WzNdWzBdID0g
YSAqIGJbM11bMF07CisgICAgcmVzdWx0WzNdWzFdID0gYSAqIGJbM11bMV07CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGY0eDIgb3BlcmF0b3IvKGhhbGY0eDIgYSwgaGFsZjR4MiBiKSB7Cisg
ICAgaGFsZjR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSAvIGJbMF1bMF07
CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAvIGJbMF1bMV07CisgICAgcmVzdWx0WzFdWzBd
ID0gYVsxXVswXSAvIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAvIGJbMV1b
MV07CisgICAgcmVzdWx0WzJdWzBdID0gYVsyXVswXSAvIGJbMl1bMF07CisgICAgcmVzdWx0WzJd
WzFdID0gYVsyXVsxXSAvIGJbMl1bMV07CisgICAgcmVzdWx0WzNdWzBdID0gYVszXVswXSAvIGJb
M11bMF07CisgICAgcmVzdWx0WzNdWzFdID0gYVszXVsxXSAvIGJbM11bMV07CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGY0eDIgb3BlcmF0b3IvKGhhbGY0eDIgYSwgaGFsZiBiKSB7CisgICAg
aGFsZjR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSAvIGI7CisgICAgcmVz
dWx0WzBdWzFdID0gYVswXVsxXSAvIGI7CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAvIGI7
CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAvIGI7CisgICAgcmVzdWx0WzJdWzBdID0gYVsy
XVswXSAvIGI7CisgICAgcmVzdWx0WzJdWzFdID0gYVsyXVsxXSAvIGI7CisgICAgcmVzdWx0WzNd
WzBdID0gYVszXVswXSAvIGI7CisgICAgcmVzdWx0WzNdWzFdID0gYVszXVsxXSAvIGI7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgb3BlcmF0b3IvKGhhbGYgYSwgaGFsZjR4MiBiKSB7
CisgICAgaGFsZjR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYSAvIGJbMF1bMF07Cisg
ICAgcmVzdWx0WzBdWzFdID0gYSAvIGJbMF1bMV07CisgICAgcmVzdWx0WzFdWzBdID0gYSAvIGJb
MV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYSAvIGJbMV1bMV07CisgICAgcmVzdWx0WzJdWzBd
ID0gYSAvIGJbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdID0gYSAvIGJbMl1bMV07CisgICAgcmVz
dWx0WzNdWzBdID0gYSAvIGJbM11bMF07CisgICAgcmVzdWx0WzNdWzFdID0gYSAvIGJbM11bMV07
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMgb3BlcmF0b3IrKGhhbGY0eDMgYSwgaGFs
ZjR4MyBiKSB7CisgICAgaGFsZjR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVsw
XSArIGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSArIGJbMF1bMV07CisgICAg
cmVzdWx0WzBdWzJdID0gYVswXVsyXSArIGJbMF1bMl07CisgICAgcmVzdWx0WzFdWzBdID0gYVsx
XVswXSArIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSArIGJbMV1bMV07Cisg
ICAgcmVzdWx0WzFdWzJdID0gYVsxXVsyXSArIGJbMV1bMl07CisgICAgcmVzdWx0WzJdWzBdID0g
YVsyXVswXSArIGJbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdID0gYVsyXVsxXSArIGJbMl1bMV07
CisgICAgcmVzdWx0WzJdWzJdID0gYVsyXVsyXSArIGJbMl1bMl07CisgICAgcmVzdWx0WzNdWzBd
ID0gYVszXVswXSArIGJbM11bMF07CisgICAgcmVzdWx0WzNdWzFdID0gYVszXVsxXSArIGJbM11b
MV07CisgICAgcmVzdWx0WzNdWzJdID0gYVszXVsyXSArIGJbM11bMl07CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK2hhbGY0eDMgb3BlcmF0b3ItKGhhbGY0eDMgYSwgaGFsZjR4MyBiKSB7CisgICAg
aGFsZjR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSAtIGJbMF1bMF07Cisg
ICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAtIGJbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdID0g
YVswXVsyXSAtIGJbMF1bMl07CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAtIGJbMV1bMF07
CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAtIGJbMV1bMV07CisgICAgcmVzdWx0WzFdWzJd
ID0gYVsxXVsyXSAtIGJbMV1bMl07CisgICAgcmVzdWx0WzJdWzBdID0gYVsyXVswXSAtIGJbMl1b
MF07CisgICAgcmVzdWx0WzJdWzFdID0gYVsyXVsxXSAtIGJbMl1bMV07CisgICAgcmVzdWx0WzJd
WzJdID0gYVsyXVsyXSAtIGJbMl1bMl07CisgICAgcmVzdWx0WzNdWzBdID0gYVszXVswXSAtIGJb
M11bMF07CisgICAgcmVzdWx0WzNdWzFdID0gYVszXVsxXSAtIGJbM11bMV07CisgICAgcmVzdWx0
WzNdWzJdID0gYVszXVsyXSAtIGJbM11bMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0
eDMgb3BlcmF0b3ItKGhhbGY0eDMgYSkgeworICAgIGhhbGY0eDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IC1hWzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IC1hWzBdWzFdOworICAgIHJl
c3VsdFswXVsyXSA9IC1hWzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IC1hWzFdWzBdOworICAg
IHJlc3VsdFsxXVsxXSA9IC1hWzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IC1hWzFdWzJdOwor
ICAgIHJlc3VsdFsyXVswXSA9IC1hWzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSA9IC1hWzJdWzFd
OworICAgIHJlc3VsdFsyXVsyXSA9IC1hWzJdWzJdOworICAgIHJlc3VsdFszXVswXSA9IC1hWzNd
WzBdOworICAgIHJlc3VsdFszXVsxXSA9IC1hWzNdWzFdOworICAgIHJlc3VsdFszXVsyXSA9IC1h
WzNdWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHgzIG9wZXJhdG9yKihoYWxmNHgz
IGEsIGhhbGY0eDMgYikgeworICAgIGhhbGY0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGFbMF1bMF0gKiBiWzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gKiBiWzBdWzFd
OworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0gKiBiWzBdWzJdOworICAgIHJlc3VsdFsxXVsw
XSA9IGFbMV1bMF0gKiBiWzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gKiBiWzFd
WzFdOworICAgIHJlc3VsdFsxXVsyXSA9IGFbMV1bMl0gKiBiWzFdWzJdOworICAgIHJlc3VsdFsy
XVswXSA9IGFbMl1bMF0gKiBiWzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gKiBi
WzJdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9IGFbMl1bMl0gKiBiWzJdWzJdOworICAgIHJlc3Vs
dFszXVswXSA9IGFbM11bMF0gKiBiWzNdWzBdOworICAgIHJlc3VsdFszXVsxXSA9IGFbM11bMV0g
KiBiWzNdWzFdOworICAgIHJlc3VsdFszXVsyXSA9IGFbM11bMl0gKiBiWzNdWzJdOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitoYWxmNHgzIG9wZXJhdG9yKihoYWxmNHgzIGEsIGhhbGYgYikgewor
ICAgIGhhbGY0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gKiBiOworICAg
IHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gKiBiOworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0g
KiBiOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gKiBiOworICAgIHJlc3VsdFsxXVsxXSA9
IGFbMV1bMV0gKiBiOworICAgIHJlc3VsdFsxXVsyXSA9IGFbMV1bMl0gKiBiOworICAgIHJlc3Vs
dFsyXVswXSA9IGFbMl1bMF0gKiBiOworICAgIHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gKiBiOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGFbMl1bMl0gKiBiOworICAgIHJlc3VsdFszXVswXSA9IGFbM11b
MF0gKiBiOworICAgIHJlc3VsdFszXVsxXSA9IGFbM11bMV0gKiBiOworICAgIHJlc3VsdFszXVsy
XSA9IGFbM11bMl0gKiBiOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHgzIG9wZXJhdG9y
KihoYWxmIGEsIGhhbGY0eDMgYikgeworICAgIGhhbGY0eDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IGEgKiBiWzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IGEgKiBiWzBdWzFdOworICAg
IHJlc3VsdFswXVsyXSA9IGEgKiBiWzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IGEgKiBiWzFd
WzBdOworICAgIHJlc3VsdFsxXVsxXSA9IGEgKiBiWzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9
IGEgKiBiWzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IGEgKiBiWzJdWzBdOworICAgIHJlc3Vs
dFsyXVsxXSA9IGEgKiBiWzJdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9IGEgKiBiWzJdWzJdOwor
ICAgIHJlc3VsdFszXVswXSA9IGEgKiBiWzNdWzBdOworICAgIHJlc3VsdFszXVsxXSA9IGEgKiBi
WzNdWzFdOworICAgIHJlc3VsdFszXVsyXSA9IGEgKiBiWzNdWzJdOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitoYWxmNHgzIG9wZXJhdG9yLyhoYWxmNHgzIGEsIGhhbGY0eDMgYikgeworICAgIGhh
bGY0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLyBiWzBdWzBdOworICAg
IHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gLyBiWzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IGFb
MF1bMl0gLyBiWzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gLyBiWzFdWzBdOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gLyBiWzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9
IGFbMV1bMl0gLyBiWzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IGFbMl1bMF0gLyBiWzJdWzBd
OworICAgIHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gLyBiWzJdWzFdOworICAgIHJlc3VsdFsyXVsy
XSA9IGFbMl1bMl0gLyBiWzJdWzJdOworICAgIHJlc3VsdFszXVswXSA9IGFbM11bMF0gLyBiWzNd
WzBdOworICAgIHJlc3VsdFszXVsxXSA9IGFbM11bMV0gLyBiWzNdWzFdOworICAgIHJlc3VsdFsz
XVsyXSA9IGFbM11bMl0gLyBiWzNdWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHgz
IG9wZXJhdG9yLyhoYWxmNHgzIGEsIGhhbGYgYikgeworICAgIGhhbGY0eDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLyBiOworICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0g
LyBiOworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0gLyBiOworICAgIHJlc3VsdFsxXVswXSA9
IGFbMV1bMF0gLyBiOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gLyBiOworICAgIHJlc3Vs
dFsxXVsyXSA9IGFbMV1bMl0gLyBiOworICAgIHJlc3VsdFsyXVswXSA9IGFbMl1bMF0gLyBiOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gLyBiOworICAgIHJlc3VsdFsyXVsyXSA9IGFbMl1b
Ml0gLyBiOworICAgIHJlc3VsdFszXVswXSA9IGFbM11bMF0gLyBiOworICAgIHJlc3VsdFszXVsx
XSA9IGFbM11bMV0gLyBiOworICAgIHJlc3VsdFszXVsyXSA9IGFbM11bMl0gLyBiOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitoYWxmNHgzIG9wZXJhdG9yLyhoYWxmIGEsIGhhbGY0eDMgYikgewor
ICAgIGhhbGY0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGEgLyBiWzBdWzBdOworICAg
IHJlc3VsdFswXVsxXSA9IGEgLyBiWzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IGEgLyBiWzBd
WzJdOworICAgIHJlc3VsdFsxXVswXSA9IGEgLyBiWzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9
IGEgLyBiWzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IGEgLyBiWzFdWzJdOworICAgIHJlc3Vs
dFsyXVswXSA9IGEgLyBiWzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSA9IGEgLyBiWzJdWzFdOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGEgLyBiWzJdWzJdOworICAgIHJlc3VsdFszXVswXSA9IGEgLyBi
WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSA9IGEgLyBiWzNdWzFdOworICAgIHJlc3VsdFszXVsy
XSA9IGEgLyBiWzNdWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHg0IG9wZXJhdG9y
KyhoYWxmNHg0IGEsIGhhbGY0eDQgYikgeworICAgIGhhbGY0eDQgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGFbMF1bMF0gKyBiWzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0g
KyBiWzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0gKyBiWzBdWzJdOworICAgIHJl
c3VsdFswXVszXSA9IGFbMF1bM10gKyBiWzBdWzNdOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1b
MF0gKyBiWzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gKyBiWzFdWzFdOworICAg
IHJlc3VsdFsxXVsyXSA9IGFbMV1bMl0gKyBiWzFdWzJdOworICAgIHJlc3VsdFsxXVszXSA9IGFb
MV1bM10gKyBiWzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9IGFbMl1bMF0gKyBiWzJdWzBdOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gKyBiWzJdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9
IGFbMl1bMl0gKyBiWzJdWzJdOworICAgIHJlc3VsdFsyXVszXSA9IGFbMl1bM10gKyBiWzJdWzNd
OworICAgIHJlc3VsdFszXVswXSA9IGFbM11bMF0gKyBiWzNdWzBdOworICAgIHJlc3VsdFszXVsx
XSA9IGFbM11bMV0gKyBiWzNdWzFdOworICAgIHJlc3VsdFszXVsyXSA9IGFbM11bMl0gKyBiWzNd
WzJdOworICAgIHJlc3VsdFszXVszXSA9IGFbM11bM10gKyBiWzNdWzNdOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitoYWxmNHg0IG9wZXJhdG9yLShoYWxmNHg0IGEsIGhhbGY0eDQgYikgeworICAg
IGhhbGY0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLSBiWzBdWzBdOwor
ICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gLSBiWzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9
IGFbMF1bMl0gLSBiWzBdWzJdOworICAgIHJlc3VsdFswXVszXSA9IGFbMF1bM10gLSBiWzBdWzNd
OworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gLSBiWzFdWzBdOworICAgIHJlc3VsdFsxXVsx
XSA9IGFbMV1bMV0gLSBiWzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IGFbMV1bMl0gLSBiWzFd
WzJdOworICAgIHJlc3VsdFsxXVszXSA9IGFbMV1bM10gLSBiWzFdWzNdOworICAgIHJlc3VsdFsy
XVswXSA9IGFbMl1bMF0gLSBiWzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gLSBi
WzJdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9IGFbMl1bMl0gLSBiWzJdWzJdOworICAgIHJlc3Vs
dFsyXVszXSA9IGFbMl1bM10gLSBiWzJdWzNdOworICAgIHJlc3VsdFszXVswXSA9IGFbM11bMF0g
LSBiWzNdWzBdOworICAgIHJlc3VsdFszXVsxXSA9IGFbM11bMV0gLSBiWzNdWzFdOworICAgIHJl
c3VsdFszXVsyXSA9IGFbM11bMl0gLSBiWzNdWzJdOworICAgIHJlc3VsdFszXVszXSA9IGFbM11b
M10gLSBiWzNdWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHg0IG9wZXJhdG9yLSho
YWxmNHg0IGEpIHsKKyAgICBoYWxmNHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAtYVsw
XVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSAtYVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSAt
YVswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSAtYVswXVszXTsKKyAgICByZXN1bHRbMV1bMF0g
PSAtYVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSAtYVsxXVsxXTsKKyAgICByZXN1bHRbMV1b
Ml0gPSAtYVsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSAtYVsxXVszXTsKKyAgICByZXN1bHRb
Ml1bMF0gPSAtYVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gPSAtYVsyXVsxXTsKKyAgICByZXN1
bHRbMl1bMl0gPSAtYVsyXVsyXTsKKyAgICByZXN1bHRbMl1bM10gPSAtYVsyXVszXTsKKyAgICBy
ZXN1bHRbM11bMF0gPSAtYVszXVswXTsKKyAgICByZXN1bHRbM11bMV0gPSAtYVszXVsxXTsKKyAg
ICByZXN1bHRbM11bMl0gPSAtYVszXVsyXTsKKyAgICByZXN1bHRbM11bM10gPSAtYVszXVszXTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4NCBvcGVyYXRvciooaGFsZjR4NCBhLCBoYWxm
NHg0IGIpIHsKKyAgICBoYWxmNHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhWzBdWzBd
ICogYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhWzBdWzFdICogYlswXVsxXTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBhWzBdWzJdICogYlswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSBhWzBd
WzNdICogYlswXVszXTsKKyAgICByZXN1bHRbMV1bMF0gPSBhWzFdWzBdICogYlsxXVswXTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBhWzFdWzFdICogYlsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSBh
WzFdWzJdICogYlsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSBhWzFdWzNdICogYlsxXVszXTsK
KyAgICByZXN1bHRbMl1bMF0gPSBhWzJdWzBdICogYlsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0g
PSBhWzJdWzFdICogYlsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gPSBhWzJdWzJdICogYlsyXVsy
XTsKKyAgICByZXN1bHRbMl1bM10gPSBhWzJdWzNdICogYlsyXVszXTsKKyAgICByZXN1bHRbM11b
MF0gPSBhWzNdWzBdICogYlszXVswXTsKKyAgICByZXN1bHRbM11bMV0gPSBhWzNdWzFdICogYlsz
XVsxXTsKKyAgICByZXN1bHRbM11bMl0gPSBhWzNdWzJdICogYlszXVsyXTsKKyAgICByZXN1bHRb
M11bM10gPSBhWzNdWzNdICogYlszXVszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4
NCBvcGVyYXRvciooaGFsZjR4NCBhLCBoYWxmIGIpIHsKKyAgICBoYWxmNHg0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBhWzBdWzBdICogYjsKKyAgICByZXN1bHRbMF1bMV0gPSBhWzBdWzFd
ICogYjsKKyAgICByZXN1bHRbMF1bMl0gPSBhWzBdWzJdICogYjsKKyAgICByZXN1bHRbMF1bM10g
PSBhWzBdWzNdICogYjsKKyAgICByZXN1bHRbMV1bMF0gPSBhWzFdWzBdICogYjsKKyAgICByZXN1
bHRbMV1bMV0gPSBhWzFdWzFdICogYjsKKyAgICByZXN1bHRbMV1bMl0gPSBhWzFdWzJdICogYjsK
KyAgICByZXN1bHRbMV1bM10gPSBhWzFdWzNdICogYjsKKyAgICByZXN1bHRbMl1bMF0gPSBhWzJd
WzBdICogYjsKKyAgICByZXN1bHRbMl1bMV0gPSBhWzJdWzFdICogYjsKKyAgICByZXN1bHRbMl1b
Ml0gPSBhWzJdWzJdICogYjsKKyAgICByZXN1bHRbMl1bM10gPSBhWzJdWzNdICogYjsKKyAgICBy
ZXN1bHRbM11bMF0gPSBhWzNdWzBdICogYjsKKyAgICByZXN1bHRbM11bMV0gPSBhWzNdWzFdICog
YjsKKyAgICByZXN1bHRbM11bMl0gPSBhWzNdWzJdICogYjsKKyAgICByZXN1bHRbM11bM10gPSBh
WzNdWzNdICogYjsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4NCBvcGVyYXRvciooaGFs
ZiBhLCBoYWxmNHg0IGIpIHsKKyAgICBoYWxmNHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSBhICogYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhICogYlswXVsxXTsKKyAgICByZXN1
bHRbMF1bMl0gPSBhICogYlswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSBhICogYlswXVszXTsK
KyAgICByZXN1bHRbMV1bMF0gPSBhICogYlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSBhICog
YlsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSBhICogYlsxXVsyXTsKKyAgICByZXN1bHRbMV1b
M10gPSBhICogYlsxXVszXTsKKyAgICByZXN1bHRbMl1bMF0gPSBhICogYlsyXVswXTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBhICogYlsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gPSBhICogYlsyXVsy
XTsKKyAgICByZXN1bHRbMl1bM10gPSBhICogYlsyXVszXTsKKyAgICByZXN1bHRbM11bMF0gPSBh
ICogYlszXVswXTsKKyAgICByZXN1bHRbM11bMV0gPSBhICogYlszXVsxXTsKKyAgICByZXN1bHRb
M11bMl0gPSBhICogYlszXVsyXTsKKyAgICByZXN1bHRbM11bM10gPSBhICogYlszXVszXTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4NCBvcGVyYXRvci8oaGFsZjR4NCBhLCBoYWxmNHg0
IGIpIHsKKyAgICBoYWxmNHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhWzBdWzBdIC8g
YlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhWzBdWzFdIC8gYlswXVsxXTsKKyAgICByZXN1
bHRbMF1bMl0gPSBhWzBdWzJdIC8gYlswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSBhWzBdWzNd
IC8gYlswXVszXTsKKyAgICByZXN1bHRbMV1bMF0gPSBhWzFdWzBdIC8gYlsxXVswXTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBhWzFdWzFdIC8gYlsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSBhWzFd
WzJdIC8gYlsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSBhWzFdWzNdIC8gYlsxXVszXTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBhWzJdWzBdIC8gYlsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gPSBh
WzJdWzFdIC8gYlsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gPSBhWzJdWzJdIC8gYlsyXVsyXTsK
KyAgICByZXN1bHRbMl1bM10gPSBhWzJdWzNdIC8gYlsyXVszXTsKKyAgICByZXN1bHRbM11bMF0g
PSBhWzNdWzBdIC8gYlszXVswXTsKKyAgICByZXN1bHRbM11bMV0gPSBhWzNdWzFdIC8gYlszXVsx
XTsKKyAgICByZXN1bHRbM11bMl0gPSBhWzNdWzJdIC8gYlszXVsyXTsKKyAgICByZXN1bHRbM11b
M10gPSBhWzNdWzNdIC8gYlszXVszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4NCBv
cGVyYXRvci8oaGFsZjR4NCBhLCBoYWxmIGIpIHsKKyAgICBoYWxmNHg0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBhWzBdWzBdIC8gYjsKKyAgICByZXN1bHRbMF1bMV0gPSBhWzBdWzFdIC8g
YjsKKyAgICByZXN1bHRbMF1bMl0gPSBhWzBdWzJdIC8gYjsKKyAgICByZXN1bHRbMF1bM10gPSBh
WzBdWzNdIC8gYjsKKyAgICByZXN1bHRbMV1bMF0gPSBhWzFdWzBdIC8gYjsKKyAgICByZXN1bHRb
MV1bMV0gPSBhWzFdWzFdIC8gYjsKKyAgICByZXN1bHRbMV1bMl0gPSBhWzFdWzJdIC8gYjsKKyAg
ICByZXN1bHRbMV1bM10gPSBhWzFdWzNdIC8gYjsKKyAgICByZXN1bHRbMl1bMF0gPSBhWzJdWzBd
IC8gYjsKKyAgICByZXN1bHRbMl1bMV0gPSBhWzJdWzFdIC8gYjsKKyAgICByZXN1bHRbMl1bMl0g
PSBhWzJdWzJdIC8gYjsKKyAgICByZXN1bHRbMl1bM10gPSBhWzJdWzNdIC8gYjsKKyAgICByZXN1
bHRbM11bMF0gPSBhWzNdWzBdIC8gYjsKKyAgICByZXN1bHRbM11bMV0gPSBhWzNdWzFdIC8gYjsK
KyAgICByZXN1bHRbM11bMl0gPSBhWzNdWzJdIC8gYjsKKyAgICByZXN1bHRbM11bM10gPSBhWzNd
WzNdIC8gYjsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4NCBvcGVyYXRvci8oaGFsZiBh
LCBoYWxmNHg0IGIpIHsKKyAgICBoYWxmNHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBh
IC8gYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhIC8gYlswXVsxXTsKKyAgICByZXN1bHRb
MF1bMl0gPSBhIC8gYlswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSBhIC8gYlswXVszXTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBhIC8gYlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSBhIC8gYlsx
XVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSBhIC8gYlsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10g
PSBhIC8gYlsxXVszXTsKKyAgICByZXN1bHRbMl1bMF0gPSBhIC8gYlsyXVswXTsKKyAgICByZXN1
bHRbMl1bMV0gPSBhIC8gYlsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gPSBhIC8gYlsyXVsyXTsK
KyAgICByZXN1bHRbMl1bM10gPSBhIC8gYlsyXVszXTsKKyAgICByZXN1bHRbM11bMF0gPSBhIC8g
YlszXVswXTsKKyAgICByZXN1bHRbM11bMV0gPSBhIC8gYlszXVsxXTsKKyAgICByZXN1bHRbM11b
Ml0gPSBhIC8gYlszXVsyXTsKKyAgICByZXN1bHRbM11bM10gPSBhIC8gYlszXVszXTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDIgb3BlcmF0b3IrKGZsb2F0MngyIGEsIGZsb2F0Mngy
IGIpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSAr
IGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSArIGJbMF1bMV07CisgICAgcmVz
dWx0WzFdWzBdID0gYVsxXVswXSArIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsx
XSArIGJbMV1bMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MngyIG9wZXJhdG9yLShm
bG9hdDJ4MiBhLCBmbG9hdDJ4MiBiKSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGFbMF1bMF0gLSBiWzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0g
LSBiWzBdWzFdOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gLSBiWzFdWzBdOworICAgIHJl
c3VsdFsxXVsxXSA9IGFbMV1bMV0gLSBiWzFdWzFdOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDJ4MiBvcGVyYXRvci0oZmxvYXQyeDIgYSkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSAtYVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSAtYVswXVsxXTsK
KyAgICByZXN1bHRbMV1bMF0gPSAtYVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSAtYVsxXVsx
XTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDIgb3BlcmF0b3IqKGZsb2F0MngyIGEs
IGZsb2F0MngyIGIpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
YVswXVswXSAqIGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAqIGJbMF1bMV07
CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAqIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFd
ID0gYVsxXVsxXSAqIGJbMV1bMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MngyIG9w
ZXJhdG9yKihmbG9hdDJ4MiBhLCBmbG9hdCBiKSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGFbMF1bMF0gKiBiOworICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0g
KiBiOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gKiBiOworICAgIHJlc3VsdFsxXVsxXSA9
IGFbMV1bMV0gKiBiOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiBvcGVyYXRvcioo
ZmxvYXQgYSwgZmxvYXQyeDIgYikgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBhICogYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhICogYlswXVsxXTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBhICogYlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSBhICogYlsx
XVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDIgb3BlcmF0b3IvKGZsb2F0Mngy
IGEsIGZsb2F0MngyIGIpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gYVswXVswXSAvIGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAvIGJbMF1b
MV07CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAvIGJbMV1bMF07CisgICAgcmVzdWx0WzFd
WzFdID0gYVsxXVsxXSAvIGJbMV1bMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0Mngy
IG9wZXJhdG9yLyhmbG9hdDJ4MiBhLCBmbG9hdCBiKSB7CisgICAgZmxvYXQyeDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLyBiOworICAgIHJlc3VsdFswXVsxXSA9IGFbMF1b
MV0gLyBiOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gLyBiOworICAgIHJlc3VsdFsxXVsx
XSA9IGFbMV1bMV0gLyBiOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiBvcGVyYXRv
ci8oZmxvYXQgYSwgZmxvYXQyeDIgYikgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBhIC8gYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhIC8gYlswXVsxXTsK
KyAgICByZXN1bHRbMV1bMF0gPSBhIC8gYlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSBhIC8g
YlsxXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDMgb3BlcmF0b3IrKGZsb2F0
MngzIGEsIGZsb2F0MngzIGIpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gYVswXVswXSArIGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSArIGJb
MF1bMV07CisgICAgcmVzdWx0WzBdWzJdID0gYVswXVsyXSArIGJbMF1bMl07CisgICAgcmVzdWx0
WzFdWzBdID0gYVsxXVswXSArIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAr
IGJbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gYVsxXVsyXSArIGJbMV1bMl07CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2Zsb2F0MngzIG9wZXJhdG9yLShmbG9hdDJ4MyBhLCBmbG9hdDJ4MyBi
KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLSBi
WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gLSBiWzBdWzFdOworICAgIHJlc3Vs
dFswXVsyXSA9IGFbMF1bMl0gLSBiWzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0g
LSBiWzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gLSBiWzFdWzFdOworICAgIHJl
c3VsdFsxXVsyXSA9IGFbMV1bMl0gLSBiWzFdWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDJ4MyBvcGVyYXRvci0oZmxvYXQyeDMgYSkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSAtYVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSAtYVswXVsxXTsK
KyAgICByZXN1bHRbMF1bMl0gPSAtYVswXVsyXTsKKyAgICByZXN1bHRbMV1bMF0gPSAtYVsxXVsw
XTsKKyAgICByZXN1bHRbMV1bMV0gPSAtYVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSAtYVsx
XVsyXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDMgb3BlcmF0b3IqKGZsb2F0Mngz
IGEsIGZsb2F0MngzIGIpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gYVswXVswXSAqIGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAqIGJbMF1b
MV07CisgICAgcmVzdWx0WzBdWzJdID0gYVswXVsyXSAqIGJbMF1bMl07CisgICAgcmVzdWx0WzFd
WzBdID0gYVsxXVswXSAqIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAqIGJb
MV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gYVsxXVsyXSAqIGJbMV1bMl07CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2Zsb2F0MngzIG9wZXJhdG9yKihmbG9hdDJ4MyBhLCBmbG9hdCBiKSB7Cisg
ICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gKiBiOworICAg
IHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gKiBiOworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0g
KiBiOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gKiBiOworICAgIHJlc3VsdFsxXVsxXSA9
IGFbMV1bMV0gKiBiOworICAgIHJlc3VsdFsxXVsyXSA9IGFbMV1bMl0gKiBiOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDJ4MyBvcGVyYXRvciooZmxvYXQgYSwgZmxvYXQyeDMgYikgewor
ICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhICogYlswXVswXTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBhICogYlswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSBhICogYlsw
XVsyXTsKKyAgICByZXN1bHRbMV1bMF0gPSBhICogYlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0g
PSBhICogYlsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSBhICogYlsxXVsyXTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorZmxvYXQyeDMgb3BlcmF0b3IvKGZsb2F0MngzIGEsIGZsb2F0MngzIGIp
IHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSAvIGJb
MF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAvIGJbMF1bMV07CisgICAgcmVzdWx0
WzBdWzJdID0gYVswXVsyXSAvIGJbMF1bMl07CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAv
IGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAvIGJbMV1bMV07CisgICAgcmVz
dWx0WzFdWzJdID0gYVsxXVsyXSAvIGJbMV1bMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zs
b2F0MngzIG9wZXJhdG9yLyhmbG9hdDJ4MyBhLCBmbG9hdCBiKSB7CisgICAgZmxvYXQyeDMgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLyBiOworICAgIHJlc3VsdFswXVsxXSA9
IGFbMF1bMV0gLyBiOworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0gLyBiOworICAgIHJlc3Vs
dFsxXVswXSA9IGFbMV1bMF0gLyBiOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gLyBiOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGFbMV1bMl0gLyBiOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDJ4MyBvcGVyYXRvci8oZmxvYXQgYSwgZmxvYXQyeDMgYikgeworICAgIGZsb2F0MngzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhIC8gYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0g
PSBhIC8gYlswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSBhIC8gYlswXVsyXTsKKyAgICByZXN1
bHRbMV1bMF0gPSBhIC8gYlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSBhIC8gYlsxXVsxXTsK
KyAgICByZXN1bHRbMV1bMl0gPSBhIC8gYlsxXVsyXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
ZmxvYXQyeDQgb3BlcmF0b3IrKGZsb2F0Mng0IGEsIGZsb2F0Mng0IGIpIHsKKyAgICBmbG9hdDJ4
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSArIGJbMF1bMF07CisgICAgcmVz
dWx0WzBdWzFdID0gYVswXVsxXSArIGJbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdID0gYVswXVsy
XSArIGJbMF1bMl07CisgICAgcmVzdWx0WzBdWzNdID0gYVswXVszXSArIGJbMF1bM107CisgICAg
cmVzdWx0WzFdWzBdID0gYVsxXVswXSArIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsx
XVsxXSArIGJbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gYVsxXVsyXSArIGJbMV1bMl07Cisg
ICAgcmVzdWx0WzFdWzNdID0gYVsxXVszXSArIGJbMV1bM107CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2Zsb2F0Mng0IG9wZXJhdG9yLShmbG9hdDJ4NCBhLCBmbG9hdDJ4NCBiKSB7CisgICAgZmxv
YXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLSBiWzBdWzBdOworICAg
IHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gLSBiWzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IGFb
MF1bMl0gLSBiWzBdWzJdOworICAgIHJlc3VsdFswXVszXSA9IGFbMF1bM10gLSBiWzBdWzNdOwor
ICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gLSBiWzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9
IGFbMV1bMV0gLSBiWzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IGFbMV1bMl0gLSBiWzFdWzJd
OworICAgIHJlc3VsdFsxXVszXSA9IGFbMV1bM10gLSBiWzFdWzNdOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitmbG9hdDJ4NCBvcGVyYXRvci0oZmxvYXQyeDQgYSkgeworICAgIGZsb2F0Mng0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAtYVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSAt
YVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSAtYVswXVsyXTsKKyAgICByZXN1bHRbMF1bM10g
PSAtYVswXVszXTsKKyAgICByZXN1bHRbMV1bMF0gPSAtYVsxXVswXTsKKyAgICByZXN1bHRbMV1b
MV0gPSAtYVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSAtYVsxXVsyXTsKKyAgICByZXN1bHRb
MV1bM10gPSAtYVsxXVszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDQgb3BlcmF0
b3IqKGZsb2F0Mng0IGEsIGZsb2F0Mng0IGIpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gYVswXVswXSAqIGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVsw
XVsxXSAqIGJbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdID0gYVswXVsyXSAqIGJbMF1bMl07Cisg
ICAgcmVzdWx0WzBdWzNdID0gYVswXVszXSAqIGJbMF1bM107CisgICAgcmVzdWx0WzFdWzBdID0g
YVsxXVswXSAqIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAqIGJbMV1bMV07
CisgICAgcmVzdWx0WzFdWzJdID0gYVsxXVsyXSAqIGJbMV1bMl07CisgICAgcmVzdWx0WzFdWzNd
ID0gYVsxXVszXSAqIGJbMV1bM107CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0Mng0IG9w
ZXJhdG9yKihmbG9hdDJ4NCBhLCBmbG9hdCBiKSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGFbMF1bMF0gKiBiOworICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0g
KiBiOworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0gKiBiOworICAgIHJlc3VsdFswXVszXSA9
IGFbMF1bM10gKiBiOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gKiBiOworICAgIHJlc3Vs
dFsxXVsxXSA9IGFbMV1bMV0gKiBiOworICAgIHJlc3VsdFsxXVsyXSA9IGFbMV1bMl0gKiBiOwor
ICAgIHJlc3VsdFsxXVszXSA9IGFbMV1bM10gKiBiOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDJ4NCBvcGVyYXRvciooZmxvYXQgYSwgZmxvYXQyeDQgYikgeworICAgIGZsb2F0Mng0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhICogYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0g
PSBhICogYlswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSBhICogYlswXVsyXTsKKyAgICByZXN1
bHRbMF1bM10gPSBhICogYlswXVszXTsKKyAgICByZXN1bHRbMV1bMF0gPSBhICogYlsxXVswXTsK
KyAgICByZXN1bHRbMV1bMV0gPSBhICogYlsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSBhICog
YlsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSBhICogYlsxXVszXTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorZmxvYXQyeDQgb3BlcmF0b3IvKGZsb2F0Mng0IGEsIGZsb2F0Mng0IGIpIHsKKyAg
ICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSAvIGJbMF1bMF07
CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAvIGJbMF1bMV07CisgICAgcmVzdWx0WzBdWzJd
ID0gYVswXVsyXSAvIGJbMF1bMl07CisgICAgcmVzdWx0WzBdWzNdID0gYVswXVszXSAvIGJbMF1b
M107CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAvIGJbMV1bMF07CisgICAgcmVzdWx0WzFd
WzFdID0gYVsxXVsxXSAvIGJbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gYVsxXVsyXSAvIGJb
MV1bMl07CisgICAgcmVzdWx0WzFdWzNdID0gYVsxXVszXSAvIGJbMV1bM107CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2Zsb2F0Mng0IG9wZXJhdG9yLyhmbG9hdDJ4NCBhLCBmbG9hdCBiKSB7Cisg
ICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLyBiOworICAg
IHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gLyBiOworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0g
LyBiOworICAgIHJlc3VsdFswXVszXSA9IGFbMF1bM10gLyBiOworICAgIHJlc3VsdFsxXVswXSA9
IGFbMV1bMF0gLyBiOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gLyBiOworICAgIHJlc3Vs
dFsxXVsyXSA9IGFbMV1bMl0gLyBiOworICAgIHJlc3VsdFsxXVszXSA9IGFbMV1bM10gLyBiOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCBvcGVyYXRvci8oZmxvYXQgYSwgZmxvYXQy
eDQgYikgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhIC8gYlsw
XVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhIC8gYlswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0g
PSBhIC8gYlswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSBhIC8gYlswXVszXTsKKyAgICByZXN1
bHRbMV1bMF0gPSBhIC8gYlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSBhIC8gYlsxXVsxXTsK
KyAgICByZXN1bHRbMV1bMl0gPSBhIC8gYlsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSBhIC8g
YlsxXVszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDIgb3BlcmF0b3IrKGZsb2F0
M3gyIGEsIGZsb2F0M3gyIGIpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gYVswXVswXSArIGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSArIGJb
MF1bMV07CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSArIGJbMV1bMF07CisgICAgcmVzdWx0
WzFdWzFdID0gYVsxXVsxXSArIGJbMV1bMV07CisgICAgcmVzdWx0WzJdWzBdID0gYVsyXVswXSAr
IGJbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdID0gYVsyXVsxXSArIGJbMl1bMV07CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gyIG9wZXJhdG9yLShmbG9hdDN4MiBhLCBmbG9hdDN4MiBi
KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLSBi
WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gLSBiWzBdWzFdOworICAgIHJlc3Vs
dFsxXVswXSA9IGFbMV1bMF0gLSBiWzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0g
LSBiWzFdWzFdOworICAgIHJlc3VsdFsyXVswXSA9IGFbMl1bMF0gLSBiWzJdWzBdOworICAgIHJl
c3VsdFsyXVsxXSA9IGFbMl1bMV0gLSBiWzJdWzFdOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDN4MiBvcGVyYXRvci0oZmxvYXQzeDIgYSkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSAtYVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSAtYVswXVsxXTsK
KyAgICByZXN1bHRbMV1bMF0gPSAtYVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSAtYVsxXVsx
XTsKKyAgICByZXN1bHRbMl1bMF0gPSAtYVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gPSAtYVsy
XVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDIgb3BlcmF0b3IqKGZsb2F0M3gy
IGEsIGZsb2F0M3gyIGIpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gYVswXVswXSAqIGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAqIGJbMF1b
MV07CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAqIGJbMV1bMF07CisgICAgcmVzdWx0WzFd
WzFdID0gYVsxXVsxXSAqIGJbMV1bMV07CisgICAgcmVzdWx0WzJdWzBdID0gYVsyXVswXSAqIGJb
Ml1bMF07CisgICAgcmVzdWx0WzJdWzFdID0gYVsyXVsxXSAqIGJbMl1bMV07CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2Zsb2F0M3gyIG9wZXJhdG9yKihmbG9hdDN4MiBhLCBmbG9hdCBiKSB7Cisg
ICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gKiBiOworICAg
IHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gKiBiOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0g
KiBiOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gKiBiOworICAgIHJlc3VsdFsyXVswXSA9
IGFbMl1bMF0gKiBiOworICAgIHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gKiBiOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDN4MiBvcGVyYXRvciooZmxvYXQgYSwgZmxvYXQzeDIgYikgewor
ICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhICogYlswXVswXTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBhICogYlswXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gPSBhICogYlsx
XVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSBhICogYlsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0g
PSBhICogYlsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gPSBhICogYlsyXVsxXTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorZmxvYXQzeDIgb3BlcmF0b3IvKGZsb2F0M3gyIGEsIGZsb2F0M3gyIGIp
IHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSAvIGJb
MF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAvIGJbMF1bMV07CisgICAgcmVzdWx0
WzFdWzBdID0gYVsxXVswXSAvIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAv
IGJbMV1bMV07CisgICAgcmVzdWx0WzJdWzBdID0gYVsyXVswXSAvIGJbMl1bMF07CisgICAgcmVz
dWx0WzJdWzFdID0gYVsyXVsxXSAvIGJbMl1bMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zs
b2F0M3gyIG9wZXJhdG9yLyhmbG9hdDN4MiBhLCBmbG9hdCBiKSB7CisgICAgZmxvYXQzeDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLyBiOworICAgIHJlc3VsdFswXVsxXSA9
IGFbMF1bMV0gLyBiOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gLyBiOworICAgIHJlc3Vs
dFsxXVsxXSA9IGFbMV1bMV0gLyBiOworICAgIHJlc3VsdFsyXVswXSA9IGFbMl1bMF0gLyBiOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gLyBiOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDN4MiBvcGVyYXRvci8oZmxvYXQgYSwgZmxvYXQzeDIgYikgeworICAgIGZsb2F0M3gyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhIC8gYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0g
PSBhIC8gYlswXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gPSBhIC8gYlsxXVswXTsKKyAgICByZXN1
bHRbMV1bMV0gPSBhIC8gYlsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSBhIC8gYlsyXVswXTsK
KyAgICByZXN1bHRbMl1bMV0gPSBhIC8gYlsyXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
ZmxvYXQzeDMgb3BlcmF0b3IrKGZsb2F0M3gzIGEsIGZsb2F0M3gzIGIpIHsKKyAgICBmbG9hdDN4
MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSArIGJbMF1bMF07CisgICAgcmVz
dWx0WzBdWzFdID0gYVswXVsxXSArIGJbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdID0gYVswXVsy
XSArIGJbMF1bMl07CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSArIGJbMV1bMF07CisgICAg
cmVzdWx0WzFdWzFdID0gYVsxXVsxXSArIGJbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gYVsx
XVsyXSArIGJbMV1bMl07CisgICAgcmVzdWx0WzJdWzBdID0gYVsyXVswXSArIGJbMl1bMF07Cisg
ICAgcmVzdWx0WzJdWzFdID0gYVsyXVsxXSArIGJbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdID0g
YVsyXVsyXSArIGJbMl1bMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gzIG9wZXJh
dG9yLShmbG9hdDN4MyBhLCBmbG9hdDN4MyBiKSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLSBiWzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IGFb
MF1bMV0gLSBiWzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0gLSBiWzBdWzJdOwor
ICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gLSBiWzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9
IGFbMV1bMV0gLSBiWzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IGFbMV1bMl0gLSBiWzFdWzJd
OworICAgIHJlc3VsdFsyXVswXSA9IGFbMl1bMF0gLSBiWzJdWzBdOworICAgIHJlc3VsdFsyXVsx
XSA9IGFbMl1bMV0gLSBiWzJdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9IGFbMl1bMl0gLSBiWzJd
WzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MyBvcGVyYXRvci0oZmxvYXQzeDMg
YSkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAtYVswXVswXTsK
KyAgICByZXN1bHRbMF1bMV0gPSAtYVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSAtYVswXVsy
XTsKKyAgICByZXN1bHRbMV1bMF0gPSAtYVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSAtYVsx
XVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSAtYVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gPSAt
YVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gPSAtYVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0g
PSAtYVsyXVsyXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDMgb3BlcmF0b3IqKGZs
b2F0M3gzIGEsIGZsb2F0M3gzIGIpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gYVswXVswXSAqIGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAq
IGJbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdID0gYVswXVsyXSAqIGJbMF1bMl07CisgICAgcmVz
dWx0WzFdWzBdID0gYVsxXVswXSAqIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsx
XSAqIGJbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gYVsxXVsyXSAqIGJbMV1bMl07CisgICAg
cmVzdWx0WzJdWzBdID0gYVsyXVswXSAqIGJbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdID0gYVsy
XVsxXSAqIGJbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdID0gYVsyXVsyXSAqIGJbMl1bMl07Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gzIG9wZXJhdG9yKihmbG9hdDN4MyBhLCBmbG9h
dCBiKSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0g
KiBiOworICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gKiBiOworICAgIHJlc3VsdFswXVsyXSA9
IGFbMF1bMl0gKiBiOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gKiBiOworICAgIHJlc3Vs
dFsxXVsxXSA9IGFbMV1bMV0gKiBiOworICAgIHJlc3VsdFsxXVsyXSA9IGFbMV1bMl0gKiBiOwor
ICAgIHJlc3VsdFsyXVswXSA9IGFbMl1bMF0gKiBiOworICAgIHJlc3VsdFsyXVsxXSA9IGFbMl1b
MV0gKiBiOworICAgIHJlc3VsdFsyXVsyXSA9IGFbMl1bMl0gKiBiOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitmbG9hdDN4MyBvcGVyYXRvciooZmxvYXQgYSwgZmxvYXQzeDMgYikgeworICAgIGZs
b2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhICogYlswXVswXTsKKyAgICByZXN1
bHRbMF1bMV0gPSBhICogYlswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSBhICogYlswXVsyXTsK
KyAgICByZXN1bHRbMV1bMF0gPSBhICogYlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSBhICog
YlsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSBhICogYlsxXVsyXTsKKyAgICByZXN1bHRbMl1b
MF0gPSBhICogYlsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gPSBhICogYlsyXVsxXTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBhICogYlsyXVsyXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQz
eDMgb3BlcmF0b3IvKGZsb2F0M3gzIGEsIGZsb2F0M3gzIGIpIHsKKyAgICBmbG9hdDN4MyByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSAvIGJbMF1bMF07CisgICAgcmVzdWx0WzBd
WzFdID0gYVswXVsxXSAvIGJbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdID0gYVswXVsyXSAvIGJb
MF1bMl07CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAvIGJbMV1bMF07CisgICAgcmVzdWx0
WzFdWzFdID0gYVsxXVsxXSAvIGJbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gYVsxXVsyXSAv
IGJbMV1bMl07CisgICAgcmVzdWx0WzJdWzBdID0gYVsyXVswXSAvIGJbMl1bMF07CisgICAgcmVz
dWx0WzJdWzFdID0gYVsyXVsxXSAvIGJbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdID0gYVsyXVsy
XSAvIGJbMl1bMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gzIG9wZXJhdG9yLyhm
bG9hdDN4MyBhLCBmbG9hdCBiKSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IGFbMF1bMF0gLyBiOworICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gLyBiOworICAg
IHJlc3VsdFswXVsyXSA9IGFbMF1bMl0gLyBiOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0g
LyBiOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gLyBiOworICAgIHJlc3VsdFsxXVsyXSA9
IGFbMV1bMl0gLyBiOworICAgIHJlc3VsdFsyXVswXSA9IGFbMl1bMF0gLyBiOworICAgIHJlc3Vs
dFsyXVsxXSA9IGFbMl1bMV0gLyBiOworICAgIHJlc3VsdFsyXVsyXSA9IGFbMl1bMl0gLyBiOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MyBvcGVyYXRvci8oZmxvYXQgYSwgZmxvYXQz
eDMgYikgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhIC8gYlsw
XVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhIC8gYlswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0g
PSBhIC8gYlswXVsyXTsKKyAgICByZXN1bHRbMV1bMF0gPSBhIC8gYlsxXVswXTsKKyAgICByZXN1
bHRbMV1bMV0gPSBhIC8gYlsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSBhIC8gYlsxXVsyXTsK
KyAgICByZXN1bHRbMl1bMF0gPSBhIC8gYlsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gPSBhIC8g
YlsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gPSBhIC8gYlsyXVsyXTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorZmxvYXQzeDQgb3BlcmF0b3IrKGZsb2F0M3g0IGEsIGZsb2F0M3g0IGIpIHsKKyAg
ICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSArIGJbMF1bMF07
CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSArIGJbMF1bMV07CisgICAgcmVzdWx0WzBdWzJd
ID0gYVswXVsyXSArIGJbMF1bMl07CisgICAgcmVzdWx0WzBdWzNdID0gYVswXVszXSArIGJbMF1b
M107CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSArIGJbMV1bMF07CisgICAgcmVzdWx0WzFd
WzFdID0gYVsxXVsxXSArIGJbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gYVsxXVsyXSArIGJb
MV1bMl07CisgICAgcmVzdWx0WzFdWzNdID0gYVsxXVszXSArIGJbMV1bM107CisgICAgcmVzdWx0
WzJdWzBdID0gYVsyXVswXSArIGJbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdID0gYVsyXVsxXSAr
IGJbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdID0gYVsyXVsyXSArIGJbMl1bMl07CisgICAgcmVz
dWx0WzJdWzNdID0gYVsyXVszXSArIGJbMl1bM107CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zs
b2F0M3g0IG9wZXJhdG9yLShmbG9hdDN4NCBhLCBmbG9hdDN4NCBiKSB7CisgICAgZmxvYXQzeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLSBiWzBdWzBdOworICAgIHJlc3Vs
dFswXVsxXSA9IGFbMF1bMV0gLSBiWzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0g
LSBiWzBdWzJdOworICAgIHJlc3VsdFswXVszXSA9IGFbMF1bM10gLSBiWzBdWzNdOworICAgIHJl
c3VsdFsxXVswXSA9IGFbMV1bMF0gLSBiWzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1b
MV0gLSBiWzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IGFbMV1bMl0gLSBiWzFdWzJdOworICAg
IHJlc3VsdFsxXVszXSA9IGFbMV1bM10gLSBiWzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9IGFb
Ml1bMF0gLSBiWzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gLSBiWzJdWzFdOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGFbMl1bMl0gLSBiWzJdWzJdOworICAgIHJlc3VsdFsyXVszXSA9
IGFbMl1bM10gLSBiWzJdWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4NCBvcGVy
YXRvci0oZmxvYXQzeDQgYSkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSAtYVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSAtYVswXVsxXTsKKyAgICByZXN1bHRb
MF1bMl0gPSAtYVswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSAtYVswXVszXTsKKyAgICByZXN1
bHRbMV1bMF0gPSAtYVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSAtYVsxXVsxXTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSAtYVsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSAtYVsxXVszXTsKKyAg
ICByZXN1bHRbMl1bMF0gPSAtYVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gPSAtYVsyXVsxXTsK
KyAgICByZXN1bHRbMl1bMl0gPSAtYVsyXVsyXTsKKyAgICByZXN1bHRbMl1bM10gPSAtYVsyXVsz
XTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDQgb3BlcmF0b3IqKGZsb2F0M3g0IGEs
IGZsb2F0M3g0IGIpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
YVswXVswXSAqIGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAqIGJbMF1bMV07
CisgICAgcmVzdWx0WzBdWzJdID0gYVswXVsyXSAqIGJbMF1bMl07CisgICAgcmVzdWx0WzBdWzNd
ID0gYVswXVszXSAqIGJbMF1bM107CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAqIGJbMV1b
MF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAqIGJbMV1bMV07CisgICAgcmVzdWx0WzFd
WzJdID0gYVsxXVsyXSAqIGJbMV1bMl07CisgICAgcmVzdWx0WzFdWzNdID0gYVsxXVszXSAqIGJb
MV1bM107CisgICAgcmVzdWx0WzJdWzBdID0gYVsyXVswXSAqIGJbMl1bMF07CisgICAgcmVzdWx0
WzJdWzFdID0gYVsyXVsxXSAqIGJbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdID0gYVsyXVsyXSAq
IGJbMl1bMl07CisgICAgcmVzdWx0WzJdWzNdID0gYVsyXVszXSAqIGJbMl1bM107CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3g0IG9wZXJhdG9yKihmbG9hdDN4NCBhLCBmbG9hdCBiKSB7
CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gKiBiOwor
ICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gKiBiOworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1b
Ml0gKiBiOworICAgIHJlc3VsdFswXVszXSA9IGFbMF1bM10gKiBiOworICAgIHJlc3VsdFsxXVsw
XSA9IGFbMV1bMF0gKiBiOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gKiBiOworICAgIHJl
c3VsdFsxXVsyXSA9IGFbMV1bMl0gKiBiOworICAgIHJlc3VsdFsxXVszXSA9IGFbMV1bM10gKiBi
OworICAgIHJlc3VsdFsyXVswXSA9IGFbMl1bMF0gKiBiOworICAgIHJlc3VsdFsyXVsxXSA9IGFb
Ml1bMV0gKiBiOworICAgIHJlc3VsdFsyXVsyXSA9IGFbMl1bMl0gKiBiOworICAgIHJlc3VsdFsy
XVszXSA9IGFbMl1bM10gKiBiOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4NCBvcGVy
YXRvciooZmxvYXQgYSwgZmxvYXQzeDQgYikgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBhICogYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhICogYlswXVsx
XTsKKyAgICByZXN1bHRbMF1bMl0gPSBhICogYlswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSBh
ICogYlswXVszXTsKKyAgICByZXN1bHRbMV1bMF0gPSBhICogYlsxXVswXTsKKyAgICByZXN1bHRb
MV1bMV0gPSBhICogYlsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSBhICogYlsxXVsyXTsKKyAg
ICByZXN1bHRbMV1bM10gPSBhICogYlsxXVszXTsKKyAgICByZXN1bHRbMl1bMF0gPSBhICogYlsy
XVswXTsKKyAgICByZXN1bHRbMl1bMV0gPSBhICogYlsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0g
PSBhICogYlsyXVsyXTsKKyAgICByZXN1bHRbMl1bM10gPSBhICogYlsyXVszXTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorZmxvYXQzeDQgb3BlcmF0b3IvKGZsb2F0M3g0IGEsIGZsb2F0M3g0IGIp
IHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSAvIGJb
MF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAvIGJbMF1bMV07CisgICAgcmVzdWx0
WzBdWzJdID0gYVswXVsyXSAvIGJbMF1bMl07CisgICAgcmVzdWx0WzBdWzNdID0gYVswXVszXSAv
IGJbMF1bM107CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAvIGJbMV1bMF07CisgICAgcmVz
dWx0WzFdWzFdID0gYVsxXVsxXSAvIGJbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gYVsxXVsy
XSAvIGJbMV1bMl07CisgICAgcmVzdWx0WzFdWzNdID0gYVsxXVszXSAvIGJbMV1bM107CisgICAg
cmVzdWx0WzJdWzBdID0gYVsyXVswXSAvIGJbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdID0gYVsy
XVsxXSAvIGJbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdID0gYVsyXVsyXSAvIGJbMl1bMl07Cisg
ICAgcmVzdWx0WzJdWzNdID0gYVsyXVszXSAvIGJbMl1bM107CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2Zsb2F0M3g0IG9wZXJhdG9yLyhmbG9hdDN4NCBhLCBmbG9hdCBiKSB7CisgICAgZmxvYXQz
eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLyBiOworICAgIHJlc3VsdFsw
XVsxXSA9IGFbMF1bMV0gLyBiOworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0gLyBiOworICAg
IHJlc3VsdFswXVszXSA9IGFbMF1bM10gLyBiOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0g
LyBiOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gLyBiOworICAgIHJlc3VsdFsxXVsyXSA9
IGFbMV1bMl0gLyBiOworICAgIHJlc3VsdFsxXVszXSA9IGFbMV1bM10gLyBiOworICAgIHJlc3Vs
dFsyXVswXSA9IGFbMl1bMF0gLyBiOworICAgIHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gLyBiOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGFbMl1bMl0gLyBiOworICAgIHJlc3VsdFsyXVszXSA9IGFbMl1b
M10gLyBiOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4NCBvcGVyYXRvci8oZmxvYXQg
YSwgZmxvYXQzeDQgYikgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSBhIC8gYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhIC8gYlswXVsxXTsKKyAgICByZXN1
bHRbMF1bMl0gPSBhIC8gYlswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSBhIC8gYlswXVszXTsK
KyAgICByZXN1bHRbMV1bMF0gPSBhIC8gYlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSBhIC8g
YlsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSBhIC8gYlsxXVsyXTsKKyAgICByZXN1bHRbMV1b
M10gPSBhIC8gYlsxXVszXTsKKyAgICByZXN1bHRbMl1bMF0gPSBhIC8gYlsyXVswXTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBhIC8gYlsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gPSBhIC8gYlsyXVsy
XTsKKyAgICByZXN1bHRbMl1bM10gPSBhIC8gYlsyXVszXTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorZmxvYXQ0eDIgb3BlcmF0b3IrKGZsb2F0NHgyIGEsIGZsb2F0NHgyIGIpIHsKKyAgICBmbG9h
dDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSArIGJbMF1bMF07CisgICAg
cmVzdWx0WzBdWzFdID0gYVswXVsxXSArIGJbMF1bMV07CisgICAgcmVzdWx0WzFdWzBdID0gYVsx
XVswXSArIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSArIGJbMV1bMV07Cisg
ICAgcmVzdWx0WzJdWzBdID0gYVsyXVswXSArIGJbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdID0g
YVsyXVsxXSArIGJbMl1bMV07CisgICAgcmVzdWx0WzNdWzBdID0gYVszXVswXSArIGJbM11bMF07
CisgICAgcmVzdWx0WzNdWzFdID0gYVszXVsxXSArIGJbM11bMV07CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2Zsb2F0NHgyIG9wZXJhdG9yLShmbG9hdDR4MiBhLCBmbG9hdDR4MiBiKSB7CisgICAg
ZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLSBiWzBdWzBdOwor
ICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gLSBiWzBdWzFdOworICAgIHJlc3VsdFsxXVswXSA9
IGFbMV1bMF0gLSBiWzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gLSBiWzFdWzFd
OworICAgIHJlc3VsdFsyXVswXSA9IGFbMl1bMF0gLSBiWzJdWzBdOworICAgIHJlc3VsdFsyXVsx
XSA9IGFbMl1bMV0gLSBiWzJdWzFdOworICAgIHJlc3VsdFszXVswXSA9IGFbM11bMF0gLSBiWzNd
WzBdOworICAgIHJlc3VsdFszXVsxXSA9IGFbM11bMV0gLSBiWzNdWzFdOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDR4MiBvcGVyYXRvci0oZmxvYXQ0eDIgYSkgeworICAgIGZsb2F0NHgy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAtYVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0g
PSAtYVswXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gPSAtYVsxXVswXTsKKyAgICByZXN1bHRbMV1b
MV0gPSAtYVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSAtYVsyXVswXTsKKyAgICByZXN1bHRb
Ml1bMV0gPSAtYVsyXVsxXTsKKyAgICByZXN1bHRbM11bMF0gPSAtYVszXVswXTsKKyAgICByZXN1
bHRbM11bMV0gPSAtYVszXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDIgb3Bl
cmF0b3IqKGZsb2F0NHgyIGEsIGZsb2F0NHgyIGIpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSAqIGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0g
YVswXVsxXSAqIGJbMF1bMV07CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAqIGJbMV1bMF07
CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAqIGJbMV1bMV07CisgICAgcmVzdWx0WzJdWzBd
ID0gYVsyXVswXSAqIGJbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdID0gYVsyXVsxXSAqIGJbMl1b
MV07CisgICAgcmVzdWx0WzNdWzBdID0gYVszXVswXSAqIGJbM11bMF07CisgICAgcmVzdWx0WzNd
WzFdID0gYVszXVsxXSAqIGJbM11bMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHgy
IG9wZXJhdG9yKihmbG9hdDR4MiBhLCBmbG9hdCBiKSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gKiBiOworICAgIHJlc3VsdFswXVsxXSA9IGFbMF1b
MV0gKiBiOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gKiBiOworICAgIHJlc3VsdFsxXVsx
XSA9IGFbMV1bMV0gKiBiOworICAgIHJlc3VsdFsyXVswXSA9IGFbMl1bMF0gKiBiOworICAgIHJl
c3VsdFsyXVsxXSA9IGFbMl1bMV0gKiBiOworICAgIHJlc3VsdFszXVswXSA9IGFbM11bMF0gKiBi
OworICAgIHJlc3VsdFszXVsxXSA9IGFbM11bMV0gKiBiOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDR4MiBvcGVyYXRvciooZmxvYXQgYSwgZmxvYXQ0eDIgYikgeworICAgIGZsb2F0NHgy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhICogYlswXVswXTsKKyAgICByZXN1bHRbMF1b
MV0gPSBhICogYlswXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gPSBhICogYlsxXVswXTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBhICogYlsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSBhICogYlsyXVsw
XTsKKyAgICByZXN1bHRbMl1bMV0gPSBhICogYlsyXVsxXTsKKyAgICByZXN1bHRbM11bMF0gPSBh
ICogYlszXVswXTsKKyAgICByZXN1bHRbM11bMV0gPSBhICogYlszXVsxXTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorZmxvYXQ0eDIgb3BlcmF0b3IvKGZsb2F0NHgyIGEsIGZsb2F0NHgyIGIpIHsK
KyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSAvIGJbMF1b
MF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAvIGJbMF1bMV07CisgICAgcmVzdWx0WzFd
WzBdID0gYVsxXVswXSAvIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAvIGJb
MV1bMV07CisgICAgcmVzdWx0WzJdWzBdID0gYVsyXVswXSAvIGJbMl1bMF07CisgICAgcmVzdWx0
WzJdWzFdID0gYVsyXVsxXSAvIGJbMl1bMV07CisgICAgcmVzdWx0WzNdWzBdID0gYVszXVswXSAv
IGJbM11bMF07CisgICAgcmVzdWx0WzNdWzFdID0gYVszXVsxXSAvIGJbM11bMV07CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHgyIG9wZXJhdG9yLyhmbG9hdDR4MiBhLCBmbG9hdCBiKSB7
CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLyBiOwor
ICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gLyBiOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1b
MF0gLyBiOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gLyBiOworICAgIHJlc3VsdFsyXVsw
XSA9IGFbMl1bMF0gLyBiOworICAgIHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gLyBiOworICAgIHJl
c3VsdFszXVswXSA9IGFbM11bMF0gLyBiOworICAgIHJlc3VsdFszXVsxXSA9IGFbM11bMV0gLyBi
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MiBvcGVyYXRvci8oZmxvYXQgYSwgZmxv
YXQ0eDIgYikgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhIC8g
YlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhIC8gYlswXVsxXTsKKyAgICByZXN1bHRbMV1b
MF0gPSBhIC8gYlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSBhIC8gYlsxXVsxXTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBhIC8gYlsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gPSBhIC8gYlsyXVsx
XTsKKyAgICByZXN1bHRbM11bMF0gPSBhIC8gYlszXVswXTsKKyAgICByZXN1bHRbM11bMV0gPSBh
IC8gYlszXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDMgb3BlcmF0b3IrKGZs
b2F0NHgzIGEsIGZsb2F0NHgzIGIpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gYVswXVswXSArIGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAr
IGJbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdID0gYVswXVsyXSArIGJbMF1bMl07CisgICAgcmVz
dWx0WzFdWzBdID0gYVsxXVswXSArIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsx
XSArIGJbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gYVsxXVsyXSArIGJbMV1bMl07CisgICAg
cmVzdWx0WzJdWzBdID0gYVsyXVswXSArIGJbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdID0gYVsy
XVsxXSArIGJbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdID0gYVsyXVsyXSArIGJbMl1bMl07Cisg
ICAgcmVzdWx0WzNdWzBdID0gYVszXVswXSArIGJbM11bMF07CisgICAgcmVzdWx0WzNdWzFdID0g
YVszXVsxXSArIGJbM11bMV07CisgICAgcmVzdWx0WzNdWzJdID0gYVszXVsyXSArIGJbM11bMl07
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHgzIG9wZXJhdG9yLShmbG9hdDR4MyBhLCBm
bG9hdDR4MyBiKSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFb
MF1bMF0gLSBiWzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gLSBiWzBdWzFdOwor
ICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0gLSBiWzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9
IGFbMV1bMF0gLSBiWzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gLSBiWzFdWzFd
OworICAgIHJlc3VsdFsxXVsyXSA9IGFbMV1bMl0gLSBiWzFdWzJdOworICAgIHJlc3VsdFsyXVsw
XSA9IGFbMl1bMF0gLSBiWzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gLSBiWzJd
WzFdOworICAgIHJlc3VsdFsyXVsyXSA9IGFbMl1bMl0gLSBiWzJdWzJdOworICAgIHJlc3VsdFsz
XVswXSA9IGFbM11bMF0gLSBiWzNdWzBdOworICAgIHJlc3VsdFszXVsxXSA9IGFbM11bMV0gLSBi
WzNdWzFdOworICAgIHJlc3VsdFszXVsyXSA9IGFbM11bMl0gLSBiWzNdWzJdOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDR4MyBvcGVyYXRvci0oZmxvYXQ0eDMgYSkgeworICAgIGZsb2F0
NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAtYVswXVswXTsKKyAgICByZXN1bHRbMF1b
MV0gPSAtYVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSAtYVswXVsyXTsKKyAgICByZXN1bHRb
MV1bMF0gPSAtYVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSAtYVsxXVsxXTsKKyAgICByZXN1
bHRbMV1bMl0gPSAtYVsxXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gPSAtYVsyXVswXTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSAtYVsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gPSAtYVsyXVsyXTsKKyAg
ICByZXN1bHRbM11bMF0gPSAtYVszXVswXTsKKyAgICByZXN1bHRbM11bMV0gPSAtYVszXVsxXTsK
KyAgICByZXN1bHRbM11bMl0gPSAtYVszXVsyXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxv
YXQ0eDMgb3BlcmF0b3IqKGZsb2F0NHgzIGEsIGZsb2F0NHgzIGIpIHsKKyAgICBmbG9hdDR4MyBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVswXVswXSAqIGJbMF1bMF07CisgICAgcmVzdWx0
WzBdWzFdID0gYVswXVsxXSAqIGJbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdID0gYVswXVsyXSAq
IGJbMF1bMl07CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAqIGJbMV1bMF07CisgICAgcmVz
dWx0WzFdWzFdID0gYVsxXVsxXSAqIGJbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gYVsxXVsy
XSAqIGJbMV1bMl07CisgICAgcmVzdWx0WzJdWzBdID0gYVsyXVswXSAqIGJbMl1bMF07CisgICAg
cmVzdWx0WzJdWzFdID0gYVsyXVsxXSAqIGJbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdID0gYVsy
XVsyXSAqIGJbMl1bMl07CisgICAgcmVzdWx0WzNdWzBdID0gYVszXVswXSAqIGJbM11bMF07Cisg
ICAgcmVzdWx0WzNdWzFdID0gYVszXVsxXSAqIGJbM11bMV07CisgICAgcmVzdWx0WzNdWzJdID0g
YVszXVsyXSAqIGJbM11bMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHgzIG9wZXJh
dG9yKihmbG9hdDR4MyBhLCBmbG9hdCBiKSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IGFbMF1bMF0gKiBiOworICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gKiBi
OworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0gKiBiOworICAgIHJlc3VsdFsxXVswXSA9IGFb
MV1bMF0gKiBiOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gKiBiOworICAgIHJlc3VsdFsx
XVsyXSA9IGFbMV1bMl0gKiBiOworICAgIHJlc3VsdFsyXVswXSA9IGFbMl1bMF0gKiBiOworICAg
IHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gKiBiOworICAgIHJlc3VsdFsyXVsyXSA9IGFbMl1bMl0g
KiBiOworICAgIHJlc3VsdFszXVswXSA9IGFbM11bMF0gKiBiOworICAgIHJlc3VsdFszXVsxXSA9
IGFbM11bMV0gKiBiOworICAgIHJlc3VsdFszXVsyXSA9IGFbM11bMl0gKiBiOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDR4MyBvcGVyYXRvciooZmxvYXQgYSwgZmxvYXQ0eDMgYikgewor
ICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhICogYlswXVswXTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBhICogYlswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSBhICogYlsw
XVsyXTsKKyAgICByZXN1bHRbMV1bMF0gPSBhICogYlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0g
PSBhICogYlsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSBhICogYlsxXVsyXTsKKyAgICByZXN1
bHRbMl1bMF0gPSBhICogYlsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gPSBhICogYlsyXVsxXTsK
KyAgICByZXN1bHRbMl1bMl0gPSBhICogYlsyXVsyXTsKKyAgICByZXN1bHRbM11bMF0gPSBhICog
YlszXVswXTsKKyAgICByZXN1bHRbM11bMV0gPSBhICogYlszXVsxXTsKKyAgICByZXN1bHRbM11b
Ml0gPSBhICogYlszXVsyXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDMgb3BlcmF0
b3IvKGZsb2F0NHgzIGEsIGZsb2F0NHgzIGIpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gYVswXVswXSAvIGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVsw
XVsxXSAvIGJbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdID0gYVswXVsyXSAvIGJbMF1bMl07Cisg
ICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAvIGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0g
YVsxXVsxXSAvIGJbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gYVsxXVsyXSAvIGJbMV1bMl07
CisgICAgcmVzdWx0WzJdWzBdID0gYVsyXVswXSAvIGJbMl1bMF07CisgICAgcmVzdWx0WzJdWzFd
ID0gYVsyXVsxXSAvIGJbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdID0gYVsyXVsyXSAvIGJbMl1b
Ml07CisgICAgcmVzdWx0WzNdWzBdID0gYVszXVswXSAvIGJbM11bMF07CisgICAgcmVzdWx0WzNd
WzFdID0gYVszXVsxXSAvIGJbM11bMV07CisgICAgcmVzdWx0WzNdWzJdID0gYVszXVsyXSAvIGJb
M11bMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHgzIG9wZXJhdG9yLyhmbG9hdDR4
MyBhLCBmbG9hdCBiKSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGFbMF1bMF0gLyBiOworICAgIHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gLyBiOworICAgIHJlc3Vs
dFswXVsyXSA9IGFbMF1bMl0gLyBiOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gLyBiOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gLyBiOworICAgIHJlc3VsdFsxXVsyXSA9IGFbMV1b
Ml0gLyBiOworICAgIHJlc3VsdFsyXVswXSA9IGFbMl1bMF0gLyBiOworICAgIHJlc3VsdFsyXVsx
XSA9IGFbMl1bMV0gLyBiOworICAgIHJlc3VsdFsyXVsyXSA9IGFbMl1bMl0gLyBiOworICAgIHJl
c3VsdFszXVswXSA9IGFbM11bMF0gLyBiOworICAgIHJlc3VsdFszXVsxXSA9IGFbM11bMV0gLyBi
OworICAgIHJlc3VsdFszXVsyXSA9IGFbM11bMl0gLyBiOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDR4MyBvcGVyYXRvci8oZmxvYXQgYSwgZmxvYXQ0eDMgYikgeworICAgIGZsb2F0NHgz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhIC8gYlswXVswXTsKKyAgICByZXN1bHRbMF1b
MV0gPSBhIC8gYlswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSBhIC8gYlswXVsyXTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBhIC8gYlsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSBhIC8gYlsxXVsx
XTsKKyAgICByZXN1bHRbMV1bMl0gPSBhIC8gYlsxXVsyXTsKKyAgICByZXN1bHRbMl1bMF0gPSBh
IC8gYlsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gPSBhIC8gYlsyXVsxXTsKKyAgICByZXN1bHRb
Ml1bMl0gPSBhIC8gYlsyXVsyXTsKKyAgICByZXN1bHRbM11bMF0gPSBhIC8gYlszXVswXTsKKyAg
ICByZXN1bHRbM11bMV0gPSBhIC8gYlszXVsxXTsKKyAgICByZXN1bHRbM11bMl0gPSBhIC8gYlsz
XVsyXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDQgb3BlcmF0b3IrKGZsb2F0NHg0
IGEsIGZsb2F0NHg0IGIpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gYVswXVswXSArIGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSArIGJbMF1b
MV07CisgICAgcmVzdWx0WzBdWzJdID0gYVswXVsyXSArIGJbMF1bMl07CisgICAgcmVzdWx0WzBd
WzNdID0gYVswXVszXSArIGJbMF1bM107CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSArIGJb
MV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSArIGJbMV1bMV07CisgICAgcmVzdWx0
WzFdWzJdID0gYVsxXVsyXSArIGJbMV1bMl07CisgICAgcmVzdWx0WzFdWzNdID0gYVsxXVszXSAr
IGJbMV1bM107CisgICAgcmVzdWx0WzJdWzBdID0gYVsyXVswXSArIGJbMl1bMF07CisgICAgcmVz
dWx0WzJdWzFdID0gYVsyXVsxXSArIGJbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdID0gYVsyXVsy
XSArIGJbMl1bMl07CisgICAgcmVzdWx0WzJdWzNdID0gYVsyXVszXSArIGJbMl1bM107CisgICAg
cmVzdWx0WzNdWzBdID0gYVszXVswXSArIGJbM11bMF07CisgICAgcmVzdWx0WzNdWzFdID0gYVsz
XVsxXSArIGJbM11bMV07CisgICAgcmVzdWx0WzNdWzJdID0gYVszXVsyXSArIGJbM11bMl07Cisg
ICAgcmVzdWx0WzNdWzNdID0gYVszXVszXSArIGJbM11bM107CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2Zsb2F0NHg0IG9wZXJhdG9yLShmbG9hdDR4NCBhLCBmbG9hdDR4NCBiKSB7CisgICAgZmxv
YXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLSBiWzBdWzBdOworICAg
IHJlc3VsdFswXVsxXSA9IGFbMF1bMV0gLSBiWzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IGFb
MF1bMl0gLSBiWzBdWzJdOworICAgIHJlc3VsdFswXVszXSA9IGFbMF1bM10gLSBiWzBdWzNdOwor
ICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gLSBiWzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9
IGFbMV1bMV0gLSBiWzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IGFbMV1bMl0gLSBiWzFdWzJd
OworICAgIHJlc3VsdFsxXVszXSA9IGFbMV1bM10gLSBiWzFdWzNdOworICAgIHJlc3VsdFsyXVsw
XSA9IGFbMl1bMF0gLSBiWzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gLSBiWzJd
WzFdOworICAgIHJlc3VsdFsyXVsyXSA9IGFbMl1bMl0gLSBiWzJdWzJdOworICAgIHJlc3VsdFsy
XVszXSA9IGFbMl1bM10gLSBiWzJdWzNdOworICAgIHJlc3VsdFszXVswXSA9IGFbM11bMF0gLSBi
WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSA9IGFbM11bMV0gLSBiWzNdWzFdOworICAgIHJlc3Vs
dFszXVsyXSA9IGFbM11bMl0gLSBiWzNdWzJdOworICAgIHJlc3VsdFszXVszXSA9IGFbM11bM10g
LSBiWzNdWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4NCBvcGVyYXRvci0oZmxv
YXQ0eDQgYSkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSAtYVsw
XVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSAtYVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSAt
YVswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSAtYVswXVszXTsKKyAgICByZXN1bHRbMV1bMF0g
PSAtYVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSAtYVsxXVsxXTsKKyAgICByZXN1bHRbMV1b
Ml0gPSAtYVsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSAtYVsxXVszXTsKKyAgICByZXN1bHRb
Ml1bMF0gPSAtYVsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gPSAtYVsyXVsxXTsKKyAgICByZXN1
bHRbMl1bMl0gPSAtYVsyXVsyXTsKKyAgICByZXN1bHRbMl1bM10gPSAtYVsyXVszXTsKKyAgICBy
ZXN1bHRbM11bMF0gPSAtYVszXVswXTsKKyAgICByZXN1bHRbM11bMV0gPSAtYVszXVsxXTsKKyAg
ICByZXN1bHRbM11bMl0gPSAtYVszXVsyXTsKKyAgICByZXN1bHRbM11bM10gPSAtYVszXVszXTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDQgb3BlcmF0b3IqKGZsb2F0NHg0IGEsIGZs
b2F0NHg0IGIpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYVsw
XVswXSAqIGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAqIGJbMF1bMV07Cisg
ICAgcmVzdWx0WzBdWzJdID0gYVswXVsyXSAqIGJbMF1bMl07CisgICAgcmVzdWx0WzBdWzNdID0g
YVswXVszXSAqIGJbMF1bM107CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAqIGJbMV1bMF07
CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAqIGJbMV1bMV07CisgICAgcmVzdWx0WzFdWzJd
ID0gYVsxXVsyXSAqIGJbMV1bMl07CisgICAgcmVzdWx0WzFdWzNdID0gYVsxXVszXSAqIGJbMV1b
M107CisgICAgcmVzdWx0WzJdWzBdID0gYVsyXVswXSAqIGJbMl1bMF07CisgICAgcmVzdWx0WzJd
WzFdID0gYVsyXVsxXSAqIGJbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdID0gYVsyXVsyXSAqIGJb
Ml1bMl07CisgICAgcmVzdWx0WzJdWzNdID0gYVsyXVszXSAqIGJbMl1bM107CisgICAgcmVzdWx0
WzNdWzBdID0gYVszXVswXSAqIGJbM11bMF07CisgICAgcmVzdWx0WzNdWzFdID0gYVszXVsxXSAq
IGJbM11bMV07CisgICAgcmVzdWx0WzNdWzJdID0gYVszXVsyXSAqIGJbM11bMl07CisgICAgcmVz
dWx0WzNdWzNdID0gYVszXVszXSAqIGJbM11bM107CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zs
b2F0NHg0IG9wZXJhdG9yKihmbG9hdDR4NCBhLCBmbG9hdCBiKSB7CisgICAgZmxvYXQ0eDQgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gKiBiOworICAgIHJlc3VsdFswXVsxXSA9
IGFbMF1bMV0gKiBiOworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0gKiBiOworICAgIHJlc3Vs
dFswXVszXSA9IGFbMF1bM10gKiBiOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1bMF0gKiBiOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gKiBiOworICAgIHJlc3VsdFsxXVsyXSA9IGFbMV1b
Ml0gKiBiOworICAgIHJlc3VsdFsxXVszXSA9IGFbMV1bM10gKiBiOworICAgIHJlc3VsdFsyXVsw
XSA9IGFbMl1bMF0gKiBiOworICAgIHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gKiBiOworICAgIHJl
c3VsdFsyXVsyXSA9IGFbMl1bMl0gKiBiOworICAgIHJlc3VsdFsyXVszXSA9IGFbMl1bM10gKiBi
OworICAgIHJlc3VsdFszXVswXSA9IGFbM11bMF0gKiBiOworICAgIHJlc3VsdFszXVsxXSA9IGFb
M11bMV0gKiBiOworICAgIHJlc3VsdFszXVsyXSA9IGFbM11bMl0gKiBiOworICAgIHJlc3VsdFsz
XVszXSA9IGFbM11bM10gKiBiOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4NCBvcGVy
YXRvciooZmxvYXQgYSwgZmxvYXQ0eDQgYikgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBhICogYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBhICogYlswXVsx
XTsKKyAgICByZXN1bHRbMF1bMl0gPSBhICogYlswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gPSBh
ICogYlswXVszXTsKKyAgICByZXN1bHRbMV1bMF0gPSBhICogYlsxXVswXTsKKyAgICByZXN1bHRb
MV1bMV0gPSBhICogYlsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSBhICogYlsxXVsyXTsKKyAg
ICByZXN1bHRbMV1bM10gPSBhICogYlsxXVszXTsKKyAgICByZXN1bHRbMl1bMF0gPSBhICogYlsy
XVswXTsKKyAgICByZXN1bHRbMl1bMV0gPSBhICogYlsyXVsxXTsKKyAgICByZXN1bHRbMl1bMl0g
PSBhICogYlsyXVsyXTsKKyAgICByZXN1bHRbMl1bM10gPSBhICogYlsyXVszXTsKKyAgICByZXN1
bHRbM11bMF0gPSBhICogYlszXVswXTsKKyAgICByZXN1bHRbM11bMV0gPSBhICogYlszXVsxXTsK
KyAgICByZXN1bHRbM11bMl0gPSBhICogYlszXVsyXTsKKyAgICByZXN1bHRbM11bM10gPSBhICog
YlszXVszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDQgb3BlcmF0b3IvKGZsb2F0
NHg0IGEsIGZsb2F0NHg0IGIpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gYVswXVswXSAvIGJbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0gYVswXVsxXSAvIGJb
MF1bMV07CisgICAgcmVzdWx0WzBdWzJdID0gYVswXVsyXSAvIGJbMF1bMl07CisgICAgcmVzdWx0
WzBdWzNdID0gYVswXVszXSAvIGJbMF1bM107CisgICAgcmVzdWx0WzFdWzBdID0gYVsxXVswXSAv
IGJbMV1bMF07CisgICAgcmVzdWx0WzFdWzFdID0gYVsxXVsxXSAvIGJbMV1bMV07CisgICAgcmVz
dWx0WzFdWzJdID0gYVsxXVsyXSAvIGJbMV1bMl07CisgICAgcmVzdWx0WzFdWzNdID0gYVsxXVsz
XSAvIGJbMV1bM107CisgICAgcmVzdWx0WzJdWzBdID0gYVsyXVswXSAvIGJbMl1bMF07CisgICAg
cmVzdWx0WzJdWzFdID0gYVsyXVsxXSAvIGJbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdID0gYVsy
XVsyXSAvIGJbMl1bMl07CisgICAgcmVzdWx0WzJdWzNdID0gYVsyXVszXSAvIGJbMl1bM107Cisg
ICAgcmVzdWx0WzNdWzBdID0gYVszXVswXSAvIGJbM11bMF07CisgICAgcmVzdWx0WzNdWzFdID0g
YVszXVsxXSAvIGJbM11bMV07CisgICAgcmVzdWx0WzNdWzJdID0gYVszXVsyXSAvIGJbM11bMl07
CisgICAgcmVzdWx0WzNdWzNdID0gYVszXVszXSAvIGJbM11bM107CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2Zsb2F0NHg0IG9wZXJhdG9yLyhmbG9hdDR4NCBhLCBmbG9hdCBiKSB7CisgICAgZmxv
YXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFbMF1bMF0gLyBiOworICAgIHJlc3Vs
dFswXVsxXSA9IGFbMF1bMV0gLyBiOworICAgIHJlc3VsdFswXVsyXSA9IGFbMF1bMl0gLyBiOwor
ICAgIHJlc3VsdFswXVszXSA9IGFbMF1bM10gLyBiOworICAgIHJlc3VsdFsxXVswXSA9IGFbMV1b
MF0gLyBiOworICAgIHJlc3VsdFsxXVsxXSA9IGFbMV1bMV0gLyBiOworICAgIHJlc3VsdFsxXVsy
XSA9IGFbMV1bMl0gLyBiOworICAgIHJlc3VsdFsxXVszXSA9IGFbMV1bM10gLyBiOworICAgIHJl
c3VsdFsyXVswXSA9IGFbMl1bMF0gLyBiOworICAgIHJlc3VsdFsyXVsxXSA9IGFbMl1bMV0gLyBi
OworICAgIHJlc3VsdFsyXVsyXSA9IGFbMl1bMl0gLyBiOworICAgIHJlc3VsdFsyXVszXSA9IGFb
Ml1bM10gLyBiOworICAgIHJlc3VsdFszXVswXSA9IGFbM11bMF0gLyBiOworICAgIHJlc3VsdFsz
XVsxXSA9IGFbM11bMV0gLyBiOworICAgIHJlc3VsdFszXVsyXSA9IGFbM11bMl0gLyBiOworICAg
IHJlc3VsdFszXVszXSA9IGFbM11bM10gLyBiOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDR4NCBvcGVyYXRvci8oZmxvYXQgYSwgZmxvYXQ0eDQgYikgeworICAgIGZsb2F0NHg0IHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBhIC8gYlswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSBh
IC8gYlswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gPSBhIC8gYlswXVsyXTsKKyAgICByZXN1bHRb
MF1bM10gPSBhIC8gYlswXVszXTsKKyAgICByZXN1bHRbMV1bMF0gPSBhIC8gYlsxXVswXTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBhIC8gYlsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSBhIC8gYlsx
XVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSBhIC8gYlsxXVszXTsKKyAgICByZXN1bHRbMl1bMF0g
PSBhIC8gYlsyXVswXTsKKyAgICByZXN1bHRbMl1bMV0gPSBhIC8gYlsyXVsxXTsKKyAgICByZXN1
bHRbMl1bMl0gPSBhIC8gYlsyXVsyXTsKKyAgICByZXN1bHRbMl1bM10gPSBhIC8gYlsyXVszXTsK
KyAgICByZXN1bHRbM11bMF0gPSBhIC8gYlszXVswXTsKKyAgICByZXN1bHRbM11bMV0gPSBhIC8g
YlszXVsxXTsKKyAgICByZXN1bHRbM11bMl0gPSBhIC8gYlszXVsyXTsKKyAgICByZXN1bHRbM11b
M10gPSBhIC8gYlszXVszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgYm9vbDIo
Ym9vbCB4LCBib29sIHkpIHsKKyAgICBib29sMiByZXN1bHQ7CisgICAgcmVzdWx0LnggPSB4Owor
ICAgIHJlc3VsdC55ID0geTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgYm9vbDMo
Ym9vbCB4LCBib29sIHksIGJvb2wgeikgeworICAgIGJvb2wzIHJlc3VsdDsKKyAgICByZXN1bHQu
eCA9IHg7CisgICAgcmVzdWx0LnkgPSB5OworICAgIHJlc3VsdC56ID0gejsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorb3BlcmF0b3IgYm9vbDMoYm9vbDIgeCwgYm9vbCB5KSB7CisgICAgYm9vbDMg
cmVzdWx0OworICAgIHJlc3VsdC54ID0geC54OworICAgIHJlc3VsdC55ID0geC55OworICAgIHJl
c3VsdC56ID0geTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgYm9vbDMoYm9vbCB4
LCBib29sMiB5KSB7CisgICAgYm9vbDMgcmVzdWx0OworICAgIHJlc3VsdC54ID0geDsKKyAgICBy
ZXN1bHQueSA9IHkueDsKKyAgICByZXN1bHQueiA9IHkueTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorb3BlcmF0b3IgYm9vbDQoYm9vbCB4LCBib29sIHksIGJvb2wgeiwgYm9vbCB3KSB7CisgICAg
Ym9vbDQgcmVzdWx0OworICAgIHJlc3VsdC54ID0geDsKKyAgICByZXN1bHQueSA9IHk7CisgICAg
cmVzdWx0LnogPSB6OworICAgIHJlc3VsdC53ID0gdzsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
b3BlcmF0b3IgYm9vbDQoYm9vbDIgeCwgYm9vbCB5LCBib29sIHopIHsKKyAgICBib29sNCByZXN1
bHQ7CisgICAgcmVzdWx0LnggPSB4Lng7CisgICAgcmVzdWx0LnkgPSB4Lnk7CisgICAgcmVzdWx0
LnogPSB5OworICAgIHJlc3VsdC53ID0gejsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0
b3IgYm9vbDQoYm9vbCB4LCBib29sMiB5LCBib29sIHopIHsKKyAgICBib29sNCByZXN1bHQ7Cisg
ICAgcmVzdWx0LnggPSB4OworICAgIHJlc3VsdC55ID0geS54OworICAgIHJlc3VsdC56ID0geS55
OworICAgIHJlc3VsdC53ID0gejsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgYm9v
bDQoYm9vbCB4LCBib29sIHksIGJvb2wyIHopIHsKKyAgICBib29sNCByZXN1bHQ7CisgICAgcmVz
dWx0LnggPSB4OworICAgIHJlc3VsdC55ID0geTsKKyAgICByZXN1bHQueiA9IHoueDsKKyAgICBy
ZXN1bHQudyA9IHoueTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgYm9vbDQoYm9v
bDIgeCwgYm9vbDIgeSkgeworICAgIGJvb2w0IHJlc3VsdDsKKyAgICByZXN1bHQueCA9IHgueDsK
KyAgICByZXN1bHQueSA9IHgueTsKKyAgICByZXN1bHQueiA9IHkueDsKKyAgICByZXN1bHQudyA9
IHkueTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgYm9vbDQoYm9vbDMgeCwgYm9v
bCB5KSB7CisgICAgYm9vbDQgcmVzdWx0OworICAgIHJlc3VsdC54ID0geC54OworICAgIHJlc3Vs
dC55ID0geC55OworICAgIHJlc3VsdC56ID0geC56OworICAgIHJlc3VsdC53ID0geTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgYm9vbDQoYm9vbCB4LCBib29sMyB5KSB7CisgICAg
Ym9vbDQgcmVzdWx0OworICAgIHJlc3VsdC54ID0geDsKKyAgICByZXN1bHQueSA9IHkueDsKKyAg
ICByZXN1bHQueiA9IHkueTsKKyAgICByZXN1bHQudyA9IHkuejsKKyAgICByZXR1cm4gcmVzdWx0
OworfQordWludCBvcGVyYXRvci5sZW5ndGgoYm9vbDIpIHsKKyAgICByZXR1cm4gMjsKK30KK3Vp
bnQgb3BlcmF0b3IubGVuZ3RoKGJvb2wzKSB7CisgICAgcmV0dXJuIDM7Cit9Cit1aW50IG9wZXJh
dG9yLmxlbmd0aChib29sNCkgeworICAgIHJldHVybiA0OworfQorb3BlcmF0b3IgdWNoYXIyKHVj
aGFyIHgsIHVjaGFyIHkpIHsKKyAgICB1Y2hhcjIgcmVzdWx0OworICAgIHJlc3VsdC54ID0geDsK
KyAgICByZXN1bHQueSA9IHk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK29wZXJhdG9yIHVjaGFy
Myh1Y2hhciB4LCB1Y2hhciB5LCB1Y2hhciB6KSB7CisgICAgdWNoYXIzIHJlc3VsdDsKKyAgICBy
ZXN1bHQueCA9IHg7CisgICAgcmVzdWx0LnkgPSB5OworICAgIHJlc3VsdC56ID0gejsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgdWNoYXIzKHVjaGFyMiB4LCB1Y2hhciB5KSB7Cisg
ICAgdWNoYXIzIHJlc3VsdDsKKyAgICByZXN1bHQueCA9IHgueDsKKyAgICByZXN1bHQueSA9IHgu
eTsKKyAgICByZXN1bHQueiA9IHk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK29wZXJhdG9yIHVj
aGFyMyh1Y2hhciB4LCB1Y2hhcjIgeSkgeworICAgIHVjaGFyMyByZXN1bHQ7CisgICAgcmVzdWx0
LnggPSB4OworICAgIHJlc3VsdC55ID0geS54OworICAgIHJlc3VsdC56ID0geS55OworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitvcGVyYXRvciB1Y2hhcjQodWNoYXIgeCwgdWNoYXIgeSwgdWNoYXIg
eiwgdWNoYXIgdykgeworICAgIHVjaGFyNCByZXN1bHQ7CisgICAgcmVzdWx0LnggPSB4OworICAg
IHJlc3VsdC55ID0geTsKKyAgICByZXN1bHQueiA9IHo7CisgICAgcmVzdWx0LncgPSB3OworICAg
IHJldHVybiByZXN1bHQ7Cit9CitvcGVyYXRvciB1Y2hhcjQodWNoYXIyIHgsIHVjaGFyIHksIHVj
aGFyIHopIHsKKyAgICB1Y2hhcjQgcmVzdWx0OworICAgIHJlc3VsdC54ID0geC54OworICAgIHJl
c3VsdC55ID0geC55OworICAgIHJlc3VsdC56ID0geTsKKyAgICByZXN1bHQudyA9IHo7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK29wZXJhdG9yIHVjaGFyNCh1Y2hhciB4LCB1Y2hhcjIgeSwgdWNo
YXIgeikgeworICAgIHVjaGFyNCByZXN1bHQ7CisgICAgcmVzdWx0LnggPSB4OworICAgIHJlc3Vs
dC55ID0geS54OworICAgIHJlc3VsdC56ID0geS55OworICAgIHJlc3VsdC53ID0gejsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgdWNoYXI0KHVjaGFyIHgsIHVjaGFyIHksIHVjaGFy
MiB6KSB7CisgICAgdWNoYXI0IHJlc3VsdDsKKyAgICByZXN1bHQueCA9IHg7CisgICAgcmVzdWx0
LnkgPSB5OworICAgIHJlc3VsdC56ID0gei54OworICAgIHJlc3VsdC53ID0gei55OworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitvcGVyYXRvciB1Y2hhcjQodWNoYXIyIHgsIHVjaGFyMiB5KSB7Cisg
ICAgdWNoYXI0IHJlc3VsdDsKKyAgICByZXN1bHQueCA9IHgueDsKKyAgICByZXN1bHQueSA9IHgu
eTsKKyAgICByZXN1bHQueiA9IHkueDsKKyAgICByZXN1bHQudyA9IHkueTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorb3BlcmF0b3IgdWNoYXI0KHVjaGFyMyB4LCB1Y2hhciB5KSB7CisgICAgdWNo
YXI0IHJlc3VsdDsKKyAgICByZXN1bHQueCA9IHgueDsKKyAgICByZXN1bHQueSA9IHgueTsKKyAg
ICByZXN1bHQueiA9IHguejsKKyAgICByZXN1bHQudyA9IHk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK29wZXJhdG9yIHVjaGFyNCh1Y2hhciB4LCB1Y2hhcjMgeSkgeworICAgIHVjaGFyNCByZXN1
bHQ7CisgICAgcmVzdWx0LnggPSB4OworICAgIHJlc3VsdC55ID0geS54OworICAgIHJlc3VsdC56
ID0geS55OworICAgIHJlc3VsdC53ID0geS56OworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50
IG9wZXJhdG9yLmxlbmd0aCh1Y2hhcjIpIHsKKyAgICByZXR1cm4gMjsKK30KK3VpbnQgb3BlcmF0
b3IubGVuZ3RoKHVjaGFyMykgeworICAgIHJldHVybiAzOworfQordWludCBvcGVyYXRvci5sZW5n
dGgodWNoYXI0KSB7CisgICAgcmV0dXJuIDQ7Cit9CitvcGVyYXRvciB1c2hvcnQyKHVzaG9ydCB4
LCB1c2hvcnQgeSkgeworICAgIHVzaG9ydDIgcmVzdWx0OworICAgIHJlc3VsdC54ID0geDsKKyAg
ICByZXN1bHQueSA9IHk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK29wZXJhdG9yIHVzaG9ydDMo
dXNob3J0IHgsIHVzaG9ydCB5LCB1c2hvcnQgeikgeworICAgIHVzaG9ydDMgcmVzdWx0OworICAg
IHJlc3VsdC54ID0geDsKKyAgICByZXN1bHQueSA9IHk7CisgICAgcmVzdWx0LnogPSB6OworICAg
IHJldHVybiByZXN1bHQ7Cit9CitvcGVyYXRvciB1c2hvcnQzKHVzaG9ydDIgeCwgdXNob3J0IHkp
IHsKKyAgICB1c2hvcnQzIHJlc3VsdDsKKyAgICByZXN1bHQueCA9IHgueDsKKyAgICByZXN1bHQu
eSA9IHgueTsKKyAgICByZXN1bHQueiA9IHk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK29wZXJh
dG9yIHVzaG9ydDModXNob3J0IHgsIHVzaG9ydDIgeSkgeworICAgIHVzaG9ydDMgcmVzdWx0Owor
ICAgIHJlc3VsdC54ID0geDsKKyAgICByZXN1bHQueSA9IHkueDsKKyAgICByZXN1bHQueiA9IHku
eTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgdXNob3J0NCh1c2hvcnQgeCwgdXNo
b3J0IHksIHVzaG9ydCB6LCB1c2hvcnQgdykgeworICAgIHVzaG9ydDQgcmVzdWx0OworICAgIHJl
c3VsdC54ID0geDsKKyAgICByZXN1bHQueSA9IHk7CisgICAgcmVzdWx0LnogPSB6OworICAgIHJl
c3VsdC53ID0gdzsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgdXNob3J0NCh1c2hv
cnQyIHgsIHVzaG9ydCB5LCB1c2hvcnQgeikgeworICAgIHVzaG9ydDQgcmVzdWx0OworICAgIHJl
c3VsdC54ID0geC54OworICAgIHJlc3VsdC55ID0geC55OworICAgIHJlc3VsdC56ID0geTsKKyAg
ICByZXN1bHQudyA9IHo7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK29wZXJhdG9yIHVzaG9ydDQo
dXNob3J0IHgsIHVzaG9ydDIgeSwgdXNob3J0IHopIHsKKyAgICB1c2hvcnQ0IHJlc3VsdDsKKyAg
ICByZXN1bHQueCA9IHg7CisgICAgcmVzdWx0LnkgPSB5Lng7CisgICAgcmVzdWx0LnogPSB5Lnk7
CisgICAgcmVzdWx0LncgPSB6OworICAgIHJldHVybiByZXN1bHQ7Cit9CitvcGVyYXRvciB1c2hv
cnQ0KHVzaG9ydCB4LCB1c2hvcnQgeSwgdXNob3J0MiB6KSB7CisgICAgdXNob3J0NCByZXN1bHQ7
CisgICAgcmVzdWx0LnggPSB4OworICAgIHJlc3VsdC55ID0geTsKKyAgICByZXN1bHQueiA9IHou
eDsKKyAgICByZXN1bHQudyA9IHoueTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3Ig
dXNob3J0NCh1c2hvcnQyIHgsIHVzaG9ydDIgeSkgeworICAgIHVzaG9ydDQgcmVzdWx0OworICAg
IHJlc3VsdC54ID0geC54OworICAgIHJlc3VsdC55ID0geC55OworICAgIHJlc3VsdC56ID0geS54
OworICAgIHJlc3VsdC53ID0geS55OworICAgIHJldHVybiByZXN1bHQ7Cit9CitvcGVyYXRvciB1
c2hvcnQ0KHVzaG9ydDMgeCwgdXNob3J0IHkpIHsKKyAgICB1c2hvcnQ0IHJlc3VsdDsKKyAgICBy
ZXN1bHQueCA9IHgueDsKKyAgICByZXN1bHQueSA9IHgueTsKKyAgICByZXN1bHQueiA9IHguejsK
KyAgICByZXN1bHQudyA9IHk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK29wZXJhdG9yIHVzaG9y
dDQodXNob3J0IHgsIHVzaG9ydDMgeSkgeworICAgIHVzaG9ydDQgcmVzdWx0OworICAgIHJlc3Vs
dC54ID0geDsKKyAgICByZXN1bHQueSA9IHkueDsKKyAgICByZXN1bHQueiA9IHkueTsKKyAgICBy
ZXN1bHQudyA9IHkuejsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludCBvcGVyYXRvci5sZW5n
dGgodXNob3J0MikgeworICAgIHJldHVybiAyOworfQordWludCBvcGVyYXRvci5sZW5ndGgodXNo
b3J0MykgeworICAgIHJldHVybiAzOworfQordWludCBvcGVyYXRvci5sZW5ndGgodXNob3J0NCkg
eworICAgIHJldHVybiA0OworfQorb3BlcmF0b3IgdWludDIodWludCB4LCB1aW50IHkpIHsKKyAg
ICB1aW50MiByZXN1bHQ7CisgICAgcmVzdWx0LnggPSB4OworICAgIHJlc3VsdC55ID0geTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgdWludDModWludCB4LCB1aW50IHksIHVpbnQg
eikgeworICAgIHVpbnQzIHJlc3VsdDsKKyAgICByZXN1bHQueCA9IHg7CisgICAgcmVzdWx0Lnkg
PSB5OworICAgIHJlc3VsdC56ID0gejsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3Ig
dWludDModWludDIgeCwgdWludCB5KSB7CisgICAgdWludDMgcmVzdWx0OworICAgIHJlc3VsdC54
ID0geC54OworICAgIHJlc3VsdC55ID0geC55OworICAgIHJlc3VsdC56ID0geTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorb3BlcmF0b3IgdWludDModWludCB4LCB1aW50MiB5KSB7CisgICAgdWlu
dDMgcmVzdWx0OworICAgIHJlc3VsdC54ID0geDsKKyAgICByZXN1bHQueSA9IHkueDsKKyAgICBy
ZXN1bHQueiA9IHkueTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgdWludDQodWlu
dCB4LCB1aW50IHksIHVpbnQgeiwgdWludCB3KSB7CisgICAgdWludDQgcmVzdWx0OworICAgIHJl
c3VsdC54ID0geDsKKyAgICByZXN1bHQueSA9IHk7CisgICAgcmVzdWx0LnogPSB6OworICAgIHJl
c3VsdC53ID0gdzsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgdWludDQodWludDIg
eCwgdWludCB5LCB1aW50IHopIHsKKyAgICB1aW50NCByZXN1bHQ7CisgICAgcmVzdWx0LnggPSB4
Lng7CisgICAgcmVzdWx0LnkgPSB4Lnk7CisgICAgcmVzdWx0LnogPSB5OworICAgIHJlc3VsdC53
ID0gejsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgdWludDQodWludCB4LCB1aW50
MiB5LCB1aW50IHopIHsKKyAgICB1aW50NCByZXN1bHQ7CisgICAgcmVzdWx0LnggPSB4OworICAg
IHJlc3VsdC55ID0geS54OworICAgIHJlc3VsdC56ID0geS55OworICAgIHJlc3VsdC53ID0gejsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgdWludDQodWludCB4LCB1aW50IHksIHVp
bnQyIHopIHsKKyAgICB1aW50NCByZXN1bHQ7CisgICAgcmVzdWx0LnggPSB4OworICAgIHJlc3Vs
dC55ID0geTsKKyAgICByZXN1bHQueiA9IHoueDsKKyAgICByZXN1bHQudyA9IHoueTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgdWludDQodWludDIgeCwgdWludDIgeSkgeworICAg
IHVpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHQueCA9IHgueDsKKyAgICByZXN1bHQueSA9IHgueTsK
KyAgICByZXN1bHQueiA9IHkueDsKKyAgICByZXN1bHQudyA9IHkueTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorb3BlcmF0b3IgdWludDQodWludDMgeCwgdWludCB5KSB7CisgICAgdWludDQgcmVz
dWx0OworICAgIHJlc3VsdC54ID0geC54OworICAgIHJlc3VsdC55ID0geC55OworICAgIHJlc3Vs
dC56ID0geC56OworICAgIHJlc3VsdC53ID0geTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3Bl
cmF0b3IgdWludDQodWludCB4LCB1aW50MyB5KSB7CisgICAgdWludDQgcmVzdWx0OworICAgIHJl
c3VsdC54ID0geDsKKyAgICByZXN1bHQueSA9IHkueDsKKyAgICByZXN1bHQueiA9IHkueTsKKyAg
ICByZXN1bHQudyA9IHkuejsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludCBvcGVyYXRvci5s
ZW5ndGgodWludDIpIHsKKyAgICByZXR1cm4gMjsKK30KK3VpbnQgb3BlcmF0b3IubGVuZ3RoKHVp
bnQzKSB7CisgICAgcmV0dXJuIDM7Cit9Cit1aW50IG9wZXJhdG9yLmxlbmd0aCh1aW50NCkgewor
ICAgIHJldHVybiA0OworfQorb3BlcmF0b3IgY2hhcjIoY2hhciB4LCBjaGFyIHkpIHsKKyAgICBj
aGFyMiByZXN1bHQ7CisgICAgcmVzdWx0LnggPSB4OworICAgIHJlc3VsdC55ID0geTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgY2hhcjMoY2hhciB4LCBjaGFyIHksIGNoYXIgeikg
eworICAgIGNoYXIzIHJlc3VsdDsKKyAgICByZXN1bHQueCA9IHg7CisgICAgcmVzdWx0LnkgPSB5
OworICAgIHJlc3VsdC56ID0gejsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgY2hh
cjMoY2hhcjIgeCwgY2hhciB5KSB7CisgICAgY2hhcjMgcmVzdWx0OworICAgIHJlc3VsdC54ID0g
eC54OworICAgIHJlc3VsdC55ID0geC55OworICAgIHJlc3VsdC56ID0geTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorb3BlcmF0b3IgY2hhcjMoY2hhciB4LCBjaGFyMiB5KSB7CisgICAgY2hhcjMg
cmVzdWx0OworICAgIHJlc3VsdC54ID0geDsKKyAgICByZXN1bHQueSA9IHkueDsKKyAgICByZXN1
bHQueiA9IHkueTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgY2hhcjQoY2hhciB4
LCBjaGFyIHksIGNoYXIgeiwgY2hhciB3KSB7CisgICAgY2hhcjQgcmVzdWx0OworICAgIHJlc3Vs
dC54ID0geDsKKyAgICByZXN1bHQueSA9IHk7CisgICAgcmVzdWx0LnogPSB6OworICAgIHJlc3Vs
dC53ID0gdzsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgY2hhcjQoY2hhcjIgeCwg
Y2hhciB5LCBjaGFyIHopIHsKKyAgICBjaGFyNCByZXN1bHQ7CisgICAgcmVzdWx0LnggPSB4Lng7
CisgICAgcmVzdWx0LnkgPSB4Lnk7CisgICAgcmVzdWx0LnogPSB5OworICAgIHJlc3VsdC53ID0g
ejsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgY2hhcjQoY2hhciB4LCBjaGFyMiB5
LCBjaGFyIHopIHsKKyAgICBjaGFyNCByZXN1bHQ7CisgICAgcmVzdWx0LnggPSB4OworICAgIHJl
c3VsdC55ID0geS54OworICAgIHJlc3VsdC56ID0geS55OworICAgIHJlc3VsdC53ID0gejsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgY2hhcjQoY2hhciB4LCBjaGFyIHksIGNoYXIy
IHopIHsKKyAgICBjaGFyNCByZXN1bHQ7CisgICAgcmVzdWx0LnggPSB4OworICAgIHJlc3VsdC55
ID0geTsKKyAgICByZXN1bHQueiA9IHoueDsKKyAgICByZXN1bHQudyA9IHoueTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorb3BlcmF0b3IgY2hhcjQoY2hhcjIgeCwgY2hhcjIgeSkgeworICAgIGNo
YXI0IHJlc3VsdDsKKyAgICByZXN1bHQueCA9IHgueDsKKyAgICByZXN1bHQueSA9IHgueTsKKyAg
ICByZXN1bHQueiA9IHkueDsKKyAgICByZXN1bHQudyA9IHkueTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorb3BlcmF0b3IgY2hhcjQoY2hhcjMgeCwgY2hhciB5KSB7CisgICAgY2hhcjQgcmVzdWx0
OworICAgIHJlc3VsdC54ID0geC54OworICAgIHJlc3VsdC55ID0geC55OworICAgIHJlc3VsdC56
ID0geC56OworICAgIHJlc3VsdC53ID0geTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0
b3IgY2hhcjQoY2hhciB4LCBjaGFyMyB5KSB7CisgICAgY2hhcjQgcmVzdWx0OworICAgIHJlc3Vs
dC54ID0geDsKKyAgICByZXN1bHQueSA9IHkueDsKKyAgICByZXN1bHQueiA9IHkueTsKKyAgICBy
ZXN1bHQudyA9IHkuejsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludCBvcGVyYXRvci5sZW5n
dGgoY2hhcjIpIHsKKyAgICByZXR1cm4gMjsKK30KK3VpbnQgb3BlcmF0b3IubGVuZ3RoKGNoYXIz
KSB7CisgICAgcmV0dXJuIDM7Cit9Cit1aW50IG9wZXJhdG9yLmxlbmd0aChjaGFyNCkgeworICAg
IHJldHVybiA0OworfQorb3BlcmF0b3Igc2hvcnQyKHNob3J0IHgsIHNob3J0IHkpIHsKKyAgICBz
aG9ydDIgcmVzdWx0OworICAgIHJlc3VsdC54ID0geDsKKyAgICByZXN1bHQueSA9IHk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK29wZXJhdG9yIHNob3J0MyhzaG9ydCB4LCBzaG9ydCB5LCBzaG9y
dCB6KSB7CisgICAgc2hvcnQzIHJlc3VsdDsKKyAgICByZXN1bHQueCA9IHg7CisgICAgcmVzdWx0
LnkgPSB5OworICAgIHJlc3VsdC56ID0gejsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0
b3Igc2hvcnQzKHNob3J0MiB4LCBzaG9ydCB5KSB7CisgICAgc2hvcnQzIHJlc3VsdDsKKyAgICBy
ZXN1bHQueCA9IHgueDsKKyAgICByZXN1bHQueSA9IHgueTsKKyAgICByZXN1bHQueiA9IHk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK29wZXJhdG9yIHNob3J0MyhzaG9ydCB4LCBzaG9ydDIgeSkg
eworICAgIHNob3J0MyByZXN1bHQ7CisgICAgcmVzdWx0LnggPSB4OworICAgIHJlc3VsdC55ID0g
eS54OworICAgIHJlc3VsdC56ID0geS55OworICAgIHJldHVybiByZXN1bHQ7Cit9CitvcGVyYXRv
ciBzaG9ydDQoc2hvcnQgeCwgc2hvcnQgeSwgc2hvcnQgeiwgc2hvcnQgdykgeworICAgIHNob3J0
NCByZXN1bHQ7CisgICAgcmVzdWx0LnggPSB4OworICAgIHJlc3VsdC55ID0geTsKKyAgICByZXN1
bHQueiA9IHo7CisgICAgcmVzdWx0LncgPSB3OworICAgIHJldHVybiByZXN1bHQ7Cit9CitvcGVy
YXRvciBzaG9ydDQoc2hvcnQyIHgsIHNob3J0IHksIHNob3J0IHopIHsKKyAgICBzaG9ydDQgcmVz
dWx0OworICAgIHJlc3VsdC54ID0geC54OworICAgIHJlc3VsdC55ID0geC55OworICAgIHJlc3Vs
dC56ID0geTsKKyAgICByZXN1bHQudyA9IHo7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK29wZXJh
dG9yIHNob3J0NChzaG9ydCB4LCBzaG9ydDIgeSwgc2hvcnQgeikgeworICAgIHNob3J0NCByZXN1
bHQ7CisgICAgcmVzdWx0LnggPSB4OworICAgIHJlc3VsdC55ID0geS54OworICAgIHJlc3VsdC56
ID0geS55OworICAgIHJlc3VsdC53ID0gejsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0
b3Igc2hvcnQ0KHNob3J0IHgsIHNob3J0IHksIHNob3J0MiB6KSB7CisgICAgc2hvcnQ0IHJlc3Vs
dDsKKyAgICByZXN1bHQueCA9IHg7CisgICAgcmVzdWx0LnkgPSB5OworICAgIHJlc3VsdC56ID0g
ei54OworICAgIHJlc3VsdC53ID0gei55OworICAgIHJldHVybiByZXN1bHQ7Cit9CitvcGVyYXRv
ciBzaG9ydDQoc2hvcnQyIHgsIHNob3J0MiB5KSB7CisgICAgc2hvcnQ0IHJlc3VsdDsKKyAgICBy
ZXN1bHQueCA9IHgueDsKKyAgICByZXN1bHQueSA9IHgueTsKKyAgICByZXN1bHQueiA9IHkueDsK
KyAgICByZXN1bHQudyA9IHkueTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3Igc2hv
cnQ0KHNob3J0MyB4LCBzaG9ydCB5KSB7CisgICAgc2hvcnQ0IHJlc3VsdDsKKyAgICByZXN1bHQu
eCA9IHgueDsKKyAgICByZXN1bHQueSA9IHgueTsKKyAgICByZXN1bHQueiA9IHguejsKKyAgICBy
ZXN1bHQudyA9IHk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK29wZXJhdG9yIHNob3J0NChzaG9y
dCB4LCBzaG9ydDMgeSkgeworICAgIHNob3J0NCByZXN1bHQ7CisgICAgcmVzdWx0LnggPSB4Owor
ICAgIHJlc3VsdC55ID0geS54OworICAgIHJlc3VsdC56ID0geS55OworICAgIHJlc3VsdC53ID0g
eS56OworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50IG9wZXJhdG9yLmxlbmd0aChzaG9ydDIp
IHsKKyAgICByZXR1cm4gMjsKK30KK3VpbnQgb3BlcmF0b3IubGVuZ3RoKHNob3J0MykgeworICAg
IHJldHVybiAzOworfQordWludCBvcGVyYXRvci5sZW5ndGgoc2hvcnQ0KSB7CisgICAgcmV0dXJu
IDQ7Cit9CitvcGVyYXRvciBpbnQyKGludCB4LCBpbnQgeSkgeworICAgIGludDIgcmVzdWx0Owor
ICAgIHJlc3VsdC54ID0geDsKKyAgICByZXN1bHQueSA9IHk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK29wZXJhdG9yIGludDMoaW50IHgsIGludCB5LCBpbnQgeikgeworICAgIGludDMgcmVzdWx0
OworICAgIHJlc3VsdC54ID0geDsKKyAgICByZXN1bHQueSA9IHk7CisgICAgcmVzdWx0LnogPSB6
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitvcGVyYXRvciBpbnQzKGludDIgeCwgaW50IHkpIHsK
KyAgICBpbnQzIHJlc3VsdDsKKyAgICByZXN1bHQueCA9IHgueDsKKyAgICByZXN1bHQueSA9IHgu
eTsKKyAgICByZXN1bHQueiA9IHk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK29wZXJhdG9yIGlu
dDMoaW50IHgsIGludDIgeSkgeworICAgIGludDMgcmVzdWx0OworICAgIHJlc3VsdC54ID0geDsK
KyAgICByZXN1bHQueSA9IHkueDsKKyAgICByZXN1bHQueiA9IHkueTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorb3BlcmF0b3IgaW50NChpbnQgeCwgaW50IHksIGludCB6LCBpbnQgdykgeworICAg
IGludDQgcmVzdWx0OworICAgIHJlc3VsdC54ID0geDsKKyAgICByZXN1bHQueSA9IHk7CisgICAg
cmVzdWx0LnogPSB6OworICAgIHJlc3VsdC53ID0gdzsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
b3BlcmF0b3IgaW50NChpbnQyIHgsIGludCB5LCBpbnQgeikgeworICAgIGludDQgcmVzdWx0Owor
ICAgIHJlc3VsdC54ID0geC54OworICAgIHJlc3VsdC55ID0geC55OworICAgIHJlc3VsdC56ID0g
eTsKKyAgICByZXN1bHQudyA9IHo7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK29wZXJhdG9yIGlu
dDQoaW50IHgsIGludDIgeSwgaW50IHopIHsKKyAgICBpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHQu
eCA9IHg7CisgICAgcmVzdWx0LnkgPSB5Lng7CisgICAgcmVzdWx0LnogPSB5Lnk7CisgICAgcmVz
dWx0LncgPSB6OworICAgIHJldHVybiByZXN1bHQ7Cit9CitvcGVyYXRvciBpbnQ0KGludCB4LCBp
bnQgeSwgaW50MiB6KSB7CisgICAgaW50NCByZXN1bHQ7CisgICAgcmVzdWx0LnggPSB4OworICAg
IHJlc3VsdC55ID0geTsKKyAgICByZXN1bHQueiA9IHoueDsKKyAgICByZXN1bHQudyA9IHoueTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgaW50NChpbnQyIHgsIGludDIgeSkgewor
ICAgIGludDQgcmVzdWx0OworICAgIHJlc3VsdC54ID0geC54OworICAgIHJlc3VsdC55ID0geC55
OworICAgIHJlc3VsdC56ID0geS54OworICAgIHJlc3VsdC53ID0geS55OworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitvcGVyYXRvciBpbnQ0KGludDMgeCwgaW50IHkpIHsKKyAgICBpbnQ0IHJlc3Vs
dDsKKyAgICByZXN1bHQueCA9IHgueDsKKyAgICByZXN1bHQueSA9IHgueTsKKyAgICByZXN1bHQu
eiA9IHguejsKKyAgICByZXN1bHQudyA9IHk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK29wZXJh
dG9yIGludDQoaW50IHgsIGludDMgeSkgeworICAgIGludDQgcmVzdWx0OworICAgIHJlc3VsdC54
ID0geDsKKyAgICByZXN1bHQueSA9IHkueDsKKyAgICByZXN1bHQueiA9IHkueTsKKyAgICByZXN1
bHQudyA9IHkuejsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludCBvcGVyYXRvci5sZW5ndGgo
aW50MikgeworICAgIHJldHVybiAyOworfQordWludCBvcGVyYXRvci5sZW5ndGgoaW50Mykgewor
ICAgIHJldHVybiAzOworfQordWludCBvcGVyYXRvci5sZW5ndGgoaW50NCkgeworICAgIHJldHVy
biA0OworfQorb3BlcmF0b3IgaGFsZjIoaGFsZiB4LCBoYWxmIHkpIHsKKyAgICBoYWxmMiByZXN1
bHQ7CisgICAgcmVzdWx0LnggPSB4OworICAgIHJlc3VsdC55ID0geTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorb3BlcmF0b3IgaGFsZjMoaGFsZiB4LCBoYWxmIHksIGhhbGYgeikgeworICAgIGhh
bGYzIHJlc3VsdDsKKyAgICByZXN1bHQueCA9IHg7CisgICAgcmVzdWx0LnkgPSB5OworICAgIHJl
c3VsdC56ID0gejsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgaGFsZjMoaGFsZjIg
eCwgaGFsZiB5KSB7CisgICAgaGFsZjMgcmVzdWx0OworICAgIHJlc3VsdC54ID0geC54OworICAg
IHJlc3VsdC55ID0geC55OworICAgIHJlc3VsdC56ID0geTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorb3BlcmF0b3IgaGFsZjMoaGFsZiB4LCBoYWxmMiB5KSB7CisgICAgaGFsZjMgcmVzdWx0Owor
ICAgIHJlc3VsdC54ID0geDsKKyAgICByZXN1bHQueSA9IHkueDsKKyAgICByZXN1bHQueiA9IHku
eTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgaGFsZjQoaGFsZiB4LCBoYWxmIHks
IGhhbGYgeiwgaGFsZiB3KSB7CisgICAgaGFsZjQgcmVzdWx0OworICAgIHJlc3VsdC54ID0geDsK
KyAgICByZXN1bHQueSA9IHk7CisgICAgcmVzdWx0LnogPSB6OworICAgIHJlc3VsdC53ID0gdzsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgaGFsZjQoaGFsZjIgeCwgaGFsZiB5LCBo
YWxmIHopIHsKKyAgICBoYWxmNCByZXN1bHQ7CisgICAgcmVzdWx0LnggPSB4Lng7CisgICAgcmVz
dWx0LnkgPSB4Lnk7CisgICAgcmVzdWx0LnogPSB5OworICAgIHJlc3VsdC53ID0gejsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgaGFsZjQoaGFsZiB4LCBoYWxmMiB5LCBoYWxmIHop
IHsKKyAgICBoYWxmNCByZXN1bHQ7CisgICAgcmVzdWx0LnggPSB4OworICAgIHJlc3VsdC55ID0g
eS54OworICAgIHJlc3VsdC56ID0geS55OworICAgIHJlc3VsdC53ID0gejsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorb3BlcmF0b3IgaGFsZjQoaGFsZiB4LCBoYWxmIHksIGhhbGYyIHopIHsKKyAg
ICBoYWxmNCByZXN1bHQ7CisgICAgcmVzdWx0LnggPSB4OworICAgIHJlc3VsdC55ID0geTsKKyAg
ICByZXN1bHQueiA9IHoueDsKKyAgICByZXN1bHQudyA9IHoueTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorb3BlcmF0b3IgaGFsZjQoaGFsZjIgeCwgaGFsZjIgeSkgeworICAgIGhhbGY0IHJlc3Vs
dDsKKyAgICByZXN1bHQueCA9IHgueDsKKyAgICByZXN1bHQueSA9IHgueTsKKyAgICByZXN1bHQu
eiA9IHkueDsKKyAgICByZXN1bHQudyA9IHkueTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3Bl
cmF0b3IgaGFsZjQoaGFsZjMgeCwgaGFsZiB5KSB7CisgICAgaGFsZjQgcmVzdWx0OworICAgIHJl
c3VsdC54ID0geC54OworICAgIHJlc3VsdC55ID0geC55OworICAgIHJlc3VsdC56ID0geC56Owor
ICAgIHJlc3VsdC53ID0geTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgaGFsZjQo
aGFsZiB4LCBoYWxmMyB5KSB7CisgICAgaGFsZjQgcmVzdWx0OworICAgIHJlc3VsdC54ID0geDsK
KyAgICByZXN1bHQueSA9IHkueDsKKyAgICByZXN1bHQueiA9IHkueTsKKyAgICByZXN1bHQudyA9
IHkuejsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludCBvcGVyYXRvci5sZW5ndGgoaGFsZjIp
IHsKKyAgICByZXR1cm4gMjsKK30KK3VpbnQgb3BlcmF0b3IubGVuZ3RoKGhhbGYzKSB7CisgICAg
cmV0dXJuIDM7Cit9Cit1aW50IG9wZXJhdG9yLmxlbmd0aChoYWxmNCkgeworICAgIHJldHVybiA0
OworfQorb3BlcmF0b3IgZmxvYXQyKGZsb2F0IHgsIGZsb2F0IHkpIHsKKyAgICBmbG9hdDIgcmVz
dWx0OworICAgIHJlc3VsdC54ID0geDsKKyAgICByZXN1bHQueSA9IHk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK29wZXJhdG9yIGZsb2F0MyhmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB6KSB7Cisg
ICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHQueCA9IHg7CisgICAgcmVzdWx0LnkgPSB5Owor
ICAgIHJlc3VsdC56ID0gejsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgZmxvYXQz
KGZsb2F0MiB4LCBmbG9hdCB5KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHQueCA9
IHgueDsKKyAgICByZXN1bHQueSA9IHgueTsKKyAgICByZXN1bHQueiA9IHk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK29wZXJhdG9yIGZsb2F0MyhmbG9hdCB4LCBmbG9hdDIgeSkgeworICAgIGZs
b2F0MyByZXN1bHQ7CisgICAgcmVzdWx0LnggPSB4OworICAgIHJlc3VsdC55ID0geS54OworICAg
IHJlc3VsdC56ID0geS55OworICAgIHJldHVybiByZXN1bHQ7Cit9CitvcGVyYXRvciBmbG9hdDQo
ZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgeiwgZmxvYXQgdykgeworICAgIGZsb2F0NCByZXN1bHQ7
CisgICAgcmVzdWx0LnggPSB4OworICAgIHJlc3VsdC55ID0geTsKKyAgICByZXN1bHQueiA9IHo7
CisgICAgcmVzdWx0LncgPSB3OworICAgIHJldHVybiByZXN1bHQ7Cit9CitvcGVyYXRvciBmbG9h
dDQoZmxvYXQyIHgsIGZsb2F0IHksIGZsb2F0IHopIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAg
IHJlc3VsdC54ID0geC54OworICAgIHJlc3VsdC55ID0geC55OworICAgIHJlc3VsdC56ID0geTsK
KyAgICByZXN1bHQudyA9IHo7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK29wZXJhdG9yIGZsb2F0
NChmbG9hdCB4LCBmbG9hdDIgeSwgZmxvYXQgeikgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAg
cmVzdWx0LnggPSB4OworICAgIHJlc3VsdC55ID0geS54OworICAgIHJlc3VsdC56ID0geS55Owor
ICAgIHJlc3VsdC53ID0gejsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgZmxvYXQ0
KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0MiB6KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICBy
ZXN1bHQueCA9IHg7CisgICAgcmVzdWx0LnkgPSB5OworICAgIHJlc3VsdC56ID0gei54OworICAg
IHJlc3VsdC53ID0gei55OworICAgIHJldHVybiByZXN1bHQ7Cit9CitvcGVyYXRvciBmbG9hdDQo
ZmxvYXQyIHgsIGZsb2F0MiB5KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHQueCA9
IHgueDsKKyAgICByZXN1bHQueSA9IHgueTsKKyAgICByZXN1bHQueiA9IHkueDsKKyAgICByZXN1
bHQudyA9IHkueTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorb3BlcmF0b3IgZmxvYXQ0KGZsb2F0
MyB4LCBmbG9hdCB5KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHQueCA9IHgueDsK
KyAgICByZXN1bHQueSA9IHgueTsKKyAgICByZXN1bHQueiA9IHguejsKKyAgICByZXN1bHQudyA9
IHk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK29wZXJhdG9yIGZsb2F0NChmbG9hdCB4LCBmbG9h
dDMgeSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0LnggPSB4OworICAgIHJlc3Vs
dC55ID0geS54OworICAgIHJlc3VsdC56ID0geS55OworICAgIHJlc3VsdC53ID0geS56OworICAg
IHJldHVybiByZXN1bHQ7Cit9Cit1aW50IG9wZXJhdG9yLmxlbmd0aChmbG9hdDIpIHsKKyAgICBy
ZXR1cm4gMjsKK30KK3VpbnQgb3BlcmF0b3IubGVuZ3RoKGZsb2F0MykgeworICAgIHJldHVybiAz
OworfQordWludCBvcGVyYXRvci5sZW5ndGgoZmxvYXQ0KSB7CisgICAgcmV0dXJuIDQ7Cit9Citi
b29sIG9wZXJhdG9yPT0oYm9vbDIgYSwgYm9vbDIgYikgeworICAgIHJldHVybiBhLnggPT0gYi54
ICYmIGEueSA9PSBiLnk7Cit9Citib29sIG9wZXJhdG9yPT0oYm9vbDMgYSwgYm9vbDMgYikgewor
ICAgIHJldHVybiBhLnggPT0gYi54ICYmIGEueSA9PSBiLnkgJiYgYS56ID09IGIuejsKK30KK2Jv
b2wgb3BlcmF0b3I9PShib29sNCBhLCBib29sNCBiKSB7CisgICAgcmV0dXJuIGEueCA9PSBiLngg
JiYgYS55ID09IGIueSAmJiBhLnogPT0gYi56ICYmIGEudyA9PSBiLnc7Cit9Cit0aHJlYWQgYm9v
bCogb3BlcmF0b3ImW10odGhyZWFkIGJvb2wyKiBmb28sIHVpbnQgaW5kZXgpIHsKKyAgICBpZiAo
aW5kZXggPT0gMCkKKyAgICAgICAgcmV0dXJuICZmb28tPng7CisgICAgaWYgKGluZGV4ID09IDEp
CisgICAgICAgIHJldHVybiAmZm9vLT55OworICAgIHRyYXA7Cit9Cit0aHJlYWQgYm9vbCogb3Bl
cmF0b3ImW10odGhyZWFkIGJvb2wzKiBmb28sIHVpbnQgaW5kZXgpIHsKKyAgICBpZiAoaW5kZXgg
PT0gMCkKKyAgICAgICAgcmV0dXJuICZmb28tPng7CisgICAgaWYgKGluZGV4ID09IDEpCisgICAg
ICAgIHJldHVybiAmZm9vLT55OworICAgIGlmIChpbmRleCA9PSAyKQorICAgICAgICByZXR1cm4g
JmZvby0+ejsKKyAgICB0cmFwOworfQordGhyZWFkIGJvb2wqIG9wZXJhdG9yJltdKHRocmVhZCBi
b29sNCogZm9vLCB1aW50IGluZGV4KSB7CisgICAgaWYgKGluZGV4ID09IDApCisgICAgICAgIHJl
dHVybiAmZm9vLT54OworICAgIGlmIChpbmRleCA9PSAxKQorICAgICAgICByZXR1cm4gJmZvby0+
eTsKKyAgICBpZiAoaW5kZXggPT0gMikKKyAgICAgICAgcmV0dXJuICZmb28tPno7CisgICAgaWYg
KGluZGV4ID09IDMpCisgICAgICAgIHJldHVybiAmZm9vLT53OworICAgIHRyYXA7Cit9Citib29s
IG9wZXJhdG9yPT0odWNoYXIyIGEsIHVjaGFyMiBiKSB7CisgICAgcmV0dXJuIGEueCA9PSBiLngg
JiYgYS55ID09IGIueTsKK30KK2Jvb2wgb3BlcmF0b3I9PSh1Y2hhcjMgYSwgdWNoYXIzIGIpIHsK
KyAgICByZXR1cm4gYS54ID09IGIueCAmJiBhLnkgPT0gYi55ICYmIGEueiA9PSBiLno7Cit9Citi
b29sIG9wZXJhdG9yPT0odWNoYXI0IGEsIHVjaGFyNCBiKSB7CisgICAgcmV0dXJuIGEueCA9PSBi
LnggJiYgYS55ID09IGIueSAmJiBhLnogPT0gYi56ICYmIGEudyA9PSBiLnc7Cit9Cit0aHJlYWQg
dWNoYXIqIG9wZXJhdG9yJltdKHRocmVhZCB1Y2hhcjIqIGZvbywgdWludCBpbmRleCkgeworICAg
IGlmIChpbmRleCA9PSAwKQorICAgICAgICByZXR1cm4gJmZvby0+eDsKKyAgICBpZiAoaW5kZXgg
PT0gMSkKKyAgICAgICAgcmV0dXJuICZmb28tPnk7CisgICAgdHJhcDsKK30KK3RocmVhZCB1Y2hh
ciogb3BlcmF0b3ImW10odGhyZWFkIHVjaGFyMyogZm9vLCB1aW50IGluZGV4KSB7CisgICAgaWYg
KGluZGV4ID09IDApCisgICAgICAgIHJldHVybiAmZm9vLT54OworICAgIGlmIChpbmRleCA9PSAx
KQorICAgICAgICByZXR1cm4gJmZvby0+eTsKKyAgICBpZiAoaW5kZXggPT0gMikKKyAgICAgICAg
cmV0dXJuICZmb28tPno7CisgICAgdHJhcDsKK30KK3RocmVhZCB1Y2hhciogb3BlcmF0b3ImW10o
dGhyZWFkIHVjaGFyNCogZm9vLCB1aW50IGluZGV4KSB7CisgICAgaWYgKGluZGV4ID09IDApCisg
ICAgICAgIHJldHVybiAmZm9vLT54OworICAgIGlmIChpbmRleCA9PSAxKQorICAgICAgICByZXR1
cm4gJmZvby0+eTsKKyAgICBpZiAoaW5kZXggPT0gMikKKyAgICAgICAgcmV0dXJuICZmb28tPno7
CisgICAgaWYgKGluZGV4ID09IDMpCisgICAgICAgIHJldHVybiAmZm9vLT53OworICAgIHRyYXA7
Cit9Citib29sIG9wZXJhdG9yPT0odXNob3J0MiBhLCB1c2hvcnQyIGIpIHsKKyAgICByZXR1cm4g
YS54ID09IGIueCAmJiBhLnkgPT0gYi55OworfQorYm9vbCBvcGVyYXRvcj09KHVzaG9ydDMgYSwg
dXNob3J0MyBiKSB7CisgICAgcmV0dXJuIGEueCA9PSBiLnggJiYgYS55ID09IGIueSAmJiBhLnog
PT0gYi56OworfQorYm9vbCBvcGVyYXRvcj09KHVzaG9ydDQgYSwgdXNob3J0NCBiKSB7CisgICAg
cmV0dXJuIGEueCA9PSBiLnggJiYgYS55ID09IGIueSAmJiBhLnogPT0gYi56ICYmIGEudyA9PSBi
Lnc7Cit9Cit0aHJlYWQgdXNob3J0KiBvcGVyYXRvciZbXSh0aHJlYWQgdXNob3J0MiogZm9vLCB1
aW50IGluZGV4KSB7CisgICAgaWYgKGluZGV4ID09IDApCisgICAgICAgIHJldHVybiAmZm9vLT54
OworICAgIGlmIChpbmRleCA9PSAxKQorICAgICAgICByZXR1cm4gJmZvby0+eTsKKyAgICB0cmFw
OworfQordGhyZWFkIHVzaG9ydCogb3BlcmF0b3ImW10odGhyZWFkIHVzaG9ydDMqIGZvbywgdWlu
dCBpbmRleCkgeworICAgIGlmIChpbmRleCA9PSAwKQorICAgICAgICByZXR1cm4gJmZvby0+eDsK
KyAgICBpZiAoaW5kZXggPT0gMSkKKyAgICAgICAgcmV0dXJuICZmb28tPnk7CisgICAgaWYgKGlu
ZGV4ID09IDIpCisgICAgICAgIHJldHVybiAmZm9vLT56OworICAgIHRyYXA7Cit9Cit0aHJlYWQg
dXNob3J0KiBvcGVyYXRvciZbXSh0aHJlYWQgdXNob3J0NCogZm9vLCB1aW50IGluZGV4KSB7Cisg
ICAgaWYgKGluZGV4ID09IDApCisgICAgICAgIHJldHVybiAmZm9vLT54OworICAgIGlmIChpbmRl
eCA9PSAxKQorICAgICAgICByZXR1cm4gJmZvby0+eTsKKyAgICBpZiAoaW5kZXggPT0gMikKKyAg
ICAgICAgcmV0dXJuICZmb28tPno7CisgICAgaWYgKGluZGV4ID09IDMpCisgICAgICAgIHJldHVy
biAmZm9vLT53OworICAgIHRyYXA7Cit9Citib29sIG9wZXJhdG9yPT0odWludDIgYSwgdWludDIg
YikgeworICAgIHJldHVybiBhLnggPT0gYi54ICYmIGEueSA9PSBiLnk7Cit9Citib29sIG9wZXJh
dG9yPT0odWludDMgYSwgdWludDMgYikgeworICAgIHJldHVybiBhLnggPT0gYi54ICYmIGEueSA9
PSBiLnkgJiYgYS56ID09IGIuejsKK30KK2Jvb2wgb3BlcmF0b3I9PSh1aW50NCBhLCB1aW50NCBi
KSB7CisgICAgcmV0dXJuIGEueCA9PSBiLnggJiYgYS55ID09IGIueSAmJiBhLnogPT0gYi56ICYm
IGEudyA9PSBiLnc7Cit9Cit0aHJlYWQgdWludCogb3BlcmF0b3ImW10odGhyZWFkIHVpbnQyKiBm
b28sIHVpbnQgaW5kZXgpIHsKKyAgICBpZiAoaW5kZXggPT0gMCkKKyAgICAgICAgcmV0dXJuICZm
b28tPng7CisgICAgaWYgKGluZGV4ID09IDEpCisgICAgICAgIHJldHVybiAmZm9vLT55OworICAg
IHRyYXA7Cit9Cit0aHJlYWQgdWludCogb3BlcmF0b3ImW10odGhyZWFkIHVpbnQzKiBmb28sIHVp
bnQgaW5kZXgpIHsKKyAgICBpZiAoaW5kZXggPT0gMCkKKyAgICAgICAgcmV0dXJuICZmb28tPng7
CisgICAgaWYgKGluZGV4ID09IDEpCisgICAgICAgIHJldHVybiAmZm9vLT55OworICAgIGlmIChp
bmRleCA9PSAyKQorICAgICAgICByZXR1cm4gJmZvby0+ejsKKyAgICB0cmFwOworfQordGhyZWFk
IHVpbnQqIG9wZXJhdG9yJltdKHRocmVhZCB1aW50NCogZm9vLCB1aW50IGluZGV4KSB7CisgICAg
aWYgKGluZGV4ID09IDApCisgICAgICAgIHJldHVybiAmZm9vLT54OworICAgIGlmIChpbmRleCA9
PSAxKQorICAgICAgICByZXR1cm4gJmZvby0+eTsKKyAgICBpZiAoaW5kZXggPT0gMikKKyAgICAg
ICAgcmV0dXJuICZmb28tPno7CisgICAgaWYgKGluZGV4ID09IDMpCisgICAgICAgIHJldHVybiAm
Zm9vLT53OworICAgIHRyYXA7Cit9Citib29sIG9wZXJhdG9yPT0oY2hhcjIgYSwgY2hhcjIgYikg
eworICAgIHJldHVybiBhLnggPT0gYi54ICYmIGEueSA9PSBiLnk7Cit9Citib29sIG9wZXJhdG9y
PT0oY2hhcjMgYSwgY2hhcjMgYikgeworICAgIHJldHVybiBhLnggPT0gYi54ICYmIGEueSA9PSBi
LnkgJiYgYS56ID09IGIuejsKK30KK2Jvb2wgb3BlcmF0b3I9PShjaGFyNCBhLCBjaGFyNCBiKSB7
CisgICAgcmV0dXJuIGEueCA9PSBiLnggJiYgYS55ID09IGIueSAmJiBhLnogPT0gYi56ICYmIGEu
dyA9PSBiLnc7Cit9Cit0aHJlYWQgY2hhciogb3BlcmF0b3ImW10odGhyZWFkIGNoYXIyKiBmb28s
IHVpbnQgaW5kZXgpIHsKKyAgICBpZiAoaW5kZXggPT0gMCkKKyAgICAgICAgcmV0dXJuICZmb28t
Png7CisgICAgaWYgKGluZGV4ID09IDEpCisgICAgICAgIHJldHVybiAmZm9vLT55OworICAgIHRy
YXA7Cit9Cit0aHJlYWQgY2hhciogb3BlcmF0b3ImW10odGhyZWFkIGNoYXIzKiBmb28sIHVpbnQg
aW5kZXgpIHsKKyAgICBpZiAoaW5kZXggPT0gMCkKKyAgICAgICAgcmV0dXJuICZmb28tPng7Cisg
ICAgaWYgKGluZGV4ID09IDEpCisgICAgICAgIHJldHVybiAmZm9vLT55OworICAgIGlmIChpbmRl
eCA9PSAyKQorICAgICAgICByZXR1cm4gJmZvby0+ejsKKyAgICB0cmFwOworfQordGhyZWFkIGNo
YXIqIG9wZXJhdG9yJltdKHRocmVhZCBjaGFyNCogZm9vLCB1aW50IGluZGV4KSB7CisgICAgaWYg
KGluZGV4ID09IDApCisgICAgICAgIHJldHVybiAmZm9vLT54OworICAgIGlmIChpbmRleCA9PSAx
KQorICAgICAgICByZXR1cm4gJmZvby0+eTsKKyAgICBpZiAoaW5kZXggPT0gMikKKyAgICAgICAg
cmV0dXJuICZmb28tPno7CisgICAgaWYgKGluZGV4ID09IDMpCisgICAgICAgIHJldHVybiAmZm9v
LT53OworICAgIHRyYXA7Cit9Citib29sIG9wZXJhdG9yPT0oc2hvcnQyIGEsIHNob3J0MiBiKSB7
CisgICAgcmV0dXJuIGEueCA9PSBiLnggJiYgYS55ID09IGIueTsKK30KK2Jvb2wgb3BlcmF0b3I9
PShzaG9ydDMgYSwgc2hvcnQzIGIpIHsKKyAgICByZXR1cm4gYS54ID09IGIueCAmJiBhLnkgPT0g
Yi55ICYmIGEueiA9PSBiLno7Cit9Citib29sIG9wZXJhdG9yPT0oc2hvcnQ0IGEsIHNob3J0NCBi
KSB7CisgICAgcmV0dXJuIGEueCA9PSBiLnggJiYgYS55ID09IGIueSAmJiBhLnogPT0gYi56ICYm
IGEudyA9PSBiLnc7Cit9Cit0aHJlYWQgc2hvcnQqIG9wZXJhdG9yJltdKHRocmVhZCBzaG9ydDIq
IGZvbywgdWludCBpbmRleCkgeworICAgIGlmIChpbmRleCA9PSAwKQorICAgICAgICByZXR1cm4g
JmZvby0+eDsKKyAgICBpZiAoaW5kZXggPT0gMSkKKyAgICAgICAgcmV0dXJuICZmb28tPnk7Cisg
ICAgdHJhcDsKK30KK3RocmVhZCBzaG9ydCogb3BlcmF0b3ImW10odGhyZWFkIHNob3J0MyogZm9v
LCB1aW50IGluZGV4KSB7CisgICAgaWYgKGluZGV4ID09IDApCisgICAgICAgIHJldHVybiAmZm9v
LT54OworICAgIGlmIChpbmRleCA9PSAxKQorICAgICAgICByZXR1cm4gJmZvby0+eTsKKyAgICBp
ZiAoaW5kZXggPT0gMikKKyAgICAgICAgcmV0dXJuICZmb28tPno7CisgICAgdHJhcDsKK30KK3Ro
cmVhZCBzaG9ydCogb3BlcmF0b3ImW10odGhyZWFkIHNob3J0NCogZm9vLCB1aW50IGluZGV4KSB7
CisgICAgaWYgKGluZGV4ID09IDApCisgICAgICAgIHJldHVybiAmZm9vLT54OworICAgIGlmIChp
bmRleCA9PSAxKQorICAgICAgICByZXR1cm4gJmZvby0+eTsKKyAgICBpZiAoaW5kZXggPT0gMikK
KyAgICAgICAgcmV0dXJuICZmb28tPno7CisgICAgaWYgKGluZGV4ID09IDMpCisgICAgICAgIHJl
dHVybiAmZm9vLT53OworICAgIHRyYXA7Cit9Citib29sIG9wZXJhdG9yPT0oaW50MiBhLCBpbnQy
IGIpIHsKKyAgICByZXR1cm4gYS54ID09IGIueCAmJiBhLnkgPT0gYi55OworfQorYm9vbCBvcGVy
YXRvcj09KGludDMgYSwgaW50MyBiKSB7CisgICAgcmV0dXJuIGEueCA9PSBiLnggJiYgYS55ID09
IGIueSAmJiBhLnogPT0gYi56OworfQorYm9vbCBvcGVyYXRvcj09KGludDQgYSwgaW50NCBiKSB7
CisgICAgcmV0dXJuIGEueCA9PSBiLnggJiYgYS55ID09IGIueSAmJiBhLnogPT0gYi56ICYmIGEu
dyA9PSBiLnc7Cit9Cit0aHJlYWQgaW50KiBvcGVyYXRvciZbXSh0aHJlYWQgaW50MiogZm9vLCB1
aW50IGluZGV4KSB7CisgICAgaWYgKGluZGV4ID09IDApCisgICAgICAgIHJldHVybiAmZm9vLT54
OworICAgIGlmIChpbmRleCA9PSAxKQorICAgICAgICByZXR1cm4gJmZvby0+eTsKKyAgICB0cmFw
OworfQordGhyZWFkIGludCogb3BlcmF0b3ImW10odGhyZWFkIGludDMqIGZvbywgdWludCBpbmRl
eCkgeworICAgIGlmIChpbmRleCA9PSAwKQorICAgICAgICByZXR1cm4gJmZvby0+eDsKKyAgICBp
ZiAoaW5kZXggPT0gMSkKKyAgICAgICAgcmV0dXJuICZmb28tPnk7CisgICAgaWYgKGluZGV4ID09
IDIpCisgICAgICAgIHJldHVybiAmZm9vLT56OworICAgIHRyYXA7Cit9Cit0aHJlYWQgaW50KiBv
cGVyYXRvciZbXSh0aHJlYWQgaW50NCogZm9vLCB1aW50IGluZGV4KSB7CisgICAgaWYgKGluZGV4
ID09IDApCisgICAgICAgIHJldHVybiAmZm9vLT54OworICAgIGlmIChpbmRleCA9PSAxKQorICAg
ICAgICByZXR1cm4gJmZvby0+eTsKKyAgICBpZiAoaW5kZXggPT0gMikKKyAgICAgICAgcmV0dXJu
ICZmb28tPno7CisgICAgaWYgKGluZGV4ID09IDMpCisgICAgICAgIHJldHVybiAmZm9vLT53Owor
ICAgIHRyYXA7Cit9Citib29sIG9wZXJhdG9yPT0oaGFsZjIgYSwgaGFsZjIgYikgeworICAgIHJl
dHVybiBhLnggPT0gYi54ICYmIGEueSA9PSBiLnk7Cit9Citib29sIG9wZXJhdG9yPT0oaGFsZjMg
YSwgaGFsZjMgYikgeworICAgIHJldHVybiBhLnggPT0gYi54ICYmIGEueSA9PSBiLnkgJiYgYS56
ID09IGIuejsKK30KK2Jvb2wgb3BlcmF0b3I9PShoYWxmNCBhLCBoYWxmNCBiKSB7CisgICAgcmV0
dXJuIGEueCA9PSBiLnggJiYgYS55ID09IGIueSAmJiBhLnogPT0gYi56ICYmIGEudyA9PSBiLnc7
Cit9Cit0aHJlYWQgaGFsZiogb3BlcmF0b3ImW10odGhyZWFkIGhhbGYyKiBmb28sIHVpbnQgaW5k
ZXgpIHsKKyAgICBpZiAoaW5kZXggPT0gMCkKKyAgICAgICAgcmV0dXJuICZmb28tPng7CisgICAg
aWYgKGluZGV4ID09IDEpCisgICAgICAgIHJldHVybiAmZm9vLT55OworICAgIHRyYXA7Cit9Cit0
aHJlYWQgaGFsZiogb3BlcmF0b3ImW10odGhyZWFkIGhhbGYzKiBmb28sIHVpbnQgaW5kZXgpIHsK
KyAgICBpZiAoaW5kZXggPT0gMCkKKyAgICAgICAgcmV0dXJuICZmb28tPng7CisgICAgaWYgKGlu
ZGV4ID09IDEpCisgICAgICAgIHJldHVybiAmZm9vLT55OworICAgIGlmIChpbmRleCA9PSAyKQor
ICAgICAgICByZXR1cm4gJmZvby0+ejsKKyAgICB0cmFwOworfQordGhyZWFkIGhhbGYqIG9wZXJh
dG9yJltdKHRocmVhZCBoYWxmNCogZm9vLCB1aW50IGluZGV4KSB7CisgICAgaWYgKGluZGV4ID09
IDApCisgICAgICAgIHJldHVybiAmZm9vLT54OworICAgIGlmIChpbmRleCA9PSAxKQorICAgICAg
ICByZXR1cm4gJmZvby0+eTsKKyAgICBpZiAoaW5kZXggPT0gMikKKyAgICAgICAgcmV0dXJuICZm
b28tPno7CisgICAgaWYgKGluZGV4ID09IDMpCisgICAgICAgIHJldHVybiAmZm9vLT53OworICAg
IHRyYXA7Cit9Citib29sIG9wZXJhdG9yPT0oZmxvYXQyIGEsIGZsb2F0MiBiKSB7CisgICAgcmV0
dXJuIGEueCA9PSBiLnggJiYgYS55ID09IGIueTsKK30KK2Jvb2wgb3BlcmF0b3I9PShmbG9hdDMg
YSwgZmxvYXQzIGIpIHsKKyAgICByZXR1cm4gYS54ID09IGIueCAmJiBhLnkgPT0gYi55ICYmIGEu
eiA9PSBiLno7Cit9Citib29sIG9wZXJhdG9yPT0oZmxvYXQ0IGEsIGZsb2F0NCBiKSB7CisgICAg
cmV0dXJuIGEueCA9PSBiLnggJiYgYS55ID09IGIueSAmJiBhLnogPT0gYi56ICYmIGEudyA9PSBi
Lnc7Cit9Cit0aHJlYWQgZmxvYXQqIG9wZXJhdG9yJltdKHRocmVhZCBmbG9hdDIqIGZvbywgdWlu
dCBpbmRleCkgeworICAgIGlmIChpbmRleCA9PSAwKQorICAgICAgICByZXR1cm4gJmZvby0+eDsK
KyAgICBpZiAoaW5kZXggPT0gMSkKKyAgICAgICAgcmV0dXJuICZmb28tPnk7CisgICAgdHJhcDsK
K30KK3RocmVhZCBmbG9hdCogb3BlcmF0b3ImW10odGhyZWFkIGZsb2F0MyogZm9vLCB1aW50IGlu
ZGV4KSB7CisgICAgaWYgKGluZGV4ID09IDApCisgICAgICAgIHJldHVybiAmZm9vLT54OworICAg
IGlmIChpbmRleCA9PSAxKQorICAgICAgICByZXR1cm4gJmZvby0+eTsKKyAgICBpZiAoaW5kZXgg
PT0gMikKKyAgICAgICAgcmV0dXJuICZmb28tPno7CisgICAgdHJhcDsKK30KK3RocmVhZCBmbG9h
dCogb3BlcmF0b3ImW10odGhyZWFkIGZsb2F0NCogZm9vLCB1aW50IGluZGV4KSB7CisgICAgaWYg
KGluZGV4ID09IDApCisgICAgICAgIHJldHVybiAmZm9vLT54OworICAgIGlmIChpbmRleCA9PSAx
KQorICAgICAgICByZXR1cm4gJmZvby0+eTsKKyAgICBpZiAoaW5kZXggPT0gMikKKyAgICAgICAg
cmV0dXJuICZmb28tPno7CisgICAgaWYgKGluZGV4ID09IDMpCisgICAgICAgIHJldHVybiAmZm9v
LT53OworICAgIHRyYXA7Cit9Cit0aHJlYWQgaGFsZjIqIG9wZXJhdG9yJltdKHRocmVhZCBoYWxm
MngyKiBmb28sIHVpbnQgaW5kZXgpIHsKKyAgICBpZiAoaW5kZXggPT0gMCkKKyAgICAgICAgcmV0
dXJuICZmb28tPnJvdzA7CisgICAgaWYgKGluZGV4ID09IDEpCisgICAgICAgIHJldHVybiAmZm9v
LT5yb3cxOworICAgIHRyYXA7Cit9Cit0aHJlYWQgaGFsZjIqIG9wZXJhdG9yJltdKHRocmVhZCBo
YWxmM3gyKiBmb28sIHVpbnQgaW5kZXgpIHsKKyAgICBpZiAoaW5kZXggPT0gMCkKKyAgICAgICAg
cmV0dXJuICZmb28tPnJvdzA7CisgICAgaWYgKGluZGV4ID09IDEpCisgICAgICAgIHJldHVybiAm
Zm9vLT5yb3cxOworICAgIGlmIChpbmRleCA9PSAyKQorICAgICAgICByZXR1cm4gJmZvby0+cm93
MjsKKyAgICB0cmFwOworfQordGhyZWFkIGhhbGYyKiBvcGVyYXRvciZbXSh0aHJlYWQgaGFsZjR4
MiogZm9vLCB1aW50IGluZGV4KSB7CisgICAgaWYgKGluZGV4ID09IDApCisgICAgICAgIHJldHVy
biAmZm9vLT5yb3cwOworICAgIGlmIChpbmRleCA9PSAxKQorICAgICAgICByZXR1cm4gJmZvby0+
cm93MTsKKyAgICBpZiAoaW5kZXggPT0gMikKKyAgICAgICAgcmV0dXJuICZmb28tPnJvdzI7Cisg
ICAgaWYgKGluZGV4ID09IDMpCisgICAgICAgIHJldHVybiAmZm9vLT5yb3czOworICAgIHRyYXA7
Cit9Cit0aHJlYWQgaGFsZjMqIG9wZXJhdG9yJltdKHRocmVhZCBoYWxmMngzKiBmb28sIHVpbnQg
aW5kZXgpIHsKKyAgICBpZiAoaW5kZXggPT0gMCkKKyAgICAgICAgcmV0dXJuICZmb28tPnJvdzA7
CisgICAgaWYgKGluZGV4ID09IDEpCisgICAgICAgIHJldHVybiAmZm9vLT5yb3cxOworICAgIHRy
YXA7Cit9Cit0aHJlYWQgaGFsZjMqIG9wZXJhdG9yJltdKHRocmVhZCBoYWxmM3gzKiBmb28sIHVp
bnQgaW5kZXgpIHsKKyAgICBpZiAoaW5kZXggPT0gMCkKKyAgICAgICAgcmV0dXJuICZmb28tPnJv
dzA7CisgICAgaWYgKGluZGV4ID09IDEpCisgICAgICAgIHJldHVybiAmZm9vLT5yb3cxOworICAg
IGlmIChpbmRleCA9PSAyKQorICAgICAgICByZXR1cm4gJmZvby0+cm93MjsKKyAgICB0cmFwOwor
fQordGhyZWFkIGhhbGYzKiBvcGVyYXRvciZbXSh0aHJlYWQgaGFsZjR4MyogZm9vLCB1aW50IGlu
ZGV4KSB7CisgICAgaWYgKGluZGV4ID09IDApCisgICAgICAgIHJldHVybiAmZm9vLT5yb3cwOwor
ICAgIGlmIChpbmRleCA9PSAxKQorICAgICAgICByZXR1cm4gJmZvby0+cm93MTsKKyAgICBpZiAo
aW5kZXggPT0gMikKKyAgICAgICAgcmV0dXJuICZmb28tPnJvdzI7CisgICAgaWYgKGluZGV4ID09
IDMpCisgICAgICAgIHJldHVybiAmZm9vLT5yb3czOworICAgIHRyYXA7Cit9Cit0aHJlYWQgaGFs
ZjQqIG9wZXJhdG9yJltdKHRocmVhZCBoYWxmMng0KiBmb28sIHVpbnQgaW5kZXgpIHsKKyAgICBp
ZiAoaW5kZXggPT0gMCkKKyAgICAgICAgcmV0dXJuICZmb28tPnJvdzA7CisgICAgaWYgKGluZGV4
ID09IDEpCisgICAgICAgIHJldHVybiAmZm9vLT5yb3cxOworICAgIHRyYXA7Cit9Cit0aHJlYWQg
aGFsZjQqIG9wZXJhdG9yJltdKHRocmVhZCBoYWxmM3g0KiBmb28sIHVpbnQgaW5kZXgpIHsKKyAg
ICBpZiAoaW5kZXggPT0gMCkKKyAgICAgICAgcmV0dXJuICZmb28tPnJvdzA7CisgICAgaWYgKGlu
ZGV4ID09IDEpCisgICAgICAgIHJldHVybiAmZm9vLT5yb3cxOworICAgIGlmIChpbmRleCA9PSAy
KQorICAgICAgICByZXR1cm4gJmZvby0+cm93MjsKKyAgICB0cmFwOworfQordGhyZWFkIGhhbGY0
KiBvcGVyYXRvciZbXSh0aHJlYWQgaGFsZjR4NCogZm9vLCB1aW50IGluZGV4KSB7CisgICAgaWYg
KGluZGV4ID09IDApCisgICAgICAgIHJldHVybiAmZm9vLT5yb3cwOworICAgIGlmIChpbmRleCA9
PSAxKQorICAgICAgICByZXR1cm4gJmZvby0+cm93MTsKKyAgICBpZiAoaW5kZXggPT0gMikKKyAg
ICAgICAgcmV0dXJuICZmb28tPnJvdzI7CisgICAgaWYgKGluZGV4ID09IDMpCisgICAgICAgIHJl
dHVybiAmZm9vLT5yb3czOworICAgIHRyYXA7Cit9Cit0aHJlYWQgZmxvYXQyKiBvcGVyYXRvciZb
XSh0aHJlYWQgZmxvYXQyeDIqIGZvbywgdWludCBpbmRleCkgeworICAgIGlmIChpbmRleCA9PSAw
KQorICAgICAgICByZXR1cm4gJmZvby0+cm93MDsKKyAgICBpZiAoaW5kZXggPT0gMSkKKyAgICAg
ICAgcmV0dXJuICZmb28tPnJvdzE7CisgICAgdHJhcDsKK30KK3RocmVhZCBmbG9hdDIqIG9wZXJh
dG9yJltdKHRocmVhZCBmbG9hdDN4MiogZm9vLCB1aW50IGluZGV4KSB7CisgICAgaWYgKGluZGV4
ID09IDApCisgICAgICAgIHJldHVybiAmZm9vLT5yb3cwOworICAgIGlmIChpbmRleCA9PSAxKQor
ICAgICAgICByZXR1cm4gJmZvby0+cm93MTsKKyAgICBpZiAoaW5kZXggPT0gMikKKyAgICAgICAg
cmV0dXJuICZmb28tPnJvdzI7CisgICAgdHJhcDsKK30KK3RocmVhZCBmbG9hdDIqIG9wZXJhdG9y
JltdKHRocmVhZCBmbG9hdDR4MiogZm9vLCB1aW50IGluZGV4KSB7CisgICAgaWYgKGluZGV4ID09
IDApCisgICAgICAgIHJldHVybiAmZm9vLT5yb3cwOworICAgIGlmIChpbmRleCA9PSAxKQorICAg
ICAgICByZXR1cm4gJmZvby0+cm93MTsKKyAgICBpZiAoaW5kZXggPT0gMikKKyAgICAgICAgcmV0
dXJuICZmb28tPnJvdzI7CisgICAgaWYgKGluZGV4ID09IDMpCisgICAgICAgIHJldHVybiAmZm9v
LT5yb3czOworICAgIHRyYXA7Cit9Cit0aHJlYWQgZmxvYXQzKiBvcGVyYXRvciZbXSh0aHJlYWQg
ZmxvYXQyeDMqIGZvbywgdWludCBpbmRleCkgeworICAgIGlmIChpbmRleCA9PSAwKQorICAgICAg
ICByZXR1cm4gJmZvby0+cm93MDsKKyAgICBpZiAoaW5kZXggPT0gMSkKKyAgICAgICAgcmV0dXJu
ICZmb28tPnJvdzE7CisgICAgdHJhcDsKK30KK3RocmVhZCBmbG9hdDMqIG9wZXJhdG9yJltdKHRo
cmVhZCBmbG9hdDN4MyogZm9vLCB1aW50IGluZGV4KSB7CisgICAgaWYgKGluZGV4ID09IDApCisg
ICAgICAgIHJldHVybiAmZm9vLT5yb3cwOworICAgIGlmIChpbmRleCA9PSAxKQorICAgICAgICBy
ZXR1cm4gJmZvby0+cm93MTsKKyAgICBpZiAoaW5kZXggPT0gMikKKyAgICAgICAgcmV0dXJuICZm
b28tPnJvdzI7CisgICAgdHJhcDsKK30KK3RocmVhZCBmbG9hdDMqIG9wZXJhdG9yJltdKHRocmVh
ZCBmbG9hdDR4MyogZm9vLCB1aW50IGluZGV4KSB7CisgICAgaWYgKGluZGV4ID09IDApCisgICAg
ICAgIHJldHVybiAmZm9vLT5yb3cwOworICAgIGlmIChpbmRleCA9PSAxKQorICAgICAgICByZXR1
cm4gJmZvby0+cm93MTsKKyAgICBpZiAoaW5kZXggPT0gMikKKyAgICAgICAgcmV0dXJuICZmb28t
PnJvdzI7CisgICAgaWYgKGluZGV4ID09IDMpCisgICAgICAgIHJldHVybiAmZm9vLT5yb3czOwor
ICAgIHRyYXA7Cit9Cit0aHJlYWQgZmxvYXQ0KiBvcGVyYXRvciZbXSh0aHJlYWQgZmxvYXQyeDQq
IGZvbywgdWludCBpbmRleCkgeworICAgIGlmIChpbmRleCA9PSAwKQorICAgICAgICByZXR1cm4g
JmZvby0+cm93MDsKKyAgICBpZiAoaW5kZXggPT0gMSkKKyAgICAgICAgcmV0dXJuICZmb28tPnJv
dzE7CisgICAgdHJhcDsKK30KK3RocmVhZCBmbG9hdDQqIG9wZXJhdG9yJltdKHRocmVhZCBmbG9h
dDN4NCogZm9vLCB1aW50IGluZGV4KSB7CisgICAgaWYgKGluZGV4ID09IDApCisgICAgICAgIHJl
dHVybiAmZm9vLT5yb3cwOworICAgIGlmIChpbmRleCA9PSAxKQorICAgICAgICByZXR1cm4gJmZv
by0+cm93MTsKKyAgICBpZiAoaW5kZXggPT0gMikKKyAgICAgICAgcmV0dXJuICZmb28tPnJvdzI7
CisgICAgdHJhcDsKK30KK3RocmVhZCBmbG9hdDQqIG9wZXJhdG9yJltdKHRocmVhZCBmbG9hdDR4
NCogZm9vLCB1aW50IGluZGV4KSB7CisgICAgaWYgKGluZGV4ID09IDApCisgICAgICAgIHJldHVy
biAmZm9vLT5yb3cwOworICAgIGlmIChpbmRleCA9PSAxKQorICAgICAgICByZXR1cm4gJmZvby0+
cm93MTsKKyAgICBpZiAoaW5kZXggPT0gMikKKyAgICAgICAgcmV0dXJuICZmb28tPnJvdzI7Cisg
ICAgaWYgKGluZGV4ID09IDMpCisgICAgICAgIHJldHVybiAmZm9vLT5yb3czOworICAgIHRyYXA7
Cit9Citib29sIG9wZXJhdG9yPT0oaGFsZjJ4MiBhLCBoYWxmMngyIGIpIHsKKyAgICByZXR1cm4K
KyAgICAgICAgYVswXVswXSA9PSBiWzBdWzBdICYmCisgICAgICAgIGFbMF1bMV0gPT0gYlswXVsx
XSAmJgorICAgICAgICBhWzFdWzBdID09IGJbMV1bMF0gJiYKKyAgICAgICAgYVsxXVsxXSA9PSBi
WzFdWzFdICYmCisgICAgdHJ1ZTsKK30KK2Jvb2wgb3BlcmF0b3I9PShoYWxmMngzIGEsIGhhbGYy
eDMgYikgeworICAgIHJldHVybgorICAgICAgICBhWzBdWzBdID09IGJbMF1bMF0gJiYKKyAgICAg
ICAgYVswXVsxXSA9PSBiWzBdWzFdICYmCisgICAgICAgIGFbMF1bMl0gPT0gYlswXVsyXSAmJgor
ICAgICAgICBhWzFdWzBdID09IGJbMV1bMF0gJiYKKyAgICAgICAgYVsxXVsxXSA9PSBiWzFdWzFd
ICYmCisgICAgICAgIGFbMV1bMl0gPT0gYlsxXVsyXSAmJgorICAgIHRydWU7Cit9Citib29sIG9w
ZXJhdG9yPT0oaGFsZjJ4NCBhLCBoYWxmMng0IGIpIHsKKyAgICByZXR1cm4KKyAgICAgICAgYVsw
XVswXSA9PSBiWzBdWzBdICYmCisgICAgICAgIGFbMF1bMV0gPT0gYlswXVsxXSAmJgorICAgICAg
ICBhWzBdWzJdID09IGJbMF1bMl0gJiYKKyAgICAgICAgYVswXVszXSA9PSBiWzBdWzNdICYmCisg
ICAgICAgIGFbMV1bMF0gPT0gYlsxXVswXSAmJgorICAgICAgICBhWzFdWzFdID09IGJbMV1bMV0g
JiYKKyAgICAgICAgYVsxXVsyXSA9PSBiWzFdWzJdICYmCisgICAgICAgIGFbMV1bM10gPT0gYlsx
XVszXSAmJgorICAgIHRydWU7Cit9Citib29sIG9wZXJhdG9yPT0oaGFsZjN4MiBhLCBoYWxmM3gy
IGIpIHsKKyAgICByZXR1cm4KKyAgICAgICAgYVswXVswXSA9PSBiWzBdWzBdICYmCisgICAgICAg
IGFbMF1bMV0gPT0gYlswXVsxXSAmJgorICAgICAgICBhWzFdWzBdID09IGJbMV1bMF0gJiYKKyAg
ICAgICAgYVsxXVsxXSA9PSBiWzFdWzFdICYmCisgICAgICAgIGFbMl1bMF0gPT0gYlsyXVswXSAm
JgorICAgICAgICBhWzJdWzFdID09IGJbMl1bMV0gJiYKKyAgICB0cnVlOworfQorYm9vbCBvcGVy
YXRvcj09KGhhbGYzeDMgYSwgaGFsZjN4MyBiKSB7CisgICAgcmV0dXJuCisgICAgICAgIGFbMF1b
MF0gPT0gYlswXVswXSAmJgorICAgICAgICBhWzBdWzFdID09IGJbMF1bMV0gJiYKKyAgICAgICAg
YVswXVsyXSA9PSBiWzBdWzJdICYmCisgICAgICAgIGFbMV1bMF0gPT0gYlsxXVswXSAmJgorICAg
ICAgICBhWzFdWzFdID09IGJbMV1bMV0gJiYKKyAgICAgICAgYVsxXVsyXSA9PSBiWzFdWzJdICYm
CisgICAgICAgIGFbMl1bMF0gPT0gYlsyXVswXSAmJgorICAgICAgICBhWzJdWzFdID09IGJbMl1b
MV0gJiYKKyAgICAgICAgYVsyXVsyXSA9PSBiWzJdWzJdICYmCisgICAgdHJ1ZTsKK30KK2Jvb2wg
b3BlcmF0b3I9PShoYWxmM3g0IGEsIGhhbGYzeDQgYikgeworICAgIHJldHVybgorICAgICAgICBh
WzBdWzBdID09IGJbMF1bMF0gJiYKKyAgICAgICAgYVswXVsxXSA9PSBiWzBdWzFdICYmCisgICAg
ICAgIGFbMF1bMl0gPT0gYlswXVsyXSAmJgorICAgICAgICBhWzBdWzNdID09IGJbMF1bM10gJiYK
KyAgICAgICAgYVsxXVswXSA9PSBiWzFdWzBdICYmCisgICAgICAgIGFbMV1bMV0gPT0gYlsxXVsx
XSAmJgorICAgICAgICBhWzFdWzJdID09IGJbMV1bMl0gJiYKKyAgICAgICAgYVsxXVszXSA9PSBi
WzFdWzNdICYmCisgICAgICAgIGFbMl1bMF0gPT0gYlsyXVswXSAmJgorICAgICAgICBhWzJdWzFd
ID09IGJbMl1bMV0gJiYKKyAgICAgICAgYVsyXVsyXSA9PSBiWzJdWzJdICYmCisgICAgICAgIGFb
Ml1bM10gPT0gYlsyXVszXSAmJgorICAgIHRydWU7Cit9Citib29sIG9wZXJhdG9yPT0oaGFsZjR4
MiBhLCBoYWxmNHgyIGIpIHsKKyAgICByZXR1cm4KKyAgICAgICAgYVswXVswXSA9PSBiWzBdWzBd
ICYmCisgICAgICAgIGFbMF1bMV0gPT0gYlswXVsxXSAmJgorICAgICAgICBhWzFdWzBdID09IGJb
MV1bMF0gJiYKKyAgICAgICAgYVsxXVsxXSA9PSBiWzFdWzFdICYmCisgICAgICAgIGFbMl1bMF0g
PT0gYlsyXVswXSAmJgorICAgICAgICBhWzJdWzFdID09IGJbMl1bMV0gJiYKKyAgICAgICAgYVsz
XVswXSA9PSBiWzNdWzBdICYmCisgICAgICAgIGFbM11bMV0gPT0gYlszXVsxXSAmJgorICAgIHRy
dWU7Cit9Citib29sIG9wZXJhdG9yPT0oaGFsZjR4MyBhLCBoYWxmNHgzIGIpIHsKKyAgICByZXR1
cm4KKyAgICAgICAgYVswXVswXSA9PSBiWzBdWzBdICYmCisgICAgICAgIGFbMF1bMV0gPT0gYlsw
XVsxXSAmJgorICAgICAgICBhWzBdWzJdID09IGJbMF1bMl0gJiYKKyAgICAgICAgYVsxXVswXSA9
PSBiWzFdWzBdICYmCisgICAgICAgIGFbMV1bMV0gPT0gYlsxXVsxXSAmJgorICAgICAgICBhWzFd
WzJdID09IGJbMV1bMl0gJiYKKyAgICAgICAgYVsyXVswXSA9PSBiWzJdWzBdICYmCisgICAgICAg
IGFbMl1bMV0gPT0gYlsyXVsxXSAmJgorICAgICAgICBhWzJdWzJdID09IGJbMl1bMl0gJiYKKyAg
ICAgICAgYVszXVswXSA9PSBiWzNdWzBdICYmCisgICAgICAgIGFbM11bMV0gPT0gYlszXVsxXSAm
JgorICAgICAgICBhWzNdWzJdID09IGJbM11bMl0gJiYKKyAgICB0cnVlOworfQorYm9vbCBvcGVy
YXRvcj09KGhhbGY0eDQgYSwgaGFsZjR4NCBiKSB7CisgICAgcmV0dXJuCisgICAgICAgIGFbMF1b
MF0gPT0gYlswXVswXSAmJgorICAgICAgICBhWzBdWzFdID09IGJbMF1bMV0gJiYKKyAgICAgICAg
YVswXVsyXSA9PSBiWzBdWzJdICYmCisgICAgICAgIGFbMF1bM10gPT0gYlswXVszXSAmJgorICAg
ICAgICBhWzFdWzBdID09IGJbMV1bMF0gJiYKKyAgICAgICAgYVsxXVsxXSA9PSBiWzFdWzFdICYm
CisgICAgICAgIGFbMV1bMl0gPT0gYlsxXVsyXSAmJgorICAgICAgICBhWzFdWzNdID09IGJbMV1b
M10gJiYKKyAgICAgICAgYVsyXVswXSA9PSBiWzJdWzBdICYmCisgICAgICAgIGFbMl1bMV0gPT0g
YlsyXVsxXSAmJgorICAgICAgICBhWzJdWzJdID09IGJbMl1bMl0gJiYKKyAgICAgICAgYVsyXVsz
XSA9PSBiWzJdWzNdICYmCisgICAgICAgIGFbM11bMF0gPT0gYlszXVswXSAmJgorICAgICAgICBh
WzNdWzFdID09IGJbM11bMV0gJiYKKyAgICAgICAgYVszXVsyXSA9PSBiWzNdWzJdICYmCisgICAg
ICAgIGFbM11bM10gPT0gYlszXVszXSAmJgorICAgIHRydWU7Cit9Citib29sIG9wZXJhdG9yPT0o
ZmxvYXQyeDIgYSwgZmxvYXQyeDIgYikgeworICAgIHJldHVybgorICAgICAgICBhWzBdWzBdID09
IGJbMF1bMF0gJiYKKyAgICAgICAgYVswXVsxXSA9PSBiWzBdWzFdICYmCisgICAgICAgIGFbMV1b
MF0gPT0gYlsxXVswXSAmJgorICAgICAgICBhWzFdWzFdID09IGJbMV1bMV0gJiYKKyAgICB0cnVl
OworfQorYm9vbCBvcGVyYXRvcj09KGZsb2F0MngzIGEsIGZsb2F0MngzIGIpIHsKKyAgICByZXR1
cm4KKyAgICAgICAgYVswXVswXSA9PSBiWzBdWzBdICYmCisgICAgICAgIGFbMF1bMV0gPT0gYlsw
XVsxXSAmJgorICAgICAgICBhWzBdWzJdID09IGJbMF1bMl0gJiYKKyAgICAgICAgYVsxXVswXSA9
PSBiWzFdWzBdICYmCisgICAgICAgIGFbMV1bMV0gPT0gYlsxXVsxXSAmJgorICAgICAgICBhWzFd
WzJdID09IGJbMV1bMl0gJiYKKyAgICB0cnVlOworfQorYm9vbCBvcGVyYXRvcj09KGZsb2F0Mng0
IGEsIGZsb2F0Mng0IGIpIHsKKyAgICByZXR1cm4KKyAgICAgICAgYVswXVswXSA9PSBiWzBdWzBd
ICYmCisgICAgICAgIGFbMF1bMV0gPT0gYlswXVsxXSAmJgorICAgICAgICBhWzBdWzJdID09IGJb
MF1bMl0gJiYKKyAgICAgICAgYVswXVszXSA9PSBiWzBdWzNdICYmCisgICAgICAgIGFbMV1bMF0g
PT0gYlsxXVswXSAmJgorICAgICAgICBhWzFdWzFdID09IGJbMV1bMV0gJiYKKyAgICAgICAgYVsx
XVsyXSA9PSBiWzFdWzJdICYmCisgICAgICAgIGFbMV1bM10gPT0gYlsxXVszXSAmJgorICAgIHRy
dWU7Cit9Citib29sIG9wZXJhdG9yPT0oZmxvYXQzeDIgYSwgZmxvYXQzeDIgYikgeworICAgIHJl
dHVybgorICAgICAgICBhWzBdWzBdID09IGJbMF1bMF0gJiYKKyAgICAgICAgYVswXVsxXSA9PSBi
WzBdWzFdICYmCisgICAgICAgIGFbMV1bMF0gPT0gYlsxXVswXSAmJgorICAgICAgICBhWzFdWzFd
ID09IGJbMV1bMV0gJiYKKyAgICAgICAgYVsyXVswXSA9PSBiWzJdWzBdICYmCisgICAgICAgIGFb
Ml1bMV0gPT0gYlsyXVsxXSAmJgorICAgIHRydWU7Cit9Citib29sIG9wZXJhdG9yPT0oZmxvYXQz
eDMgYSwgZmxvYXQzeDMgYikgeworICAgIHJldHVybgorICAgICAgICBhWzBdWzBdID09IGJbMF1b
MF0gJiYKKyAgICAgICAgYVswXVsxXSA9PSBiWzBdWzFdICYmCisgICAgICAgIGFbMF1bMl0gPT0g
YlswXVsyXSAmJgorICAgICAgICBhWzFdWzBdID09IGJbMV1bMF0gJiYKKyAgICAgICAgYVsxXVsx
XSA9PSBiWzFdWzFdICYmCisgICAgICAgIGFbMV1bMl0gPT0gYlsxXVsyXSAmJgorICAgICAgICBh
WzJdWzBdID09IGJbMl1bMF0gJiYKKyAgICAgICAgYVsyXVsxXSA9PSBiWzJdWzFdICYmCisgICAg
ICAgIGFbMl1bMl0gPT0gYlsyXVsyXSAmJgorICAgIHRydWU7Cit9Citib29sIG9wZXJhdG9yPT0o
ZmxvYXQzeDQgYSwgZmxvYXQzeDQgYikgeworICAgIHJldHVybgorICAgICAgICBhWzBdWzBdID09
IGJbMF1bMF0gJiYKKyAgICAgICAgYVswXVsxXSA9PSBiWzBdWzFdICYmCisgICAgICAgIGFbMF1b
Ml0gPT0gYlswXVsyXSAmJgorICAgICAgICBhWzBdWzNdID09IGJbMF1bM10gJiYKKyAgICAgICAg
YVsxXVswXSA9PSBiWzFdWzBdICYmCisgICAgICAgIGFbMV1bMV0gPT0gYlsxXVsxXSAmJgorICAg
ICAgICBhWzFdWzJdID09IGJbMV1bMl0gJiYKKyAgICAgICAgYVsxXVszXSA9PSBiWzFdWzNdICYm
CisgICAgICAgIGFbMl1bMF0gPT0gYlsyXVswXSAmJgorICAgICAgICBhWzJdWzFdID09IGJbMl1b
MV0gJiYKKyAgICAgICAgYVsyXVsyXSA9PSBiWzJdWzJdICYmCisgICAgICAgIGFbMl1bM10gPT0g
YlsyXVszXSAmJgorICAgIHRydWU7Cit9Citib29sIG9wZXJhdG9yPT0oZmxvYXQ0eDIgYSwgZmxv
YXQ0eDIgYikgeworICAgIHJldHVybgorICAgICAgICBhWzBdWzBdID09IGJbMF1bMF0gJiYKKyAg
ICAgICAgYVswXVsxXSA9PSBiWzBdWzFdICYmCisgICAgICAgIGFbMV1bMF0gPT0gYlsxXVswXSAm
JgorICAgICAgICBhWzFdWzFdID09IGJbMV1bMV0gJiYKKyAgICAgICAgYVsyXVswXSA9PSBiWzJd
WzBdICYmCisgICAgICAgIGFbMl1bMV0gPT0gYlsyXVsxXSAmJgorICAgICAgICBhWzNdWzBdID09
IGJbM11bMF0gJiYKKyAgICAgICAgYVszXVsxXSA9PSBiWzNdWzFdICYmCisgICAgdHJ1ZTsKK30K
K2Jvb2wgb3BlcmF0b3I9PShmbG9hdDR4MyBhLCBmbG9hdDR4MyBiKSB7CisgICAgcmV0dXJuCisg
ICAgICAgIGFbMF1bMF0gPT0gYlswXVswXSAmJgorICAgICAgICBhWzBdWzFdID09IGJbMF1bMV0g
JiYKKyAgICAgICAgYVswXVsyXSA9PSBiWzBdWzJdICYmCisgICAgICAgIGFbMV1bMF0gPT0gYlsx
XVswXSAmJgorICAgICAgICBhWzFdWzFdID09IGJbMV1bMV0gJiYKKyAgICAgICAgYVsxXVsyXSA9
PSBiWzFdWzJdICYmCisgICAgICAgIGFbMl1bMF0gPT0gYlsyXVswXSAmJgorICAgICAgICBhWzJd
WzFdID09IGJbMl1bMV0gJiYKKyAgICAgICAgYVsyXVsyXSA9PSBiWzJdWzJdICYmCisgICAgICAg
IGFbM11bMF0gPT0gYlszXVswXSAmJgorICAgICAgICBhWzNdWzFdID09IGJbM11bMV0gJiYKKyAg
ICAgICAgYVszXVsyXSA9PSBiWzNdWzJdICYmCisgICAgdHJ1ZTsKK30KK2Jvb2wgb3BlcmF0b3I9
PShmbG9hdDR4NCBhLCBmbG9hdDR4NCBiKSB7CisgICAgcmV0dXJuCisgICAgICAgIGFbMF1bMF0g
PT0gYlswXVswXSAmJgorICAgICAgICBhWzBdWzFdID09IGJbMF1bMV0gJiYKKyAgICAgICAgYVsw
XVsyXSA9PSBiWzBdWzJdICYmCisgICAgICAgIGFbMF1bM10gPT0gYlswXVszXSAmJgorICAgICAg
ICBhWzFdWzBdID09IGJbMV1bMF0gJiYKKyAgICAgICAgYVsxXVsxXSA9PSBiWzFdWzFdICYmCisg
ICAgICAgIGFbMV1bMl0gPT0gYlsxXVsyXSAmJgorICAgICAgICBhWzFdWzNdID09IGJbMV1bM10g
JiYKKyAgICAgICAgYVsyXVswXSA9PSBiWzJdWzBdICYmCisgICAgICAgIGFbMl1bMV0gPT0gYlsy
XVsxXSAmJgorICAgICAgICBhWzJdWzJdID09IGJbMl1bMl0gJiYKKyAgICAgICAgYVsyXVszXSA9
PSBiWzJdWzNdICYmCisgICAgICAgIGFbM11bMF0gPT0gYlszXVswXSAmJgorICAgICAgICBhWzNd
WzFdID09IGJbM11bMV0gJiYKKyAgICAgICAgYVszXVsyXSA9PSBiWzNdWzJdICYmCisgICAgICAg
IGFbM11bM10gPT0gYlszXVszXSAmJgorICAgIHRydWU7Cit9CisvLyBib29sMiBvcGVyYXRvci54
eChib29sMiB2KSB7CisvLyAgICAgYm9vbDIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBib29sMiBvcGVyYXRvci54eShib29sMiB2KSB7CisvLyAgICAgYm9vbDIgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBib29sMiBvcGVyYXRvci54eT0oYm9vbDIgdiwgYm9vbDIgYykg
eworLy8gICAgIGJvb2wyIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAg
ICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wy
IG9wZXJhdG9yLnl4KGJvb2wyIHYpIHsKKy8vICAgICBib29sMiByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGJvb2wyIG9wZXJhdG9yLnl4PShib29sMiB2LCBib29sMiBjKSB7CisvLyAg
ICAgYm9vbDIgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1
bHQueCA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDIgb3BlcmF0
b3IueXkoYm9vbDIgdikgeworLy8gICAgIGJvb2wyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gYm9vbDIgb3BlcmF0b3IueHgoYm9vbDMgdikgeworLy8gICAgIGJvb2wyIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDIgb3BlcmF0b3IueHkoYm9vbDMgdikgeworLy8g
ICAgIGJvb2wyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3Iu
eHk9KGJvb2wzIHYsIGJvb2wyIGMpIHsKKy8vICAgICBib29sMyByZXN1bHQgPSB2OworLy8gICAg
IHJlc3VsdC54ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBib29sMiBvcGVyYXRvci54eihib29sMyB2KSB7CisvLyAgICAgYm9v
bDIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRvci54ej0oYm9v
bDMgdiwgYm9vbDIgYykgeworLy8gICAgIGJvb2wzIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0
LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGJvb2wyIG9wZXJhdG9yLnl4KGJvb2wzIHYpIHsKKy8vICAgICBib29sMiByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnl4PShib29sMyB2LCBi
b29sMiBjKSB7CisvLyAgICAgYm9vbDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMu
eDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gYm9vbDIgb3BlcmF0b3IueXkoYm9vbDMgdikgeworLy8gICAgIGJvb2wyIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDIgb3BlcmF0b3IueXooYm9vbDMgdikgeworLy8gICAg
IGJvb2wyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3IueXo9
KGJvb2wzIHYsIGJvb2wyIGMpIHsKKy8vICAgICBib29sMyByZXN1bHQgPSB2OworLy8gICAgIHJl
c3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBib29sMiBvcGVyYXRvci56eChib29sMyB2KSB7CisvLyAgICAgYm9vbDIg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRvci56eD0oYm9vbDMg
diwgYm9vbDIgYykgeworLy8gICAgIGJvb2wzIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0Lnog
PSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGJvb2wyIG9wZXJhdG9yLnp5KGJvb2wzIHYpIHsKKy8vICAgICBib29sMiByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnp5PShib29sMyB2LCBib29s
MiBjKSB7CisvLyAgICAgYm9vbDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsK
Ky8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
Ym9vbDIgb3BlcmF0b3IuenooYm9vbDMgdikgeworLy8gICAgIGJvb2wyIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gYm9vbDIgb3BlcmF0b3IueHgoYm9vbDQgdikgeworLy8gICAgIGJv
b2wyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDIgb3BlcmF0b3IueHkoYm9v
bDQgdikgeworLy8gICAgIGJvb2wyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9v
bDQgb3BlcmF0b3IueHk9KGJvb2w0IHYsIGJvb2wyIGMpIHsKKy8vICAgICBib29sNCByZXN1bHQg
PSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMiBvcGVyYXRvci54eihib29sNCB2KSB7
CisvLyAgICAgYm9vbDIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJl
c3VsdC55ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVy
YXRvci54ej0oYm9vbDQgdiwgYm9vbDIgYykgeworLy8gICAgIGJvb2w0IHJlc3VsdCA9IHY7Cisv
LyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wyIG9wZXJhdG9yLnh3KGJvb2w0IHYpIHsKKy8vICAg
ICBib29sMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh3
PShib29sNCB2LCBib29sMiBjKSB7CisvLyAgICAgYm9vbDQgcmVzdWx0ID0gdjsKKy8vICAgICBy
ZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gYm9vbDIgb3BlcmF0b3IueXgoYm9vbDQgdikgeworLy8gICAgIGJvb2wy
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXg9KGJvb2w0
IHYsIGJvb2wyIGMpIHsKKy8vICAgICBib29sNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55
ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBib29sMiBvcGVyYXRvci55eShib29sNCB2KSB7CisvLyAgICAgYm9vbDIgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMiBvcGVyYXRvci55eihib29sNCB2KSB7Cisv
LyAgICAgYm9vbDIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRv
ci55ej0oYm9vbDQgdiwgYm9vbDIgYykgeworLy8gICAgIGJvb2w0IHJlc3VsdCA9IHY7CisvLyAg
ICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wyIG9wZXJhdG9yLnl3KGJvb2w0IHYpIHsKKy8vICAgICBi
b29sMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl3PShi
b29sNCB2LCBib29sMiBjKSB7CisvLyAgICAgYm9vbDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1
bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gYm9vbDIgb3BlcmF0b3IuengoYm9vbDQgdikgeworLy8gICAgIGJvb2wyIHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iueng9KGJvb2w0IHYs
IGJvb2wyIGMpIHsKKy8vICAgICBib29sNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0g
Yy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBib29sMiBvcGVyYXRvci56eShib29sNCB2KSB7CisvLyAgICAgYm9vbDIgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56eT0oYm9vbDQgdiwgYm9vbDIg
YykgeworLy8gICAgIGJvb2w0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7Cisv
LyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJv
b2wyIG9wZXJhdG9yLnp6KGJvb2w0IHYpIHsKKy8vICAgICBib29sMiByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGJvb2wyIG9wZXJhdG9yLnp3KGJvb2w0IHYpIHsKKy8vICAgICBib29s
MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp3PShib29s
NCB2LCBib29sMiBjKSB7CisvLyAgICAgYm9vbDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQu
eiA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gYm9vbDIgb3BlcmF0b3Iud3goYm9vbDQgdikgeworLy8gICAgIGJvb2wyIHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iud3g9KGJvb2w0IHYsIGJv
b2wyIGMpIHsKKy8vICAgICBib29sNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54
OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBib29sMiBvcGVyYXRvci53eShib29sNCB2KSB7CisvLyAgICAgYm9vbDIgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci53eT0oYm9vbDQgdiwgYm9vbDIgYykg
eworLy8gICAgIGJvb2w0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAg
ICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wy
IG9wZXJhdG9yLnd6KGJvb2w0IHYpIHsKKy8vICAgICBib29sMiByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnd6PShib29sNCB2LCBib29sMiBjKSB7CisvLyAg
ICAgYm9vbDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1
bHQueiA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDIgb3BlcmF0
b3Iud3coYm9vbDQgdikgeworLy8gICAgIGJvb2wyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gYm9vbDMgb3BlcmF0b3IueHh4KGJvb2wyIHYpIHsKKy8vICAgICBib29sMyByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9w
ZXJhdG9yLnh4eShib29sMiB2KSB7CisvLyAgICAgYm9vbDMgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRvci54eXgoYm9v
bDIgdikgeworLy8gICAgIGJvb2wzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3IueHl5KGJvb2wyIHYpIHsKKy8vICAg
ICBib29sMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGJvb2wzIG9wZXJhdG9yLnl4eChib29sMiB2KSB7CisvLyAgICAgYm9vbDMgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBv
cGVyYXRvci55eHkoYm9vbDIgdikgeworLy8gICAgIGJvb2wzIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3IueXl4KGJv
b2wyIHYpIHsKKy8vICAgICBib29sMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnl5eShib29sMiB2KSB7CisvLyAg
ICAgYm9vbDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBib29sMyBvcGVyYXRvci54eHgoYm9vbDMgdikgeworLy8gICAgIGJvb2wzIHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMg
b3BlcmF0b3IueHh5KGJvb2wzIHYpIHsKKy8vICAgICBib29sMyByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnh4eihi
b29sMyB2KSB7CisvLyAgICAgYm9vbDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRvci54eXgoYm9vbDMgdikgeworLy8g
ICAgIGJvb2wzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gYm9vbDMgb3BlcmF0b3IueHl5KGJvb2wzIHYpIHsKKy8vICAgICBib29sMyByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wz
IG9wZXJhdG9yLnh5eihib29sMyB2KSB7CisvLyAgICAgYm9vbDMgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRvci54eXo9
KGJvb2wzIHYsIGJvb2wzIGMpIHsKKy8vICAgICBib29sMyByZXN1bHQgPSB2OworLy8gICAgIHJl
c3VsdC54ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0g
Yy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRvci54engo
Ym9vbDMgdikgeworLy8gICAgIGJvb2wzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsK
Ky8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3IueHp5KGJvb2wzIHYpIHsKKy8v
ICAgICBib29sMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnh6eT0oYm9vbDMgdiwgYm9vbDMgYykgeworLy8gICAg
IGJvb2wzIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0
LnogPSBjLnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnh6eihib29sMyB2KSB7CisvLyAgICAgYm9vbDMgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29s
MyBvcGVyYXRvci55eHgoYm9vbDMgdikgeworLy8gICAgIGJvb2wzIHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9
IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3IueXh5
KGJvb2wzIHYpIHsKKy8vICAgICBib29sMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnl4eihib29sMyB2KSB7Cisv
LyAgICAgYm9vbDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBib29sMyBvcGVyYXRvci55eHo9KGJvb2wzIHYsIGJvb2wzIGMpIHsKKy8vICAg
ICBib29sMyByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3Vs
dC54ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBib29sMyBvcGVyYXRvci55eXgoYm9vbDMgdikgeworLy8gICAgIGJvb2wzIHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9v
bDMgb3BlcmF0b3IueXl5KGJvb2wzIHYpIHsKKy8vICAgICBib29sMyByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnl5
eihib29sMyB2KSB7CisvLyAgICAgYm9vbDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRvci55engoYm9vbDMgdikgewor
Ly8gICAgIGJvb2wzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3IueXp4PShib29sMyB2LCBib29sMyBjKSB7CisvLyAg
ICAgYm9vbDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1
bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3IueXp5KGJvb2wzIHYpIHsKKy8vICAgICBib29sMyBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJv
b2wzIG9wZXJhdG9yLnl6eihib29sMyB2KSB7CisvLyAgICAgYm9vbDMgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRvci56
eHgoYm9vbDMgdikgeworLy8gICAgIGJvb2wzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
ejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3Iuenh5KGJvb2wzIHYpIHsK
Ky8vICAgICBib29sMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnp4eT0oYm9vbDMgdiwgYm9vbDMgYykgeworLy8g
ICAgIGJvb2wzIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVz
dWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnp4eihib29sMyB2KSB7CisvLyAgICAgYm9vbDMg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBi
b29sMyBvcGVyYXRvci56eXgoYm9vbDMgdikgeworLy8gICAgIGJvb2wzIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQu
eiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3Iu
enl4PShib29sMyB2LCBib29sMyBjKSB7CisvLyAgICAgYm9vbDMgcmVzdWx0ID0gdjsKKy8vICAg
ICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQu
eCA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3Iu
enl5KGJvb2wzIHYpIHsKKy8vICAgICBib29sMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnp5eihib29sMyB2KSB7
CisvLyAgICAgYm9vbDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJl
c3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRvci56engoYm9vbDMgdikgeworLy8gICAgIGJvb2wz
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsK
Ky8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
Ym9vbDMgb3BlcmF0b3Iuenp5KGJvb2wzIHYpIHsKKy8vICAgICBib29sMyByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9y
Lnp6eihib29sMyB2KSB7CisvLyAgICAgYm9vbDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRvci54eHgoYm9vbDQgdikg
eworLy8gICAgIGJvb2wzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICBy
ZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3IueHh5KGJvb2w0IHYpIHsKKy8vICAgICBib29s
MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGJvb2wzIG9wZXJhdG9yLnh4eihib29sNCB2KSB7CisvLyAgICAgYm9vbDMgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRv
ci54eHcoYm9vbDQgdikgeworLy8gICAgIGJvb2wzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3IueHl4KGJvb2w0IHYp
IHsKKy8vICAgICBib29sMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnh5eShib29sNCB2KSB7CisvLyAgICAgYm9v
bDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBib29sMyBvcGVyYXRvci54eXooYm9vbDQgdikgeworLy8gICAgIGJvb2wzIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0
b3IueHl6PShib29sNCB2LCBib29sMyBjKSB7CisvLyAgICAgYm9vbDQgcmVzdWx0ID0gdjsKKy8v
ICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1
bHQueiA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0
b3IueHl3KGJvb2w0IHYpIHsKKy8vICAgICBib29sMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh5dz0oYm9vbDQg
diwgYm9vbDMgYykgeworLy8gICAgIGJvb2w0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0Lngg
PSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnh6eChib29sNCB2
KSB7CisvLyAgICAgYm9vbDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRvci54enkoYm9vbDQgdikgeworLy8gICAgIGJv
b2wzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
ejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gYm9vbDQgb3BlcmF0b3IueHp5PShib29sNCB2LCBib29sMyBjKSB7CisvLyAgICAgYm9vbDQg
cmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMu
eTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gYm9vbDMgb3BlcmF0b3IueHp6KGJvb2w0IHYpIHsKKy8vICAgICBib29sMyByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJh
dG9yLnh6dyhib29sNCB2KSB7CisvLyAgICAgYm9vbDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54enc9KGJvb2w0
IHYsIGJvb2wzIGMpIHsKKy8vICAgICBib29sNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54
ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRvci54d3goYm9vbDQg
dikgeworLy8gICAgIGJvb2wzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3IueHd5KGJvb2w0IHYpIHsKKy8vICAgICBi
b29sMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGJvb2w0IG9wZXJhdG9yLnh3eT0oYm9vbDQgdiwgYm9vbDMgYykgeworLy8gICAgIGJvb2w0
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBj
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGJvb2wzIG9wZXJhdG9yLnh3eihib29sNCB2KSB7CisvLyAgICAgYm9vbDMgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJl
c3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVy
YXRvci54d3o9KGJvb2w0IHYsIGJvb2wzIGMpIHsKKy8vICAgICBib29sNCByZXN1bHQgPSB2Owor
Ly8gICAgIHJlc3VsdC54ID0gYy54OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJl
c3VsdC56ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVy
YXRvci54d3coYm9vbDQgdikgeworLy8gICAgIGJvb2wzIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3IueXh4KGJvb2w0
IHYpIHsKKy8vICAgICBib29sMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnl4eShib29sNCB2KSB7CisvLyAgICAg
Ym9vbDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBib29sMyBvcGVyYXRvci55eHooYm9vbDQgdikgeworLy8gICAgIGJvb2wzIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3Bl
cmF0b3IueXh6PShib29sNCB2LCBib29sMyBjKSB7CisvLyAgICAgYm9vbDQgcmVzdWx0ID0gdjsK
Ky8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICBy
ZXN1bHQueiA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3Bl
cmF0b3IueXh3KGJvb2w0IHYpIHsKKy8vICAgICBib29sMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl4dz0oYm9v
bDQgdiwgYm9vbDMgYykgeworLy8gICAgIGJvb2w0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0
LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnl5eChib29s
NCB2KSB7CisvLyAgICAgYm9vbDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRvci55eXkoYm9vbDQgdikgeworLy8gICAg
IGJvb2wzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gYm9vbDMgb3BlcmF0b3IueXl6KGJvb2w0IHYpIHsKKy8vICAgICBib29sMyByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9w
ZXJhdG9yLnl5dyhib29sNCB2KSB7CisvLyAgICAgYm9vbDMgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRvci55engoYm9v
bDQgdikgeworLy8gICAgIGJvb2wzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXp4PShib29sNCB2LCBib29sMyBj
KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8v
ICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3IueXp5KGJvb2w0IHYpIHsKKy8vICAg
ICBib29sMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGJvb2wzIG9wZXJhdG9yLnl6eihib29sNCB2KSB7CisvLyAgICAgYm9vbDMgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBv
cGVyYXRvci55encoYm9vbDQgdikgeworLy8gICAgIGJvb2wzIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYu
dzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXp3PShi
b29sNCB2LCBib29sMyBjKSB7CisvLyAgICAgYm9vbDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1
bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3IueXd4KGJv
b2w0IHYpIHsKKy8vICAgICBib29sMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl3eD0oYm9vbDQgdiwgYm9vbDMg
YykgeworLy8gICAgIGJvb2w0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7Cisv
LyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnl3eShib29sNCB2KSB7CisvLyAg
ICAgYm9vbDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55
ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBib29sMyBvcGVyYXRvci55d3ooYm9vbDQgdikgeworLy8gICAgIGJvb2wzIHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAg
ICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQg
b3BlcmF0b3IueXd6PShib29sNCB2LCBib29sMyBjKSB7CisvLyAgICAgYm9vbDQgcmVzdWx0ID0g
djsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAg
ICByZXN1bHQueiA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMg
b3BlcmF0b3IueXd3KGJvb2w0IHYpIHsKKy8vICAgICBib29sMyByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnp4eChi
b29sNCB2KSB7CisvLyAgICAgYm9vbDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRvci56eHkoYm9vbDQgdikgeworLy8g
ICAgIGJvb2wzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuenh5PShib29sNCB2LCBib29sMyBjKSB7CisvLyAgICAg
Ym9vbDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQu
eCA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gYm9vbDMgb3BlcmF0b3Iuenh6KGJvb2w0IHYpIHsKKy8vICAgICBib29sMyByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wz
IG9wZXJhdG9yLnp4dyhib29sNCB2KSB7CisvLyAgICAgYm9vbDMgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0g
di53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56eHc9
KGJvb2w0IHYsIGJvb2wzIGMpIHsKKy8vICAgICBib29sNCByZXN1bHQgPSB2OworLy8gICAgIHJl
c3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0g
Yy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRvci56eXgo
Ym9vbDQgdikgeworLy8gICAgIGJvb2wzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuenl4PShib29sNCB2LCBib29s
MyBjKSB7CisvLyAgICAgYm9vbDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsK
Ky8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQueCA9IGMuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3Iuenl5KGJvb2w0IHYpIHsKKy8v
ICAgICBib29sMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnp5eihib29sNCB2KSB7CisvLyAgICAgYm9vbDMgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29s
MyBvcGVyYXRvci56eXcoYm9vbDQgdikgeworLy8gICAgIGJvb2wzIHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuenl3
PShib29sNCB2LCBib29sMyBjKSB7CisvLyAgICAgYm9vbDQgcmVzdWx0ID0gdjsKKy8vICAgICBy
ZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQudyA9
IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3Iuenp4
KGJvb2w0IHYpIHsKKy8vICAgICBib29sMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnp6eShib29sNCB2KSB7Cisv
LyAgICAgYm9vbDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBib29sMyBvcGVyYXRvci56enooYm9vbDQgdikgeworLy8gICAgIGJvb2wzIHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9v
bDMgb3BlcmF0b3Iuenp3KGJvb2w0IHYpIHsKKy8vICAgICBib29sMyByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnp3
eChib29sNCB2KSB7CisvLyAgICAgYm9vbDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56
OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56d3g9KGJvb2w0IHYsIGJv
b2wzIGMpIHsKKy8vICAgICBib29sNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54
OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRvci56d3koYm9vbDQgdikgewor
Ly8gICAgIGJvb2wzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1
bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuend5PShib29sNCB2LCBib29sMyBjKSB7CisvLyAg
ICAgYm9vbDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1
bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3Iuend6KGJvb2w0IHYpIHsKKy8vICAgICBib29sMyBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJv
b2wzIG9wZXJhdG9yLnp3dyhib29sNCB2KSB7CisvLyAgICAgYm9vbDMgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56
ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRvci53
eHgoYm9vbDQgdikgeworLy8gICAgIGJvb2wzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
dzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3Iud3h5KGJvb2w0IHYpIHsK
Ky8vICAgICBib29sMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnd4eT0oYm9vbDQgdiwgYm9vbDMgYykgeworLy8g
ICAgIGJvb2w0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVz
dWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnd4eihib29sNCB2KSB7CisvLyAgICAgYm9vbDMg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBi
b29sNCBvcGVyYXRvci53eHo9KGJvb2w0IHYsIGJvb2wzIGMpIHsKKy8vICAgICBib29sNCByZXN1
bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55Owor
Ly8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBi
b29sMyBvcGVyYXRvci53eHcoYm9vbDQgdikgeworLy8gICAgIGJvb2wzIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQu
eiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3Iu
d3l4KGJvb2w0IHYpIHsKKy8vICAgICBib29sMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnd5eD0oYm9vbDQgdiwg
Ym9vbDMgYykgeworLy8gICAgIGJvb2w0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBj
Lng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnd5eShib29sNCB2KSB7
CisvLyAgICAgYm9vbDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJl
c3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRvci53eXooYm9vbDQgdikgeworLy8gICAgIGJvb2wz
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
Ym9vbDQgb3BlcmF0b3Iud3l6PShib29sNCB2LCBib29sMyBjKSB7CisvLyAgICAgYm9vbDQgcmVz
dWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsK
Ky8vICAgICByZXN1bHQueiA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
Ym9vbDMgb3BlcmF0b3Iud3l3KGJvb2w0IHYpIHsKKy8vICAgICBib29sMyByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9y
Lnd6eChib29sNCB2KSB7CisvLyAgICAgYm9vbDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci53eng9KGJvb2w0IHYs
IGJvb2wzIGMpIHsKKy8vICAgICBib29sNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0g
Yy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRvci53enkoYm9vbDQgdikg
eworLy8gICAgIGJvb2wzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICBy
ZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iud3p5PShib29sNCB2LCBib29sMyBjKSB7Cisv
LyAgICAgYm9vbDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICBy
ZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3Iud3p6KGJvb2w0IHYpIHsKKy8vICAgICBib29s
MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGJvb2wzIG9wZXJhdG9yLnd6dyhib29sNCB2KSB7CisvLyAgICAgYm9vbDMgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3Vs
dC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sMyBvcGVyYXRv
ci53d3goYm9vbDQgdikgeworLy8gICAgIGJvb2wzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDMgb3BlcmF0b3Iud3d5KGJvb2w0IHYp
IHsKKy8vICAgICBib29sMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGJvb2wzIG9wZXJhdG9yLnd3eihib29sNCB2KSB7CisvLyAgICAgYm9v
bDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53
OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBib29sMyBvcGVyYXRvci53d3coYm9vbDQgdikgeworLy8gICAgIGJvb2wzIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1
bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0
b3IueHh4eChib29sMiB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBi
b29sNCBvcGVyYXRvci54eHh5KGJvb2wyIHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh4eXgoYm9vbDIgdikgeworLy8gICAgIGJvb2w0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueHh5eShib29sMiB2KSB7CisvLyAg
ICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54eXh4KGJvb2wy
IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0
LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9y
Lnh5eHkoYm9vbDIgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8v
ICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9v
bDQgb3BlcmF0b3IueHl5eChib29sMiB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBib29sNCBvcGVyYXRvci54eXl5KGJvb2wyIHYpIHsKKy8vICAgICBib29sNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl4eHgoYm9vbDIgdikgeworLy8gICAg
IGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXh4eShib29sMiB2
KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci55
eHl4KGJvb2wyIHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0
IG9wZXJhdG9yLnl4eXkoYm9vbDIgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gYm9vbDQgb3BlcmF0b3IueXl4eChib29sMiB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci55eXh5KGJvb2wyIHYpIHsKKy8vICAgICBi
b29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl5eXgoYm9vbDIgdikg
eworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9
IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXl5
eShib29sMiB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBv
cGVyYXRvci54eHh4KGJvb2wzIHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGJvb2w0IG9wZXJhdG9yLnh4eHkoYm9vbDMgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueHh4eihib29sMyB2KSB7CisvLyAgICAgYm9v
bDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54eHl4KGJvb2wzIHYpIHsK
Ky8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh4eXko
Ym9vbDMgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3Bl
cmF0b3IueHh5eihib29sMyB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55
OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBib29sNCBvcGVyYXRvci54eHp4KGJvb2wzIHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh4enkoYm9vbDMgdikgeworLy8gICAgIGJvb2w0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueHh6eihib29sMyB2KSB7Cisv
LyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54eXh4KGJv
b2wzIHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVz
dWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJh
dG9yLnh5eHkoYm9vbDMgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
Ym9vbDQgb3BlcmF0b3IueHl4eihib29sMyB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54eXl4KGJvb2wzIHYpIHsKKy8vICAgICBib29sNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh5eXkoYm9vbDMgdikgeworLy8g
ICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueHl5eihib29s
MyB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3Vs
dC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRv
ci54eXp4KGJvb2wzIHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJv
b2w0IG9wZXJhdG9yLnh5enkoYm9vbDMgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQu
eiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gYm9vbDQgb3BlcmF0b3IueHl6eihib29sMyB2KSB7CisvLyAgICAgYm9vbDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54enh4KGJvb2wzIHYpIHsKKy8vICAg
ICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh6eHkoYm9vbDMg
dikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iu
eHp4eihib29sMyB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8g
ICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29s
NCBvcGVyYXRvci54enl4KGJvb2wzIHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh6eXkoYm9vbDMgdikgeworLy8gICAgIGJvb2w0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueHp5eihib29sMyB2KSB7CisvLyAgICAg
Ym9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54enp4KGJvb2wzIHYp
IHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh6
enkoYm9vbDMgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAg
ICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQg
b3BlcmF0b3IueHp6eihib29sMyB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBib29sNCBvcGVyYXRvci55eHh4KGJvb2wzIHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl4eHkoYm9vbDMgdikgeworLy8gICAgIGJv
b2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXh4eihib29sMyB2KSB7
CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJl
c3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci55eHl4
KGJvb2wzIHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9w
ZXJhdG9yLnl4eXkoYm9vbDMgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gYm9vbDQgb3BlcmF0b3IueXh5eihib29sMyB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci55eHp4KGJvb2wzIHYpIHsKKy8vICAgICBib29s
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl4enkoYm9vbDMgdikgewor
Ly8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXh6eihi
b29sMyB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJl
c3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVy
YXRvci55eXh4KGJvb2wzIHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7
CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGJvb2w0IG9wZXJhdG9yLnl5eHkoYm9vbDMgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXl4eihib29sMyB2KSB7CisvLyAgICAgYm9vbDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci55eXl4KGJvb2wzIHYpIHsKKy8v
ICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl5eXkoYm9v
bDMgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1
bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0
b3IueXl5eihib29sMyB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBi
b29sNCBvcGVyYXRvci55eXp4KGJvb2wzIHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl5enkoYm9vbDMgdikgeworLy8gICAgIGJvb2w0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXl6eihib29sMyB2KSB7CisvLyAg
ICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci55enh4KGJvb2wz
IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0
LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9y
Lnl6eHkoYm9vbDMgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8v
ICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9v
bDQgb3BlcmF0b3IueXp4eihib29sMyB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBib29sNCBvcGVyYXRvci55enl4KGJvb2wzIHYpIHsKKy8vICAgICBib29sNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl6eXkoYm9vbDMgdikgeworLy8gICAg
IGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXp5eihib29sMyB2
KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci55
enp4KGJvb2wzIHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0
IG9wZXJhdG9yLnl6enkoYm9vbDMgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9
IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gYm9vbDQgb3BlcmF0b3IueXp6eihib29sMyB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56eHh4KGJvb2wzIHYpIHsKKy8vICAgICBi
b29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp4eHkoYm9vbDMgdikg
eworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuenh4
eihib29sMyB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56
OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBv
cGVyYXRvci56eHl4KGJvb2wzIHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGJvb2w0IG9wZXJhdG9yLnp4eXkoYm9vbDMgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuenh5eihib29sMyB2KSB7CisvLyAgICAgYm9v
bDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56eHp4KGJvb2wzIHYpIHsK
Ky8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp4enko
Ym9vbDMgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3Bl
cmF0b3Iuenh6eihib29sMyB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56
OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBib29sNCBvcGVyYXRvci56eXh4KGJvb2wzIHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp5eHkoYm9vbDMgdikgeworLy8gICAgIGJvb2w0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuenl4eihib29sMyB2KSB7Cisv
LyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56eXl4KGJv
b2wzIHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVz
dWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJh
dG9yLnp5eXkoYm9vbDMgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsK
Ky8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
Ym9vbDQgb3BlcmF0b3Iuenl5eihib29sMyB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3Vs
dC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56eXp4KGJvb2wzIHYpIHsKKy8vICAgICBib29sNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp5enkoYm9vbDMgdikgeworLy8g
ICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuenl6eihib29s
MyB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3Vs
dC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRv
ci56enh4KGJvb2wzIHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJv
b2w0IG9wZXJhdG9yLnp6eHkoYm9vbDMgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuenp4eihib29sMyB2KSB7CisvLyAgICAgYm9vbDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56enl4KGJvb2wzIHYpIHsKKy8vICAg
ICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp6eXkoYm9vbDMg
dikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iu
enp5eihib29sMyB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29s
NCBvcGVyYXRvci56enp4KGJvb2wzIHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp6enkoYm9vbDMgdikgeworLy8gICAgIGJvb2w0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuenp6eihib29sMyB2KSB7CisvLyAgICAg
Ym9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54eHh4KGJvb2w0IHYp
IHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh4
eHkoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAg
ICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQg
b3BlcmF0b3IueHh4eihib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0g
di54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBib29sNCBvcGVyYXRvci54eHh3KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh4eXgoYm9vbDQgdikgeworLy8gICAgIGJv
b2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueHh5eShib29sNCB2KSB7
CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJl
c3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0g
di55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54eHl6
KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9w
ZXJhdG9yLnh4eXcoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gYm9vbDQgb3BlcmF0b3IueHh6eChib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54eHp5KGJvb2w0IHYpIHsKKy8vICAgICBib29s
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh4enooYm9vbDQgdikgewor
Ly8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueHh6dyhi
b29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJl
c3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVy
YXRvci54eHd4KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7
CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGJvb2w0IG9wZXJhdG9yLnh4d3koYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueHh3eihib29sNCB2KSB7CisvLyAgICAgYm9vbDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54eHd3KGJvb2w0IHYpIHsKKy8v
ICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh5eHgoYm9v
bDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1
bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0
b3IueHl4eShib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBi
b29sNCBvcGVyYXRvci54eXh6KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh5eHcoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueHl5eChib29sNCB2KSB7CisvLyAg
ICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54eXl5KGJvb2w0
IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0
LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9y
Lnh5eXooYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8v
ICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9v
bDQgb3BlcmF0b3IueHl5dyhib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBib29sNCBvcGVyYXRvci54eXp4KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh5enkoYm9vbDQgdikgeworLy8gICAg
IGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueHl6eihib29sNCB2
KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54
eXp3KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0
IG9wZXJhdG9yLnh5enc9KGJvb2w0IHYsIGJvb2w0IGMpIHsKKy8vICAgICBib29sNCByZXN1bHQg
PSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8g
ICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJlc3VsdC53ID0gYy53OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54eXd4KGJvb2w0IHYpIHsKKy8vICAg
ICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh5d3koYm9vbDQg
dikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iu
eHl3eihib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8g
ICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29s
NCBvcGVyYXRvci54eXd6PShib29sNCB2LCBib29sNCBjKSB7CisvLyAgICAgYm9vbDQgcmVzdWx0
ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8v
ICAgICByZXN1bHQudyA9IGMuejsKKy8vICAgICByZXN1bHQueiA9IGMudzsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueHl3dyhib29sNCB2KSB7CisvLyAg
ICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54enh4KGJvb2w0
IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0
LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9y
Lnh6eHkoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8v
ICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9v
bDQgb3BlcmF0b3IueHp4eihib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBib29sNCBvcGVyYXRvci54enh3KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh6eXgoYm9vbDQgdikgeworLy8gICAg
IGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueHp5eShib29sNCB2
KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54
enl6KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0
IG9wZXJhdG9yLnh6eXcoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gYm9vbDQgb3BlcmF0b3IueHp5dz0oYm9vbDQgdiwgYm9vbDQgYykgeworLy8gICAgIGJv
b2w0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0Lnog
PSBjLnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmVzdWx0LncgPSBjLnc7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh6engoYm9vbDQg
dikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQu
dyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iu
eHp6eShib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29s
NCBvcGVyYXRvci54enp6KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh6encoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueHp3eChib29sNCB2KSB7CisvLyAgICAg
Ym9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54end5KGJvb2w0IHYp
IHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh6
d3k9KGJvb2w0IHYsIGJvb2w0IGMpIHsKKy8vICAgICBib29sNCByZXN1bHQgPSB2OworLy8gICAg
IHJlc3VsdC54ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC53
ID0gYy56OworLy8gICAgIHJlc3VsdC55ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBib29sNCBvcGVyYXRvci54end6KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh6d3coYm9vbDQgdikgeworLy8gICAg
IGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueHd4eChib29sNCB2
KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53
ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54
d3h5KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0
IG9wZXJhdG9yLnh3eHooYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9
IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gYm9vbDQgb3BlcmF0b3IueHd4dyhib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54d3l4KGJvb2w0IHYpIHsKKy8vICAgICBi
b29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh3eXkoYm9vbDQgdikg
eworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueHd5
eihib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBv
cGVyYXRvci54d3l6PShib29sNCB2LCBib29sNCBjKSB7CisvLyAgICAgYm9vbDQgcmVzdWx0ID0g
djsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAg
ICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXN1bHQueiA9IGMudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueHd5dyhib29sNCB2KSB7CisvLyAgICAg
Ym9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0g
di53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54d3p4KGJvb2w0IHYp
IHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh3
enkoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAg
ICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQg
b3BlcmF0b3IueHd6eT0oYm9vbDQgdiwgYm9vbDQgYykgeworLy8gICAgIGJvb2w0IHJlc3VsdCA9
IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAg
ICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmVzdWx0LnkgPSBjLnc7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnh3enooYm9vbDQgdikgeworLy8gICAg
IGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueHd6dyhib29sNCB2
KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53
ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54
d3d4KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0
IG9wZXJhdG9yLnh3d3koYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9
IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gYm9vbDQgb3BlcmF0b3IueHd3eihib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAg
IHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci54d3d3KGJvb2w0IHYpIHsKKy8vICAgICBi
b29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl4eHgoYm9vbDQgdikg
eworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9
IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXh4
eShib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55
OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBv
cGVyYXRvci55eHh6KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGJvb2w0IG9wZXJhdG9yLnl4eHcoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXh5eChib29sNCB2KSB7CisvLyAgICAgYm9v
bDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci55eHl5KGJvb2w0IHYpIHsK
Ky8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl4eXoo
Ym9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICBy
ZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3Bl
cmF0b3IueXh5dyhib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55
OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBib29sNCBvcGVyYXRvci55eHp4KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl4enkoYm9vbDQgdikgeworLy8gICAgIGJvb2w0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXh6eihib29sNCB2KSB7Cisv
LyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci55eHp3KGJv
b2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJh
dG9yLnl4enc9KGJvb2w0IHYsIGJvb2w0IGMpIHsKKy8vICAgICBib29sNCByZXN1bHQgPSB2Owor
Ly8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJl
c3VsdC56ID0gYy56OworLy8gICAgIHJlc3VsdC53ID0gYy53OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci55eHd4KGJvb2w0IHYpIHsKKy8vICAgICBib29s
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl4d3koYm9vbDQgdikgewor
Ly8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXh3eihi
b29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJl
c3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVy
YXRvci55eHd6PShib29sNCB2LCBib29sNCBjKSB7CisvLyAgICAgYm9vbDQgcmVzdWx0ID0gdjsK
Ky8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICBy
ZXN1bHQudyA9IGMuejsKKy8vICAgICByZXN1bHQueiA9IGMudzsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXh3dyhib29sNCB2KSB7CisvLyAgICAgYm9v
bDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci55eXh4KGJvb2w0IHYpIHsK
Ky8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl5eHko
Ym9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3Bl
cmF0b3IueXl4eihib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBib29sNCBvcGVyYXRvci55eXh3KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl5eXgoYm9vbDQgdikgeworLy8gICAgIGJvb2w0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXl5eShib29sNCB2KSB7Cisv
LyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci55eXl6KGJv
b2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVz
dWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJh
dG9yLnl5eXcoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsK
Ky8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
Ym9vbDQgb3BlcmF0b3IueXl6eChib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBib29sNCBvcGVyYXRvci55eXp5KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl5enooYm9vbDQgdikgeworLy8g
ICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXl6dyhib29s
NCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3Vs
dC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRv
ci55eXd4KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJv
b2w0IG9wZXJhdG9yLnl5d3koYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQu
eiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXl3eihib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci55eXd3KGJvb2w0IHYpIHsKKy8vICAg
ICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl6eHgoYm9vbDQg
dikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQu
dyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iu
eXp4eShib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8g
ICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29s
NCBvcGVyYXRvci55enh6KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl6eHcoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXp4dz0oYm9vbDQgdiwgYm9vbDQgYykg
eworLy8gICAgIGJvb2w0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAg
ICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmVzdWx0
LncgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9y
Lnl6eXgoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8v
ICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9v
bDQgb3BlcmF0b3IueXp5eShib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBib29sNCBvcGVyYXRvci55enl6KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl6eXcoYm9vbDQgdikgeworLy8gICAg
IGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXp6eChib29sNCB2
KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53
ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci55
enp5KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0
IG9wZXJhdG9yLnl6enooYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9
IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gYm9vbDQgb3BlcmF0b3IueXp6dyhib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci55end4KGJvb2w0IHYpIHsKKy8vICAgICBi
b29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl6d3g9KGJvb2w0IHYs
IGJvb2w0IGMpIHsKKy8vICAgICBib29sNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0g
Yy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8g
ICAgIHJlc3VsdC54ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29s
NCBvcGVyYXRvci55end5KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl6d3ooYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXp3dyhib29sNCB2KSB7CisvLyAgICAg
Ym9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci55d3h4KGJvb2w0IHYp
IHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl3
eHkoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAg
ICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQg
b3BlcmF0b3IueXd4eihib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0g
di54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBib29sNCBvcGVyYXRvci55d3h6PShib29sNCB2LCBib29sNCBjKSB7CisvLyAgICAgYm9v
bDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQudyA9
IGMueTsKKy8vICAgICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXN1bHQueiA9IGMudzsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXd4dyhib29sNCB2
KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53
ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci55
d3l4KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0
IG9wZXJhdG9yLnl3eXkoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gYm9vbDQgb3BlcmF0b3IueXd5eihib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAg
IHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci55d3l3KGJvb2w0IHYpIHsKKy8vICAgICBi
b29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl3engoYm9vbDQgdikg
eworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9
IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXd6
eD0oYm9vbDQgdiwgYm9vbDQgYykgeworLy8gICAgIGJvb2w0IHJlc3VsdCA9IHY7CisvLyAgICAg
cmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmVzdWx0Lnog
PSBjLno7CisvLyAgICAgcmVzdWx0LnggPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl3enkoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAg
ICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3IueXd6eihib29sNCB2KSB7CisvLyAgICAg
Ym9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci55d3p3KGJvb2w0IHYp
IHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl3
d3goYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAg
ICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQg
b3BlcmF0b3IueXd3eShib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0g
di53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBib29sNCBvcGVyYXRvci55d3d6KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnl3d3coYm9vbDQgdikgeworLy8gICAgIGJv
b2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
dzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuenh4eChib29sNCB2KSB7
CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJl
c3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0g
di54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56eHh5
KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9w
ZXJhdG9yLnp4eHooYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
eDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gYm9vbDQgb3BlcmF0b3Iuenh4dyhib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56eHl4KGJvb2w0IHYpIHsKKy8vICAgICBib29s
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp4eXkoYm9vbDQgdikgewor
Ly8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuenh5eihi
b29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
c3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVy
YXRvci56eHl3KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGJvb2w0IG9wZXJhdG9yLnp4eXc9KGJvb2w0IHYsIGJvb2w0IGMpIHsKKy8vICAgICBib29sNCBy
ZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55
OworLy8gICAgIHJlc3VsdC55ID0gYy56OworLy8gICAgIHJlc3VsdC53ID0gYy53OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56eHp4KGJvb2w0IHYpIHsK
Ky8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp4enko
Ym9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3Bl
cmF0b3Iuenh6eihib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56
OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBib29sNCBvcGVyYXRvci56eHp3KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp4d3goYm9vbDQgdikgeworLy8gICAgIGJvb2w0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuenh3eShib29sNCB2KSB7Cisv
LyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56eHd5PShi
b29sNCB2LCBib29sNCBjKSB7CisvLyAgICAgYm9vbDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1
bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMu
ejsKKy8vICAgICByZXN1bHQueSA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gYm9vbDQgb3BlcmF0b3Iuenh3eihib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56eHd3KGJvb2w0IHYpIHsKKy8vICAgICBib29s
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp5eHgoYm9vbDQgdikgewor
Ly8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYu
eDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuenl4eShi
b29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJl
c3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVy
YXRvci56eXh6KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7
CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGJvb2w0IG9wZXJhdG9yLnp5eHcoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuenl4dz0oYm9vbDQgdiwgYm9vbDQgYykgeworLy8g
ICAgIGJvb2w0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVz
dWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmVzdWx0LncgPSBj
Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp5eXgo
Ym9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICBy
ZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3Bl
cmF0b3Iuenl5eShib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55
OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBib29sNCBvcGVyYXRvci56eXl6KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp5eXcoYm9vbDQgdikgeworLy8gICAgIGJvb2w0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuenl6eChib29sNCB2KSB7Cisv
LyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56eXp5KGJv
b2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJh
dG9yLnp5enooYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsK
Ky8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
Ym9vbDQgb3BlcmF0b3Iuenl6dyhib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56eXd4KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp5d3g9KGJvb2w0IHYsIGJvb2w0
IGMpIHsKKy8vICAgICBib29sNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54Owor
Ly8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJl
c3VsdC54ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVy
YXRvci56eXd5KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGJvb2w0IG9wZXJhdG9yLnp5d3ooYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuenl3dyhib29sNCB2KSB7CisvLyAgICAgYm9vbDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56enh4KGJvb2w0IHYpIHsKKy8v
ICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp6eHkoYm9v
bDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8v
ICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1
bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0
b3Iuenp4eihib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBi
b29sNCBvcGVyYXRvci56enh3KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0
LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp6eXgoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuenp5eShib29sNCB2KSB7CisvLyAg
ICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55
ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56enl6KGJvb2w0
IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0
LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9y
Lnp6eXcoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8v
ICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9v
bDQgb3BlcmF0b3Iuenp6eChib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBib29sNCBvcGVyYXRvci56enp5KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp6enooYm9vbDQgdikgeworLy8gICAg
IGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuenp6dyhib29sNCB2
KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53
ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56
end4KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0
IG9wZXJhdG9yLnp6d3koYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9
IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gYm9vbDQgb3BlcmF0b3Iuenp3eihib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAg
IHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56end3KGJvb2w0IHYpIHsKKy8vICAgICBi
b29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp3eHgoYm9vbDQgdikg
eworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9
IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuend4
eShib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56
OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBv
cGVyYXRvci56d3h5PShib29sNCB2LCBib29sNCBjKSB7CisvLyAgICAgYm9vbDQgcmVzdWx0ID0g
djsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAg
ICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXN1bHQueSA9IGMudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuend4eihib29sNCB2KSB7CisvLyAgICAg
Ym9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0g
di53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56d3h3KGJvb2w0IHYp
IHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp3
eXgoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
ejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAg
ICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQg
b3BlcmF0b3Iuend5eD0oYm9vbDQgdiwgYm9vbDQgYykgeworLy8gICAgIGJvb2w0IHJlc3VsdCA9
IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAg
ICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmVzdWx0LnggPSBjLnc7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp3eXkoYm9vbDQgdikgeworLy8gICAg
IGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuend5eihib29sNCB2
KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAg
IHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56
d3l3KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0
IG9wZXJhdG9yLnp3engoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9
IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gYm9vbDQgb3BlcmF0b3Iuend6eShib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci56d3p6KGJvb2w0IHYpIHsKKy8vICAgICBi
b29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnp3encoYm9vbDQgdikg
eworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9
IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuend3
eChib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56
OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAg
IHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBv
cGVyYXRvci56d3d5KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGJvb2w0IG9wZXJhdG9yLnp3d3ooYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICBy
ZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iuend3dyhib29sNCB2KSB7CisvLyAgICAgYm9v
bDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53
OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci53eHh4KGJvb2w0IHYpIHsK
Ky8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnd4eHko
Ym9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3Bl
cmF0b3Iud3h4eihib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBib29sNCBvcGVyYXRvci53eHh3KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnd4eXgoYm9vbDQgdikgeworLy8gICAgIGJvb2w0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iud3h5eShib29sNCB2KSB7Cisv
LyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci53eHl6KGJv
b2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVz
dWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJh
dG9yLnd4eXo9KGJvb2w0IHYsIGJvb2w0IGMpIHsKKy8vICAgICBib29sNCByZXN1bHQgPSB2Owor
Ly8gICAgIHJlc3VsdC53ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJl
c3VsdC55ID0gYy56OworLy8gICAgIHJlc3VsdC56ID0gYy53OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci53eHl3KGJvb2w0IHYpIHsKKy8vICAgICBib29s
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnd4engoYm9vbDQgdikgewor
Ly8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYu
eDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iud3h6eShi
b29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJl
c3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVy
YXRvci53eHp5PShib29sNCB2LCBib29sNCBjKSB7CisvLyAgICAgYm9vbDQgcmVzdWx0ID0gdjsK
Ky8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICBy
ZXN1bHQueiA9IGMuejsKKy8vICAgICByZXN1bHQueSA9IGMudzsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iud3h6eihib29sNCB2KSB7CisvLyAgICAgYm9v
bDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci53eHp3KGJvb2w0IHYpIHsK
Ky8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnd4d3go
Ym9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICBy
ZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3Bl
cmF0b3Iud3h3eShib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53
OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBib29sNCBvcGVyYXRvci53eHd6KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnd4d3coYm9vbDQgdikgeworLy8gICAgIGJvb2w0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iud3l4eChib29sNCB2KSB7Cisv
LyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci53eXh5KGJv
b2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJh
dG9yLnd5eHooYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
Ym9vbDQgb3BlcmF0b3Iud3l4ej0oYm9vbDQgdiwgYm9vbDQgYykgeworLy8gICAgIGJvb2w0IHJl
c3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7
CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmVzdWx0LnogPSBjLnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnd5eHcoYm9vbDQgdikgewor
Ly8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYu
dzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iud3l5eChi
b29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
c3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVy
YXRvci53eXl5KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGJvb2w0IG9wZXJhdG9yLnd5eXooYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iud3l5dyhib29sNCB2KSB7CisvLyAgICAgYm9vbDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci53eXp4KGJvb2w0IHYpIHsKKy8v
ICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnd5eng9KGJv
b2w0IHYsIGJvb2w0IGMpIHsKKy8vICAgICBib29sNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3Vs
dC53ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56
OworLy8gICAgIHJlc3VsdC54ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBib29sNCBvcGVyYXRvci53eXp5KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnd5enooYm9vbDQgdikgeworLy8gICAgIGJvb2w0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iud3l6dyhib29sNCB2KSB7Cisv
LyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci53eXd4KGJv
b2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVz
dWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJh
dG9yLnd5d3koYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsK
Ky8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
Ym9vbDQgb3BlcmF0b3Iud3l3eihib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3Vs
dC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBib29sNCBvcGVyYXRvci53eXd3KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnd6eHgoYm9vbDQgdikgeworLy8g
ICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQu
eSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iud3p4eShib29s
NCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8g
ICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3Vs
dC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRv
ci53enh5PShib29sNCB2LCBib29sNCBjKSB7CisvLyAgICAgYm9vbDQgcmVzdWx0ID0gdjsKKy8v
ICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1
bHQueCA9IGMuejsKKy8vICAgICByZXN1bHQueSA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iud3p4eihib29sNCB2KSB7CisvLyAgICAgYm9vbDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci53enh3KGJvb2w0IHYpIHsKKy8v
ICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnd6eXgoYm9v
bDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8v
ICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1
bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0
b3Iud3p5eD0oYm9vbDQgdiwgYm9vbDQgYykgeworLy8gICAgIGJvb2w0IHJlc3VsdCA9IHY7Cisv
LyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmVz
dWx0LnkgPSBjLno7CisvLyAgICAgcmVzdWx0LnggPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnd6eXkoYm9vbDQgdikgeworLy8gICAgIGJvb2w0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iud3p5eihib29sNCB2KSB7Cisv
LyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci53enl3KGJv
b2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJh
dG9yLnd6engoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsK
Ky8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
Ym9vbDQgb3BlcmF0b3Iud3p6eShib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBib29sNCBvcGVyYXRvci53enp6KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnd6encoYm9vbDQgdikgeworLy8g
ICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQu
eSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iud3p3eChib29s
NCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8g
ICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3Vs
dC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRv
ci53end5KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJv
b2w0IG9wZXJhdG9yLnd6d3ooYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gYm9vbDQgb3BlcmF0b3Iud3p3dyhib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci53d3h4KGJvb2w0IHYpIHsKKy8vICAg
ICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnd3eHkoYm9vbDQg
dikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAg
ICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iu
d3d4eihib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8g
ICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29s
NCBvcGVyYXRvci53d3h3KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGJvb2w0IG9wZXJhdG9yLnd3eXgoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iud3d5eShib29sNCB2KSB7CisvLyAgICAg
Ym9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0g
di53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci53d3l6KGJvb2w0IHYp
IHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnd3
eXcoYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
dzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAg
ICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQg
b3BlcmF0b3Iud3d6eChib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBib29sNCBvcGVyYXRvci53d3p5KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9wZXJhdG9yLnd3enooYm9vbDQgdikgeworLy8gICAgIGJv
b2w0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYu
dzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gYm9vbDQgb3BlcmF0b3Iud3d6dyhib29sNCB2KSB7
CisvLyAgICAgYm9vbDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJl
c3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0g
di53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci53d3d4
KGJvb2w0IHYpIHsKKy8vICAgICBib29sNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAg
cmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGJvb2w0IG9w
ZXJhdG9yLnd3d3koYm9vbDQgdikgeworLy8gICAgIGJvb2w0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYu
dzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gYm9vbDQgb3BlcmF0b3Iud3d3eihib29sNCB2KSB7CisvLyAgICAgYm9vbDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJl
c3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBib29sNCBvcGVyYXRvci53d3d3KGJvb2w0IHYpIHsKKy8vICAgICBib29s
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMiBvcGVyYXRvci54eCh1Y2hhcjIgdikgewor
Ly8gICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMiBvcGVy
YXRvci54eSh1Y2hhcjIgdikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVjaGFyMiBvcGVyYXRvci54eT0odWNoYXIyIHYsIHVjaGFyMiBjKSB7CisvLyAg
ICAgdWNoYXIyIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVz
dWx0LnkgPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMiBvcGVy
YXRvci55eCh1Y2hhcjIgdikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVjaGFyMiBvcGVyYXRvci55eD0odWNoYXIyIHYsIHVjaGFyMiBjKSB7CisvLyAg
ICAgdWNoYXIyIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVz
dWx0LnggPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMiBvcGVy
YXRvci55eSh1Y2hhcjIgdikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVjaGFyMiBvcGVyYXRvci54eCh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyMiBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMiBvcGVyYXRvci54eSh1Y2hhcjMg
dikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFy
MyBvcGVyYXRvci54eT0odWNoYXIzIHYsIHVjaGFyMiBjKSB7CisvLyAgICAgdWNoYXIzIHJlc3Vs
dCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMiBvcGVyYXRvci54eih1Y2hhcjMg
dikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFy
MyBvcGVyYXRvci54ej0odWNoYXIzIHYsIHVjaGFyMiBjKSB7CisvLyAgICAgdWNoYXIzIHJlc3Vs
dCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMiBvcGVyYXRvci55eCh1Y2hhcjMg
dikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFy
MyBvcGVyYXRvci55eD0odWNoYXIzIHYsIHVjaGFyMiBjKSB7CisvLyAgICAgdWNoYXIzIHJlc3Vs
dCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMiBvcGVyYXRvci55eSh1Y2hhcjMg
dikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFy
MiBvcGVyYXRvci55eih1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci55ej0odWNoYXIzIHYsIHVjaGFyMiBjKSB7
CisvLyAgICAgdWNoYXIzIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAg
ICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFy
MiBvcGVyYXRvci56eCh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci56eD0odWNoYXIzIHYsIHVjaGFyMiBjKSB7
CisvLyAgICAgdWNoYXIzIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAg
ICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFy
MiBvcGVyYXRvci56eSh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci56eT0odWNoYXIzIHYsIHVjaGFyMiBjKSB7
CisvLyAgICAgdWNoYXIzIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAg
ICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFy
MiBvcGVyYXRvci56eih1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVjaGFyMiBvcGVyYXRvci54eCh1Y2hhcjQgdikgeworLy8gICAgIHVj
aGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMiBvcGVyYXRvci54eSh1
Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVjaGFyNCBvcGVyYXRvci54eT0odWNoYXI0IHYsIHVjaGFyMiBjKSB7CisvLyAgICAgdWNoYXI0
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBj
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMiBvcGVyYXRvci54eih1
Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVjaGFyNCBvcGVyYXRvci54ej0odWNoYXI0IHYsIHVjaGFyMiBjKSB7CisvLyAgICAgdWNoYXI0
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBj
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMiBvcGVyYXRvci54dyh1
Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVjaGFyNCBvcGVyYXRvci54dz0odWNoYXI0IHYsIHVjaGFyMiBjKSB7CisvLyAgICAgdWNoYXI0
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBj
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMiBvcGVyYXRvci55eCh1
Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVjaGFyNCBvcGVyYXRvci55eD0odWNoYXI0IHYsIHVjaGFyMiBjKSB7CisvLyAgICAgdWNoYXI0
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBj
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMiBvcGVyYXRvci55eSh1
Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVjaGFyMiBvcGVyYXRvci55eih1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55ej0odWNoYXI0IHYsIHVjaGFy
MiBjKSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7
CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVjaGFyMiBvcGVyYXRvci55dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55dz0odWNoYXI0IHYsIHVjaGFy
MiBjKSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7
CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVjaGFyMiBvcGVyYXRvci56eCh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56eD0odWNoYXI0IHYsIHVjaGFy
MiBjKSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7
CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVjaGFyMiBvcGVyYXRvci56eSh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56eT0odWNoYXI0IHYsIHVjaGFy
MiBjKSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7
CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVjaGFyMiBvcGVyYXRvci56eih1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMiByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMiBvcGVyYXRvci56dyh1Y2hhcjQgdikgeworLy8g
ICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRv
ci56dz0odWNoYXI0IHYsIHVjaGFyMiBjKSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdCA9IHY7Cisv
LyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMiBvcGVyYXRvci53eCh1Y2hhcjQgdikgeworLy8g
ICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRv
ci53eD0odWNoYXI0IHYsIHVjaGFyMiBjKSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdCA9IHY7Cisv
LyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMiBvcGVyYXRvci53eSh1Y2hhcjQgdikgeworLy8g
ICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRv
ci53eT0odWNoYXI0IHYsIHVjaGFyMiBjKSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdCA9IHY7Cisv
LyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMiBvcGVyYXRvci53eih1Y2hhcjQgdikgeworLy8g
ICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRv
ci53ej0odWNoYXI0IHYsIHVjaGFyMiBjKSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdCA9IHY7Cisv
LyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMiBvcGVyYXRvci53dyh1Y2hhcjQgdikgeworLy8g
ICAgIHVjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRv
ci54eHgodWNoYXIyIHYpIHsKKy8vICAgICB1Y2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3IueHh5KHVjaGFy
MiB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXIzIG9wZXJhdG9yLnh5eCh1Y2hhcjIgdikgeworLy8g
ICAgIHVjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci54eXkodWNoYXIyIHYpIHsKKy8vICAgICB1Y2hhcjMg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
Y2hhcjMgb3BlcmF0b3IueXh4KHVjaGFyMiB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXIzIG9wZXJh
dG9yLnl4eSh1Y2hhcjIgdikgeworLy8gICAgIHVjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci55eXgodWNo
YXIyIHYpIHsKKy8vICAgICB1Y2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3IueXl5KHVjaGFyMiB2KSB7Cisv
LyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWNoYXIzIG9wZXJhdG9yLnh4eCh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFy
MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVjaGFyMyBvcGVyYXRvci54eHkodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjMgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3Bl
cmF0b3IueHh6KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXIzIG9wZXJhdG9yLnh5eCh1
Y2hhcjMgdikgeworLy8gICAgIHVjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci54eXkodWNoYXIzIHYpIHsK
Ky8vICAgICB1Y2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJl
c3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3IueHl6KHVjaGFyMyB2KSB7CisvLyAgICAgdWNo
YXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
eTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdWNoYXIzIG9wZXJhdG9yLnh5ej0odWNoYXIzIHYsIHVjaGFyMyBjKSB7CisvLyAgICAgdWNo
YXIzIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0Lnkg
PSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVjaGFyMyBvcGVyYXRvci54engodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjMgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hh
cjMgb3BlcmF0b3IueHp5KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXIzIG9wZXJhdG9y
Lnh6eT0odWNoYXIzIHYsIHVjaGFyMyBjKSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdCA9IHY7Cisv
LyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmVz
dWx0LnkgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVy
YXRvci54enoodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3IueXh4KHVj
aGFyMyB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXIzIG9wZXJhdG9yLnl4eSh1Y2hhcjMgdikgewor
Ly8gICAgIHVjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci55eHoodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hh
cjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1Y2hhcjMgb3BlcmF0b3IueXh6PSh1Y2hhcjMgdiwgdWNoYXIzIGMpIHsKKy8vICAgICB1Y2hh
cjMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueCA9
IGMueTsKKy8vICAgICByZXN1bHQueiA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWNoYXIzIG9wZXJhdG9yLnl5eCh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyMyByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFy
MyBvcGVyYXRvci55eXkodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjMgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3Iu
eXl6KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXIzIG9wZXJhdG9yLnl6eCh1Y2hhcjMg
dikgeworLy8gICAgIHVjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci55eng9KHVjaGFyMyB2LCB1Y2hhcjMg
YykgeworLy8gICAgIHVjaGFyMyByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54Owor
Ly8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3IueXp5KHVjaGFyMyB2KSB7Cisv
LyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWNoYXIzIG9wZXJhdG9yLnl6eih1Y2hhcjMgdikgeworLy8gICAgIHVjaGFy
MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVjaGFyMyBvcGVyYXRvci56eHgodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjMgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3Bl
cmF0b3Iuenh5KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXIzIG9wZXJhdG9yLnp4eT0o
dWNoYXIzIHYsIHVjaGFyMyBjKSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdCA9IHY7CisvLyAgICAg
cmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0Lnkg
PSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci56
eHoodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3Iuenl4KHVjaGFyMyB2
KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdWNoYXIzIG9wZXJhdG9yLnp5eD0odWNoYXIzIHYsIHVjaGFyMyBj
KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7Cisv
LyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci56eXkodWNoYXIzIHYpIHsKKy8v
ICAgICB1Y2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3Iuenl6KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXIz
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dWNoYXIzIG9wZXJhdG9yLnp6eCh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyMyByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVz
dWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVy
YXRvci56enkodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3Iuenp6KHVj
aGFyMyB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXIzIG9wZXJhdG9yLnh4eCh1Y2hhcjQgdikgewor
Ly8gICAgIHVjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci54eHkodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hh
cjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1Y2hhcjMgb3BlcmF0b3IueHh6KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXIzIG9w
ZXJhdG9yLnh4dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci54eXgo
dWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3IueHl5KHVjaGFyNCB2KSB7
CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gdWNoYXIzIG9wZXJhdG9yLnh5eih1Y2hhcjQgdikgeworLy8gICAgIHVj
aGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVjaGFyNCBvcGVyYXRvci54eXo9KHVjaGFyNCB2LCB1Y2hhcjMgYykgeworLy8gICAgIHVj
aGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54OworLy8gICAgIHJlc3VsdC55
ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1Y2hhcjMgb3BlcmF0b3IueHl3KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXIzIHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNo
YXI0IG9wZXJhdG9yLnh5dz0odWNoYXI0IHYsIHVjaGFyMyBjKSB7CisvLyAgICAgdWNoYXI0IHJl
c3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7
CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVjaGFyMyBvcGVyYXRvci54engodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjMgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3Bl
cmF0b3IueHp5KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh6eT0o
dWNoYXI0IHYsIHVjaGFyMyBjKSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAg
cmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmVzdWx0Lnkg
PSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci54
enoodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3IueHp3KHVjaGFyNCB2
KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh6dz0odWNoYXI0IHYsIHVjaGFyMyBj
KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7Cisv
LyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci54d3godWNoYXI0IHYpIHsKKy8v
ICAgICB1Y2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3Vs
dC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3IueHd5KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXIz
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dWNoYXI0IG9wZXJhdG9yLnh3eT0odWNoYXI0IHYsIHVjaGFyMyBjKSB7CisvLyAgICAgdWNoYXI0
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBj
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVjaGFyMyBvcGVyYXRvci54d3oodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjMgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQg
b3BlcmF0b3IueHd6PSh1Y2hhcjQgdiwgdWNoYXIzIGMpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0
ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8v
ICAgICByZXN1bHQueiA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNo
YXIzIG9wZXJhdG9yLnh3dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMyByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRv
ci55eHgodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3IueXh5KHVjaGFy
NCB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXIzIG9wZXJhdG9yLnl4eih1Y2hhcjQgdikgeworLy8g
ICAgIHVjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55eHo9KHVjaGFyNCB2LCB1Y2hhcjMgYykgeworLy8g
ICAgIHVjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJl
c3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3IueXh3KHVjaGFyNCB2KSB7CisvLyAgICAgdWNo
YXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdWNoYXI0IG9wZXJhdG9yLnl4dz0odWNoYXI0IHYsIHVjaGFyMyBjKSB7CisvLyAgICAgdWNo
YXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0Lngg
PSBjLnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVjaGFyMyBvcGVyYXRvci55eXgodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjMgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hh
cjMgb3BlcmF0b3IueXl5KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQu
eiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXIzIG9wZXJhdG9y
Lnl5eih1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci55eXcodWNoYXI0
IHYpIHsKKy8vICAgICB1Y2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3IueXp4KHVjaGFyNCB2KSB7CisvLyAg
ICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQu
eSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl6eD0odWNoYXI0IHYsIHVjaGFyMyBjKSB7CisvLyAg
ICAgdWNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVz
dWx0LnogPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci55enkodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hh
cjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1Y2hhcjMgb3BlcmF0b3IueXp6KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXIzIG9w
ZXJhdG9yLnl6dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55enc9
KHVjaGFyNCB2LCB1Y2hhcjMgYykgeworLy8gICAgIHVjaGFyNCByZXN1bHQgPSB2OworLy8gICAg
IHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC53
ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3Iu
eXd4KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl3eD0odWNoYXI0
IHYsIHVjaGFyMyBjKSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0
LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci55d3kodWNo
YXI0IHYpIHsKKy8vICAgICB1Y2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3IueXd6KHVjaGFyNCB2KSB7Cisv
LyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl3ej0odWNoYXI0IHYsIHVjaGFyMyBjKSB7Cisv
LyAgICAgdWNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAg
cmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci55d3codWNoYXI0IHYpIHsKKy8vICAgICB1
Y2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1Y2hhcjMgb3BlcmF0b3Iuenh4KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXIz
IG9wZXJhdG9yLnp4eSh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMyByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56
eHk9KHVjaGFyNCB2LCB1Y2hhcjMgYykgeworLy8gICAgIHVjaGFyNCByZXN1bHQgPSB2OworLy8g
ICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3Vs
dC55ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0
b3Iuenh6KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXIzIG9wZXJhdG9yLnp4dyh1Y2hh
cjQgdikgeworLy8gICAgIHVjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56eHc9KHVjaGFyNCB2LCB1Y2hh
cjMgYykgeworLy8gICAgIHVjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54
OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3Iuenl4KHVjaGFyNCB2KSB7
CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnp5eD0odWNoYXI0IHYsIHVjaGFyMyBjKSB7
CisvLyAgICAgdWNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAg
ICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci56eXkodWNoYXI0IHYpIHsKKy8vICAg
ICB1Y2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1Y2hhcjMgb3BlcmF0b3Iuenl6KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXIzIHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNo
YXIzIG9wZXJhdG9yLnp5dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMyByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRv
ci56eXc9KHVjaGFyNCB2LCB1Y2hhcjMgYykgeworLy8gICAgIHVjaGFyNCByZXN1bHQgPSB2Owor
Ly8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJl
c3VsdC53ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3Bl
cmF0b3Iuenp4KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYu
eDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXIzIG9wZXJhdG9yLnp6eSh1
Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci56enoodWNoYXI0IHYpIHsK
Ky8vICAgICB1Y2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJl
c3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3Iuenp3KHVjaGFyNCB2KSB7CisvLyAgICAgdWNo
YXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYu
ejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdWNoYXIzIG9wZXJhdG9yLnp3eCh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMyByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBv
cGVyYXRvci56d3g9KHVjaGFyNCB2LCB1Y2hhcjMgYykgeworLy8gICAgIHVjaGFyNCByZXN1bHQg
PSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8g
ICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hh
cjMgb3BlcmF0b3Iuend5KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQu
eiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9y
Lnp3eT0odWNoYXI0IHYsIHVjaGFyMyBjKSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdCA9IHY7Cisv
LyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmVz
dWx0LnkgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVy
YXRvci56d3oodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3Iuend3KHVj
aGFyNCB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXIzIG9wZXJhdG9yLnd4eCh1Y2hhcjQgdikgewor
Ly8gICAgIHVjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci53eHkodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hh
cjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1Y2hhcjQgb3BlcmF0b3Iud3h5PSh1Y2hhcjQgdiwgdWNoYXIzIGMpIHsKKy8vICAgICB1Y2hh
cjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueCA9
IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWNoYXIzIG9wZXJhdG9yLnd4eih1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMyByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFy
NCBvcGVyYXRvci53eHo9KHVjaGFyNCB2LCB1Y2hhcjMgYykgeworLy8gICAgIHVjaGFyNCByZXN1
bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55Owor
Ly8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
Y2hhcjMgb3BlcmF0b3Iud3h3KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXIzIG9wZXJh
dG9yLnd5eCh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci53eXg9KHVj
aGFyNCB2LCB1Y2hhcjMgYykgeworLy8gICAgIHVjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJl
c3VsdC53ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0g
Yy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3Iud3l5
KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
dzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXIzIG9wZXJhdG9yLnd5eih1Y2hhcjQgdikg
eworLy8gICAgIHVjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci53eXo9KHVjaGFyNCB2LCB1Y2hhcjMgYykg
eworLy8gICAgIHVjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54OworLy8g
ICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3Iud3l3KHVjaGFyNCB2KSB7CisvLyAg
ICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdWNoYXIzIG9wZXJhdG9yLnd6eCh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMyBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVj
aGFyNCBvcGVyYXRvci53eng9KHVjaGFyNCB2LCB1Y2hhcjMgYykgeworLy8gICAgIHVjaGFyNCBy
ZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55
OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1Y2hhcjMgb3BlcmF0b3Iud3p5KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9w
ZXJhdG9yLnd6eT0odWNoYXI0IHYsIHVjaGFyMyBjKSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdCA9
IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAg
ICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFy
MyBvcGVyYXRvci53enoodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjMgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjMgb3BlcmF0b3Iu
d3p3KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXIzIG9wZXJhdG9yLnd3eCh1Y2hhcjQg
dikgeworLy8gICAgIHVjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyMyBvcGVyYXRvci53d3kodWNoYXI0IHYpIHsKKy8vICAg
ICB1Y2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55
ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1Y2hhcjMgb3BlcmF0b3Iud3d6KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXIzIHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNo
YXIzIG9wZXJhdG9yLnd3dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyMyByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRv
ci54eHh4KHVjaGFyMiB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dWNoYXI0IG9wZXJhdG9yLnh4eHkodWNoYXIyIHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueHh5eCh1Y2hhcjIgdikgeworLy8gICAgIHVj
aGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci54eHl5KHVjaGFyMiB2
KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9y
Lnh5eHgodWNoYXIyIHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
Y2hhcjQgb3BlcmF0b3IueHl4eSh1Y2hhcjIgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci54eXl4KHVjaGFyMiB2KSB7CisvLyAgICAgdWNo
YXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
eTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh5eXkodWNoYXIyIHYp
IHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iu
eXh4eCh1Y2hhcjIgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVj
aGFyNCBvcGVyYXRvci55eHh5KHVjaGFyMiB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl4eXgodWNoYXIyIHYpIHsKKy8vICAgICB1Y2hh
cjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXh5eSh1Y2hhcjIgdikg
eworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55
eXh4KHVjaGFyMiB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8v
ICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNo
YXI0IG9wZXJhdG9yLnl5eHkodWNoYXIyIHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXl5eCh1Y2hhcjIgdikgeworLy8gICAgIHVjaGFy
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55eXl5KHVjaGFyMiB2KSB7
CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh4
eHgodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8g
ICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hh
cjQgb3BlcmF0b3IueHh4eSh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci54eHh6KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXI0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh4eXgodWNoYXIzIHYpIHsK
Ky8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJl
c3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0g
di54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueHh5
eSh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFy
NCBvcGVyYXRvci54eHl6KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQu
eiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh4engodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueHh6eSh1Y2hhcjMgdikgewor
Ly8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci54eHp6
KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAg
ICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0
IG9wZXJhdG9yLnh5eHgodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueHl4eSh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci54eXh6KHVjaGFyMyB2KSB7Cisv
LyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh5eXgo
dWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQg
b3BlcmF0b3IueHl5eSh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVjaGFyNCBvcGVyYXRvci54eXl6KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXI0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh5engodWNoYXIzIHYpIHsKKy8v
ICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueHl6eSh1
Y2hhcjMgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBv
cGVyYXRvci54eXp6KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWNoYXI0IG9wZXJhdG9yLnh6eHgodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueHp4eSh1Y2hhcjMgdikgeworLy8g
ICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci54enh6KHVj
aGFyMyB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsK
Ky8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9w
ZXJhdG9yLnh6eXgodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1Y2hhcjQgb3BlcmF0b3IueHp5eSh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci54enl6KHVjaGFyMyB2KSB7CisvLyAg
ICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQu
eSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh6engodWNo
YXIzIHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54Owor
Ly8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJl
c3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3Bl
cmF0b3IueHp6eSh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2
Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVjaGFyNCBvcGVyYXRvci54enp6KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl4eHgodWNoYXIzIHYpIHsKKy8vICAg
ICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55
ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXh4eSh1Y2hh
cjMgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVy
YXRvci55eHh6KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
eDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdWNoYXI0IG9wZXJhdG9yLnl4eXgodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXh5eSh1Y2hhcjMgdikgeworLy8gICAg
IHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55eHl6KHVjaGFy
MyB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1
bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJh
dG9yLnl4engodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56
OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1Y2hhcjQgb3BlcmF0b3IueXh6eSh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAg
cmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55eHp6KHVjaGFyMyB2KSB7CisvLyAgICAg
dWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl5eHgodWNoYXIz
IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3Vs
dC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0
b3IueXl4eSh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVjaGFyNCBvcGVyYXRvci55eXh6KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl5eXgodWNoYXIzIHYpIHsKKy8vICAgICB1
Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXl5eSh1Y2hhcjMg
dikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0
LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRv
ci55eXl6KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsK
Ky8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dWNoYXI0IG9wZXJhdG9yLnl5engodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJl
c3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXl6eSh1Y2hhcjMgdikgeworLy8gICAgIHVj
aGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55eXp6KHVjaGFyMyB2
KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQu
dyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9y
Lnl6eHgodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
Y2hhcjQgb3BlcmF0b3IueXp4eSh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVz
dWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55enh6KHVjaGFyMyB2KSB7CisvLyAgICAgdWNo
YXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
ejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl6eXgodWNoYXIzIHYp
IHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53
ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iu
eXp5eSh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVj
aGFyNCBvcGVyYXRvci55enl6KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl6engodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hh
cjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56
OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXp6eSh1Y2hhcjMgdikg
eworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55
enp6KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8v
ICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNo
YXI0IG9wZXJhdG9yLnp4eHgodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iuenh4eSh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFy
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56eHh6KHVjaGFyMyB2KSB7
CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnp4
eXgodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hh
cjQgb3BlcmF0b3Iuenh5eSh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56eHl6KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXI0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnp4engodWNoYXIzIHYpIHsK
Ky8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJl
c3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0g
di54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iuenh6
eSh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFy
NCBvcGVyYXRvci56eHp6KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQu
eiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnp5eHgodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iuenl4eSh1Y2hhcjMgdikgewor
Ly8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56eXh6
KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
ejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAg
ICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0
IG9wZXJhdG9yLnp5eXgodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iuenl5eSh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56eXl6KHVjaGFyMyB2KSB7Cisv
LyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnp5engo
dWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAg
IHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQg
b3BlcmF0b3Iuenl6eSh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVjaGFyNCBvcGVyYXRvci56eXp6KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXI0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnp6eHgodWNoYXIzIHYpIHsKKy8v
ICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iuenp4eSh1
Y2hhcjMgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBv
cGVyYXRvci56enh6KHVjaGFyMyB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9
IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWNoYXI0IG9wZXJhdG9yLnp6eXgodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iuenp5eSh1Y2hhcjMgdikgeworLy8g
ICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56enl6KHVj
aGFyMyB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICBy
ZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9w
ZXJhdG9yLnp6engodWNoYXIzIHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1Y2hhcjQgb3BlcmF0b3Iuenp6eSh1Y2hhcjMgdikgeworLy8gICAgIHVjaGFyNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56enp6KHVjaGFyMyB2KSB7CisvLyAg
ICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQu
eSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh4eHgodWNo
YXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJl
c3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3Bl
cmF0b3IueHh4eSh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVjaGFyNCBvcGVyYXRvci54eHh6KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh4eHcodWNoYXI0IHYpIHsKKy8vICAg
ICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi53Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueHh5eCh1Y2hh
cjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVz
dWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVy
YXRvci54eHl5KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdWNoYXI0IG9wZXJhdG9yLnh4eXoodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueHh5dyh1Y2hhcjQgdikgeworLy8gICAg
IHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci54eHp4KHVjaGFy
NCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1
bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJh
dG9yLnh4enkodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56
OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1Y2hhcjQgb3BlcmF0b3IueHh6eih1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAg
cmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci54eHp3KHVjaGFyNCB2KSB7CisvLyAgICAg
dWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh4d3godWNoYXI0
IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8g
ICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3Vs
dC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0
b3IueHh3eSh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVjaGFyNCBvcGVyYXRvci54eHd6KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh4d3codWNoYXI0IHYpIHsKKy8vICAgICB1
Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0g
di54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueHl4eCh1Y2hhcjQg
dikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0
LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRv
ci54eXh5KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dWNoYXI0IG9wZXJhdG9yLnh5eHoodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueHl4dyh1Y2hhcjQgdikgeworLy8gICAgIHVj
aGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci54eXl4KHVjaGFyNCB2
KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQu
dyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9y
Lnh5eXkodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
Y2hhcjQgb3BlcmF0b3IueHl5eih1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci54eXl3KHVjaGFyNCB2KSB7CisvLyAgICAgdWNo
YXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
eTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh5engodWNoYXI0IHYp
IHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53
ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iu
eHl6eSh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVj
aGFyNCBvcGVyYXRvci54eXp6KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh5encodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hh
cjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55
OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueHl6dz0odWNoYXI0IHYs
IHVjaGFyNCBjKSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0Lngg
PSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7Cisv
LyAgICAgcmVzdWx0LncgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVj
aGFyNCBvcGVyYXRvci54eXd4KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh5d3kodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hh
cjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55
OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueHl3eih1Y2hhcjQgdikg
eworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci54
eXd6PSh1Y2hhcjQgdiwgdWNoYXI0IGMpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0ID0gdjsKKy8v
ICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1
bHQudyA9IGMuejsKKy8vICAgICByZXN1bHQueiA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh5d3codWNoYXI0IHYpIHsKKy8vICAgICB1Y2hh
cjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55
OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueHp4eCh1Y2hhcjQgdikg
eworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci54
enh5KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8v
ICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNo
YXI0IG9wZXJhdG9yLnh6eHoodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueHp4dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFy
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci54enl4KHVjaGFyNCB2KSB7
CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICBy
ZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9
IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh6
eXkodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hh
cjQgb3BlcmF0b3IueHp5eih1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci54enl3KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh6eXc9KHVjaGFyNCB2LCB1
Y2hhcjQgYykgeworLy8gICAgIHVjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0g
Yy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC55ID0gYy56OworLy8g
ICAgIHJlc3VsdC53ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hh
cjQgb3BlcmF0b3IueHp6eCh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0
LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci54enp5KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsK
Ky8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh6enoodWNoYXI0IHYpIHsK
Ky8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJl
c3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueHp6
dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFy
NCBvcGVyYXRvci54end4KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh6d3kodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56Owor
Ly8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueHp3eT0odWNoYXI0IHYsIHVj
aGFyNCBjKSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBj
Lng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAg
ICAgcmVzdWx0LnkgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFy
NCBvcGVyYXRvci54end6KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh6d3codWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56Owor
Ly8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueHd4eCh1Y2hhcjQgdikgewor
Ly8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci54d3h5
KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAg
ICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0
IG9wZXJhdG9yLnh3eHoodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56
ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueHd4dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci54d3l4KHVjaGFyNCB2KSB7Cisv
LyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1
bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYu
eDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh3eXko
dWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQg
b3BlcmF0b3IueHd5eih1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVjaGFyNCBvcGVyYXRvci54d3l6PSh1Y2hhcjQgdiwgdWNoYXI0IGMpIHsKKy8vICAg
ICB1Y2hhcjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1
bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXN1bHQueiA9IGMu
dzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh3eXco
dWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQg
b3BlcmF0b3IueHd6eCh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVjaGFyNCBvcGVyYXRvci54d3p5KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh3enk9KHVjaGFyNCB2LCB1Y2hh
cjQgYykgeworLy8gICAgIHVjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54
OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAg
IHJlc3VsdC55ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQg
b3BlcmF0b3IueHd6eih1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVjaGFyNCBvcGVyYXRvci54d3p3KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnh3d3godWNoYXI0IHYpIHsKKy8v
ICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3Vs
dC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueHd3eSh1
Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBv
cGVyYXRvci54d3d6KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9
IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWNoYXI0IG9wZXJhdG9yLnh3d3codWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8g
ICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXh4eCh1Y2hhcjQgdikgeworLy8g
ICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55eHh5KHVj
aGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9w
ZXJhdG9yLnl4eHoodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0g
di54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1Y2hhcjQgb3BlcmF0b3IueXh4dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55eHl4KHVjaGFyNCB2KSB7CisvLyAg
ICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl4eXkodWNo
YXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
c3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3Bl
cmF0b3IueXh5eih1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVjaGFyNCBvcGVyYXRvci55eHl3KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl4engodWNoYXI0IHYpIHsKKy8vICAg
ICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55
ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXh6eSh1Y2hh
cjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVy
YXRvci55eHp6KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
ejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdWNoYXI0IG9wZXJhdG9yLnl4encodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXh6dz0odWNoYXI0IHYsIHVjaGFyNCBj
KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7Cisv
LyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmVz
dWx0LncgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVy
YXRvci55eHd4KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
dzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdWNoYXI0IG9wZXJhdG9yLnl4d3kodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXh3eih1Y2hhcjQgdikgeworLy8gICAg
IHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55eHd6PSh1Y2hh
cjQgdiwgdWNoYXI0IGMpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1
bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMu
ejsKKy8vICAgICByZXN1bHQueiA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdWNoYXI0IG9wZXJhdG9yLnl4d3codWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXl4eCh1Y2hhcjQgdikgeworLy8gICAg
IHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55eXh5KHVjaGFy
NCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1
bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJh
dG9yLnl5eHoodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1Y2hhcjQgb3BlcmF0b3IueXl4dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55eXl4KHVjaGFyNCB2KSB7CisvLyAgICAg
dWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl5eXkodWNoYXI0
IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3Vs
dC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0
b3IueXl5eih1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVjaGFyNCBvcGVyYXRvci55eXl3KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICBy
ZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl5engodWNoYXI0IHYpIHsKKy8vICAgICB1
Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXl6eSh1Y2hhcjQg
dikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0
LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRv
ci55eXp6KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsK
Ky8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dWNoYXI0IG9wZXJhdG9yLnl5encodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJl
c3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXl3eCh1Y2hhcjQgdikgeworLy8gICAgIHVj
aGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55eXd5KHVjaGFyNCB2
KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9y
Lnl5d3oodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53Owor
Ly8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
Y2hhcjQgb3BlcmF0b3IueXl3dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55enh4KHVjaGFyNCB2KSB7CisvLyAgICAgdWNo
YXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
ejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl6eHkodWNoYXI0IHYp
IHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iu
eXp4eih1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVj
aGFyNCBvcGVyYXRvci55enh3KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl6eHc9KHVjaGFyNCB2LCB1Y2hhcjQgYykgewor
Ly8gICAgIHVjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAg
IHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJlc3VsdC53
ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iu
eXp5eCh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVj
aGFyNCBvcGVyYXRvci55enl5KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl6eXoodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hh
cjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXp5dyh1Y2hhcjQgdikg
eworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55
enp4KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8v
ICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNo
YXI0IG9wZXJhdG9yLnl6enkodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXp6eih1Y2hhcjQgdikgeworLy8gICAgIHVjaGFy
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55enp3KHVjaGFyNCB2KSB7
CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9
IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl6
d3godWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8g
ICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hh
cjQgb3BlcmF0b3IueXp3eD0odWNoYXI0IHYsIHVjaGFyNCBjKSB7CisvLyAgICAgdWNoYXI0IHJl
c3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7
CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmVzdWx0LnggPSBjLnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55end5KHVjaGFyNCB2KSB7
CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl6
d3oodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8g
ICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hh
cjQgb3BlcmF0b3IueXp3dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55d3h4KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsK
Ky8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl3eHkodWNoYXI0IHYpIHsK
Ky8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJl
c3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0g
di55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXd4
eih1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFy
NCBvcGVyYXRvci55d3h6PSh1Y2hhcjQgdiwgdWNoYXI0IGMpIHsKKy8vICAgICB1Y2hhcjQgcmVz
dWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsK
Ky8vICAgICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXN1bHQueiA9IGMudzsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl3eHcodWNoYXI0IHYpIHsK
Ky8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJl
c3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0g
di53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXd5
eCh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFy
NCBvcGVyYXRvci55d3l5KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQu
eiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl3eXoodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53Owor
Ly8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXd5dyh1Y2hhcjQgdikgewor
Ly8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55d3p4
KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAg
ICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0
IG9wZXJhdG9yLnl3eng9KHVjaGFyNCB2LCB1Y2hhcjQgYykgeworLy8gICAgIHVjaGFyNCByZXN1
bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC53ID0gYy55Owor
Ly8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJlc3VsdC54ID0gYy53OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXd6eSh1Y2hhcjQgdikgewor
Ly8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55d3p6
KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAg
ICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0
IG9wZXJhdG9yLnl3encodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56
ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1Y2hhcjQgb3BlcmF0b3IueXd3eCh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci55d3d5KHVjaGFyNCB2KSB7Cisv
LyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnl3d3oo
dWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55
OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAg
IHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQg
b3BlcmF0b3IueXd3dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVjaGFyNCBvcGVyYXRvci56eHh4KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnp4eHkodWNoYXI0IHYpIHsKKy8v
ICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iuenh4eih1
Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAg
cmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBv
cGVyYXRvci56eHh3KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9
IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWNoYXI0IG9wZXJhdG9yLnp4eXgodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8g
ICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iuenh5eSh1Y2hhcjQgdikgeworLy8g
ICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56eHl6KHVj
aGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICBy
ZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9w
ZXJhdG9yLnp4eXcodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1Y2hhcjQgb3BlcmF0b3Iuenh5dz0odWNoYXI0IHYsIHVjaGFyNCBjKSB7CisvLyAgICAg
dWNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0
LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmVzdWx0LncgPSBjLnc7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56eHp4KHVj
aGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9w
ZXJhdG9yLnp4enkodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1Y2hhcjQgb3BlcmF0b3Iuenh6eih1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56eHp3KHVjaGFyNCB2KSB7CisvLyAg
ICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnp4d3godWNo
YXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJl
c3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3Bl
cmF0b3Iuenh3eSh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVjaGFyNCBvcGVyYXRvci56eHd5PSh1Y2hhcjQgdiwgdWNoYXI0IGMpIHsKKy8vICAgICB1
Y2hhcjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQu
eCA9IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMuejsKKy8vICAgICByZXN1bHQueSA9IGMudzsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnp4d3oodWNo
YXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJl
c3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3Bl
cmF0b3Iuenh3dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVjaGFyNCBvcGVyYXRvci56eXh4KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnp5eHkodWNoYXI0IHYpIHsKKy8vICAg
ICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iuenl4eih1Y2hh
cjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVz
dWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVy
YXRvci56eXh3KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYu
eDsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdWNoYXI0IG9wZXJhdG9yLnp5eHc9KHVjaGFyNCB2LCB1Y2hhcjQgYykgeworLy8gICAgIHVj
aGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC55
ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJlc3VsdC53ID0gYy53Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iuenl5eCh1Y2hh
cjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVz
dWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVy
YXRvci56eXl5KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdWNoYXI0IG9wZXJhdG9yLnp5eXoodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAg
IHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iuenl5dyh1Y2hhcjQgdikgeworLy8gICAg
IHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56eXp4KHVjaGFy
NCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1
bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJh
dG9yLnp5enkodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56
OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1Y2hhcjQgb3BlcmF0b3Iuenl6eih1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56eXp3KHVjaGFyNCB2KSB7CisvLyAgICAg
dWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnp5d3godWNoYXI0
IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3Vs
dC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0
b3Iuenl3eD0odWNoYXI0IHYsIHVjaGFyNCBjKSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdCA9IHY7
CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAg
cmVzdWx0LncgPSBjLno7CisvLyAgICAgcmVzdWx0LnggPSBjLnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56eXd5KHVjaGFyNCB2KSB7CisvLyAgICAg
dWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnp5d3oodWNoYXI0
IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3Vs
dC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0
b3Iuenl3dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVjaGFyNCBvcGVyYXRvci56enh4KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnp6eHkodWNoYXI0IHYpIHsKKy8vICAgICB1
Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iuenp4eih1Y2hhcjQg
dikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0
LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRv
ci56enh3KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dWNoYXI0IG9wZXJhdG9yLnp6eXgodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iuenp5eSh1Y2hhcjQgdikgeworLy8gICAgIHVj
aGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56enl6KHVjaGFyNCB2
KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQu
dyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9y
Lnp6eXcodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
Y2hhcjQgb3BlcmF0b3Iuenp6eCh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56enp5KHVjaGFyNCB2KSB7CisvLyAgICAgdWNo
YXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYu
ejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnp6enoodWNoYXI0IHYp
IHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iu
enp6dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVj
aGFyNCBvcGVyYXRvci56end4KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1
bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnp6d3kodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hh
cjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56
OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iuenp3eih1Y2hhcjQgdikg
eworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56
end3KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8v
ICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNo
YXI0IG9wZXJhdG9yLnp3eHgodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iuend4eSh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFy
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56d3h5PSh1Y2hhcjQgdiwg
dWNoYXI0IGMpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9
IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueCA9IGMuejsKKy8v
ICAgICByZXN1bHQueSA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNo
YXI0IG9wZXJhdG9yLnp3eHoodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iuend4dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFy
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56d3l4KHVjaGFyNCB2KSB7
CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9
IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnp3
eXg9KHVjaGFyNCB2LCB1Y2hhcjQgYykgeworLy8gICAgIHVjaGFyNCByZXN1bHQgPSB2OworLy8g
ICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3Vs
dC55ID0gYy56OworLy8gICAgIHJlc3VsdC54ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iuend5eSh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFy
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56d3l6KHVjaGFyNCB2KSB7
CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnp3
eXcodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hh
cjQgb3BlcmF0b3Iuend6eCh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56d3p5KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsK
Ky8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnp3enoodWNoYXI0IHYpIHsK
Ky8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJl
c3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iuend6
dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFy
NCBvcGVyYXRvci56d3d4KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQu
eiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnp3d3kodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53Owor
Ly8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iuend3eih1Y2hhcjQgdikgewor
Ly8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2
Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci56d3d3
KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
ejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAg
ICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0
IG9wZXJhdG9yLnd4eHgodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56
ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iud3h4eSh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci53eHh6KHVjaGFyNCB2KSB7Cisv
LyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnd4eHco
dWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53
OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQg
b3BlcmF0b3Iud3h5eCh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVjaGFyNCBvcGVyYXRvci53eHl5KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnd4eXoodWNoYXI0IHYpIHsKKy8v
ICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iud3h5ej0o
dWNoYXI0IHYsIHVjaGFyNCBjKSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAg
cmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0Lnkg
PSBjLno7CisvLyAgICAgcmVzdWx0LnogPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVjaGFyNCBvcGVyYXRvci53eHl3KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnd4engodWNoYXI0IHYpIHsKKy8v
ICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iud3h6eSh1
Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBv
cGVyYXRvci53eHp5PSh1Y2hhcjQgdiwgdWNoYXI0IGMpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0
ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8v
ICAgICByZXN1bHQueiA9IGMuejsKKy8vICAgICByZXN1bHQueSA9IGMudzsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnd4enoodWNoYXI0IHYpIHsKKy8v
ICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iud3h6dyh1
Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBv
cGVyYXRvci53eHd4KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9
IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWNoYXI0IG9wZXJhdG9yLnd4d3kodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8g
ICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iud3h3eih1Y2hhcjQgdikgeworLy8g
ICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci53eHd3KHVj
aGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICBy
ZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9w
ZXJhdG9yLnd5eHgodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0g
di54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1Y2hhcjQgb3BlcmF0b3Iud3l4eSh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci53eXh6KHVjaGFyNCB2KSB7CisvLyAg
ICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnd5eHo9KHVj
aGFyNCB2LCB1Y2hhcjQgYykgeworLy8gICAgIHVjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJl
c3VsdC53ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0g
Yy56OworLy8gICAgIHJlc3VsdC56ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1Y2hhcjQgb3BlcmF0b3Iud3l4dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci53eXl4KHVjaGFyNCB2KSB7CisvLyAg
ICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnd5eXkodWNo
YXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
c3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3Bl
cmF0b3Iud3l5eih1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVjaGFyNCBvcGVyYXRvci53eXl3KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnd5engodWNoYXI0IHYpIHsKKy8vICAg
ICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iud3l6eD0odWNo
YXI0IHYsIHVjaGFyNCBjKSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVz
dWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBj
Lno7CisvLyAgICAgcmVzdWx0LnggPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVjaGFyNCBvcGVyYXRvci53eXp5KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAg
ICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnd5enoodWNoYXI0IHYpIHsKKy8vICAg
ICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iud3l6dyh1Y2hh
cjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVy
YXRvci53eXd4KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYu
dzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdWNoYXI0IG9wZXJhdG9yLnd5d3kodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAg
IHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iud3l3eih1Y2hhcjQgdikgeworLy8gICAg
IHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci53eXd3KHVjaGFy
NCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1
bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJh
dG9yLnd6eHgodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1Y2hhcjQgb3BlcmF0b3Iud3p4eSh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci53enh5PSh1Y2hhcjQgdiwgdWNoYXI0IGMp
IHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8v
ICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXN1
bHQueSA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJh
dG9yLnd6eHoodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1Y2hhcjQgb3BlcmF0b3Iud3p4dyh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci53enl4KHVjaGFyNCB2KSB7CisvLyAgICAg
dWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnd6eXg9KHVjaGFy
NCB2LCB1Y2hhcjQgYykgeworLy8gICAgIHVjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3Vs
dC53ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC55ID0gYy56
OworLy8gICAgIHJlc3VsdC54ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1Y2hhcjQgb3BlcmF0b3Iud3p5eSh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci53enl6KHVjaGFyNCB2KSB7CisvLyAgICAg
dWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnd6eXcodWNoYXI0
IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8g
ICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3Vs
dC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0
b3Iud3p6eCh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7
CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVjaGFyNCBvcGVyYXRvci53enp5KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnd6enoodWNoYXI0IHYpIHsKKy8vICAgICB1
Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iud3p6dyh1Y2hhcjQg
dikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0
LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRv
ci53end4KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsK
Ky8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dWNoYXI0IG9wZXJhdG9yLnd6d3kodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJl
c3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iud3p3eih1Y2hhcjQgdikgeworLy8gICAgIHVj
aGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci53end3KHVjaGFyNCB2
KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQu
dyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9y
Lnd3eHgodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
Y2hhcjQgb3BlcmF0b3Iud3d4eSh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci53d3h6KHVjaGFyNCB2KSB7CisvLyAgICAgdWNo
YXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYu
dzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnd3eHcodWNoYXI0IHYp
IHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAg
IHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53
ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iu
d3d5eCh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVj
aGFyNCBvcGVyYXRvci53d3l5KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnd3eXoodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hh
cjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iud3d5dyh1Y2hhcjQgdikg
eworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci53
d3p4KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8v
ICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNo
YXI0IG9wZXJhdG9yLnd3enkodWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1Y2hhcjQgb3BlcmF0b3Iud3d6eih1Y2hhcjQgdikgeworLy8gICAgIHVjaGFy
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci53d3p3KHVjaGFyNCB2KSB7
CisvLyAgICAgdWNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9
IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnd3
d3godWNoYXI0IHYpIHsKKy8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8g
ICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1Y2hh
cjQgb3BlcmF0b3Iud3d3eSh1Y2hhcjQgdikgeworLy8gICAgIHVjaGFyNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVjaGFyNCBvcGVyYXRvci53d3d6KHVjaGFyNCB2KSB7CisvLyAgICAgdWNoYXI0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsK
Ky8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWNoYXI0IG9wZXJhdG9yLnd3d3codWNoYXI0IHYpIHsK
Ky8vICAgICB1Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJl
c3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0g
di53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQyIG9wZXJhdG9yLnh4
KHVzaG9ydDIgdikgeworLy8gICAgIHVzaG9ydDIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1c2hvcnQyIG9wZXJhdG9yLnh5KHVzaG9ydDIgdikgeworLy8gICAgIHVzaG9ydDIgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQyIG9wZXJhdG9yLnh5PSh1c2hvcnQy
IHYsIHVzaG9ydDIgYykgeworLy8gICAgIHVzaG9ydDIgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1
bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdXNob3J0MiBvcGVyYXRvci55eCh1c2hvcnQyIHYpIHsKKy8vICAgICB1c2hv
cnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MiBvcGVyYXRvci55eD0o
dXNob3J0MiB2LCB1c2hvcnQyIGMpIHsKKy8vICAgICB1c2hvcnQyIHJlc3VsdCA9IHY7CisvLyAg
ICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDIgb3BlcmF0b3IueXkodXNob3J0MiB2KSB7CisvLyAg
ICAgdXNob3J0MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDIgb3BlcmF0
b3IueHgodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVzaG9ydDIgb3BlcmF0b3IueHkodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0
MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3IueHk9KHVz
aG9ydDMgdiwgdXNob3J0MiBjKSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQgPSB2OworLy8gICAg
IHJlc3VsdC54ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQyIG9wZXJhdG9yLnh6KHVzaG9ydDMgdikgeworLy8gICAg
IHVzaG9ydDIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQzIG9wZXJhdG9y
Lnh6PSh1c2hvcnQzIHYsIHVzaG9ydDIgYykgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0ID0gdjsK
Ky8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MiBvcGVyYXRvci55eCh1c2hvcnQzIHYpIHsK
Ky8vICAgICB1c2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBv
cGVyYXRvci55eD0odXNob3J0MyB2LCB1c2hvcnQyIGMpIHsKKy8vICAgICB1c2hvcnQzIHJlc3Vs
dCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDIgb3BlcmF0b3IueXkodXNob3J0
MyB2KSB7CisvLyAgICAgdXNob3J0MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVz
aG9ydDIgb3BlcmF0b3IueXoodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0MiByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3IueXo9KHVzaG9ydDMgdiwgdXNo
b3J0MiBjKSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0g
Yy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1c2hvcnQyIG9wZXJhdG9yLnp4KHVzaG9ydDMgdikgeworLy8gICAgIHVzaG9ydDIgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQzIG9wZXJhdG9yLnp4PSh1c2hvcnQz
IHYsIHVzaG9ydDIgYykgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1
bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdXNob3J0MiBvcGVyYXRvci56eSh1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hv
cnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci56eT0o
dXNob3J0MyB2LCB1c2hvcnQyIGMpIHsKKy8vICAgICB1c2hvcnQzIHJlc3VsdCA9IHY7CisvLyAg
ICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDIgb3BlcmF0b3IuenoodXNob3J0MyB2KSB7CisvLyAg
ICAgdXNob3J0MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDIgb3BlcmF0
b3IueHgodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVzaG9ydDIgb3BlcmF0b3IueHkodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0
MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHk9KHVz
aG9ydDQgdiwgdXNob3J0MiBjKSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQgPSB2OworLy8gICAg
IHJlc3VsdC54ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQyIG9wZXJhdG9yLnh6KHVzaG9ydDQgdikgeworLy8gICAg
IHVzaG9ydDIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9y
Lnh6PSh1c2hvcnQ0IHYsIHVzaG9ydDIgYykgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0ID0gdjsK
Ky8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MiBvcGVyYXRvci54dyh1c2hvcnQ0IHYpIHsK
Ky8vICAgICB1c2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBv
cGVyYXRvci54dz0odXNob3J0NCB2LCB1c2hvcnQyIGMpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3Vs
dCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDIgb3BlcmF0b3IueXgodXNob3J0
NCB2KSB7CisvLyAgICAgdXNob3J0MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVz
aG9ydDQgb3BlcmF0b3IueXg9KHVzaG9ydDQgdiwgdXNob3J0MiBjKSB7CisvLyAgICAgdXNob3J0
NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0g
Yy55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQyIG9wZXJhdG9yLnl5
KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1c2hvcnQyIG9wZXJhdG9yLnl6KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDIgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl6PSh1c2hvcnQ0
IHYsIHVzaG9ydDIgYykgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1
bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdXNob3J0MiBvcGVyYXRvci55dyh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hv
cnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
dzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci55dz0o
dXNob3J0NCB2LCB1c2hvcnQyIGMpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdCA9IHY7CisvLyAg
ICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDIgb3BlcmF0b3IuengodXNob3J0NCB2KSB7CisvLyAg
ICAgdXNob3J0MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0
b3Iueng9KHVzaG9ydDQgdiwgdXNob3J0MiBjKSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQgPSB2
OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQyIG9wZXJhdG9yLnp5KHVzaG9ydDQgdikg
eworLy8gICAgIHVzaG9ydDIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAg
IHJlc3VsdC55ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0
IG9wZXJhdG9yLnp5PSh1c2hvcnQ0IHYsIHVzaG9ydDIgYykgeworLy8gICAgIHVzaG9ydDQgcmVz
dWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MiBvcGVyYXRvci56eih1c2hv
cnQ0IHYpIHsKKy8vICAgICB1c2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dXNob3J0MiBvcGVyYXRvci56dyh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQyIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci56dz0odXNob3J0NCB2LCB1
c2hvcnQyIGMpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0Lnog
PSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVzaG9ydDIgb3BlcmF0b3Iud3godXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0MiBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iud3g9KHVzaG9y
dDQgdiwgdXNob3J0MiBjKSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJl
c3VsdC53ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1c2hvcnQyIG9wZXJhdG9yLnd5KHVzaG9ydDQgdikgeworLy8gICAgIHVz
aG9ydDIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0g
di55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnd5
PSh1c2hvcnQ0IHYsIHVzaG9ydDIgYykgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0ID0gdjsKKy8v
ICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MiBvcGVyYXRvci53eih1c2hvcnQ0IHYpIHsKKy8v
ICAgICB1c2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1
bHQueSA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVy
YXRvci53ej0odXNob3J0NCB2LCB1c2hvcnQyIGMpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdCA9
IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDIgb3BlcmF0b3Iud3codXNob3J0NCB2
KSB7CisvLyAgICAgdXNob3J0MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9y
dDMgb3BlcmF0b3IueHh4KHVzaG9ydDIgdikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQzIG9wZXJh
dG9yLnh4eSh1c2hvcnQyIHYpIHsKKy8vICAgICB1c2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci54eXgo
dXNob3J0MiB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3IueHl5KHVzaG9ydDIg
dikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQzIG9wZXJhdG9yLnl4eCh1c2hvcnQyIHYpIHsKKy8v
ICAgICB1c2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci55eHkodXNob3J0MiB2KSB7CisvLyAgICAgdXNo
b3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVzaG9ydDMgb3BlcmF0b3IueXl4KHVzaG9ydDIgdikgeworLy8gICAgIHVzaG9ydDMgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hv
cnQzIG9wZXJhdG9yLnl5eSh1c2hvcnQyIHYpIHsKKy8vICAgICB1c2hvcnQzIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVy
YXRvci54eHgodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3IueHh5
KHVzaG9ydDMgdikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQzIG9wZXJhdG9yLnh4eih1c2hvcnQz
IHYpIHsKKy8vICAgICB1c2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci54eXgodXNob3J0MyB2KSB7Cisv
LyAgICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3IueHl5KHVzaG9ydDMgdikgeworLy8gICAgIHVz
aG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0g
di55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1c2hvcnQzIG9wZXJhdG9yLnh5eih1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hvcnQzIHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNo
b3J0MyBvcGVyYXRvci54eXo9KHVzaG9ydDMgdiwgdXNob3J0MyBjKSB7CisvLyAgICAgdXNob3J0
MyByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0g
Yy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1c2hvcnQzIG9wZXJhdG9yLnh6eCh1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hvcnQzIHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNo
b3J0MyBvcGVyYXRvci54enkodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3Bl
cmF0b3IueHp5PSh1c2hvcnQzIHYsIHVzaG9ydDMgYykgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0
ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8v
ICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNo
b3J0MyBvcGVyYXRvci54enoodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3Bl
cmF0b3IueXh4KHVzaG9ydDMgdikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0g
di54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQzIG9wZXJhdG9yLnl4
eSh1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci55eHoodXNob3J0
MyB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3IueXh6PSh1c2hvcnQzIHYsIHVz
aG9ydDMgYykgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9
IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXN1bHQueiA9IGMuejsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci55eXgodXNob3J0
MyB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3IueXl5KHVzaG9ydDMgdikgewor
Ly8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJl
c3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1c2hvcnQzIG9wZXJhdG9yLnl5eih1c2hvcnQzIHYpIHsKKy8vICAgICB1
c2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdXNob3J0MyBvcGVyYXRvci55engodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0MyBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVz
aG9ydDMgb3BlcmF0b3IueXp4PSh1c2hvcnQzIHYsIHVzaG9ydDMgYykgeworLy8gICAgIHVzaG9y
dDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueiA9
IGMueTsKKy8vICAgICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdXNob3J0MyBvcGVyYXRvci55enkodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0MyBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVz
aG9ydDMgb3BlcmF0b3IueXp6KHVzaG9ydDMgdikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJl
c3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQzIG9w
ZXJhdG9yLnp4eCh1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hvcnQzIHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9
IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci56
eHkodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3Iuenh5PSh1c2hv
cnQzIHYsIHVzaG9ydDMgYykgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0ID0gdjsKKy8vICAgICBy
ZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXN1bHQueSA9
IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci56
eHoodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3Iuenl4KHVzaG9y
dDMgdikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQzIG9wZXJhdG9yLnp5eD0odXNob3J0MyB2LCB1
c2hvcnQzIGMpIHsKKy8vICAgICB1c2hvcnQzIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0Lnog
PSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3Iuenl5KHVzaG9y
dDMgdikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQzIG9wZXJhdG9yLnp5eih1c2hvcnQzIHYpIHsK
Ky8vICAgICB1c2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci56engodXNob3J0MyB2KSB7CisvLyAgICAg
dXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVzaG9ydDMgb3BlcmF0b3Iuenp5KHVzaG9ydDMgdikgeworLy8gICAgIHVzaG9ydDMg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56Owor
Ly8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
c2hvcnQzIG9wZXJhdG9yLnp6eih1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hvcnQzIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBv
cGVyYXRvci54eHgodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3Iu
eHh5KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQzIG9wZXJhdG9yLnh4eih1c2hv
cnQ0IHYpIHsKKy8vICAgICB1c2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci54eHcodXNob3J0NCB2KSB7
CisvLyAgICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3IueHl4KHVzaG9ydDQgdikgeworLy8gICAg
IHVzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1c2hvcnQzIG9wZXJhdG9yLnh5eSh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQz
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dXNob3J0MyBvcGVyYXRvci54eXoodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQg
b3BlcmF0b3IueHl6PSh1c2hvcnQ0IHYsIHVzaG9ydDMgYykgeworLy8gICAgIHVzaG9ydDQgcmVz
dWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsK
Ky8vICAgICByZXN1bHQueiA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dXNob3J0MyBvcGVyYXRvci54eXcodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQg
b3BlcmF0b3IueHl3PSh1c2hvcnQ0IHYsIHVzaG9ydDMgYykgeworLy8gICAgIHVzaG9ydDQgcmVz
dWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsK
Ky8vICAgICByZXN1bHQudyA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dXNob3J0MyBvcGVyYXRvci54engodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMg
b3BlcmF0b3IueHp5KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9y
Lnh6eT0odXNob3J0NCB2LCB1c2hvcnQzIGMpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdCA9IHY7
CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAg
cmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMg
b3BlcmF0b3IueHp6KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQzIG9wZXJhdG9y
Lnh6dyh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54enc9KHVz
aG9ydDQgdiwgdXNob3J0MyBjKSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQgPSB2OworLy8gICAg
IHJlc3VsdC54ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC53
ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQzIG9wZXJhdG9y
Lnh3eCh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci54d3kodXNo
b3J0NCB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHd5PSh1c2hvcnQ0IHYs
IHVzaG9ydDMgYykgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQu
eCA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci54d3oodXNo
b3J0NCB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHd6PSh1c2hvcnQ0IHYs
IHVzaG9ydDMgYykgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQu
eCA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueiA9IGMuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci54d3codXNo
b3J0NCB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3IueXh4KHVzaG9ydDQgdikg
eworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQzIG9wZXJhdG9yLnl4eSh1c2hvcnQ0IHYpIHsKKy8vICAg
ICB1c2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdXNob3J0MyBvcGVyYXRvci55eHoodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0
MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVzaG9ydDQgb3BlcmF0b3IueXh6PSh1c2hvcnQ0IHYsIHVzaG9ydDMgYykgeworLy8gICAgIHVz
aG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQu
eCA9IGMueTsKKy8vICAgICByZXN1bHQueiA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdXNob3J0MyBvcGVyYXRvci55eHcodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0
MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVzaG9ydDQgb3BlcmF0b3IueXh3PSh1c2hvcnQ0IHYsIHVzaG9ydDMgYykgeworLy8gICAgIHVz
aG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQu
eCA9IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdXNob3J0MyBvcGVyYXRvci55eXgodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0
MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVzaG9ydDMgb3BlcmF0b3IueXl5KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAg
IHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQz
IG9wZXJhdG9yLnl5eih1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQzIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQu
eiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRv
ci55eXcodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3IueXp4KHVz
aG9ydDQgdikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55
OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl6eD0odXNob3J0NCB2
LCB1c2hvcnQzIGMpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0
LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3IueXp5KHVz
aG9ydDQgdikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55
OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQzIG9wZXJhdG9yLnl6eih1c2hvcnQ0IHYp
IHsKKy8vICAgICB1c2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci55encodXNob3J0NCB2KSB7CisvLyAg
ICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXp3PSh1c2hvcnQ0IHYsIHVzaG9ydDMgYykgewor
Ly8gICAgIHVzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAg
ICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci55d3godXNob3J0NCB2KSB7CisvLyAg
ICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXd4PSh1c2hvcnQ0IHYsIHVzaG9ydDMgYykgewor
Ly8gICAgIHVzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAg
ICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci55d3kodXNob3J0NCB2KSB7CisvLyAg
ICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3IueXd6KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9y
dDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53
OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1c2hvcnQ0IG9wZXJhdG9yLnl3ej0odXNob3J0NCB2LCB1c2hvcnQzIGMpIHsKKy8vICAgICB1
c2hvcnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0
LncgPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3IueXd3KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9y
dDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53
OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1c2hvcnQzIG9wZXJhdG9yLnp4eCh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQzIHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0
MyBvcGVyYXRvci56eHkodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0
b3Iuenh5PSh1c2hvcnQ0IHYsIHVzaG9ydDMgYykgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0ID0g
djsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAg
ICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0
MyBvcGVyYXRvci56eHoodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0
b3Iuenh3KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp4dz0o
dXNob3J0NCB2LCB1c2hvcnQzIGMpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdCA9IHY7CisvLyAg
ICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0
LncgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0
b3Iuenl4KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp5eD0o
dXNob3J0NCB2LCB1c2hvcnQzIGMpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdCA9IHY7CisvLyAg
ICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0
LnggPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0
b3Iuenl5KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQzIG9wZXJhdG9yLnp5eih1
c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
ejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci56eXcodXNob3J0NCB2
KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iuenl3PSh1c2hvcnQ0IHYsIHVzaG9y
dDMgYykgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMu
eDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci56engodXNob3J0NCB2
KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3Iuenp5KHVzaG9ydDQgdikgeworLy8g
ICAgIHVzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1c2hvcnQzIG9wZXJhdG9yLnp6eih1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hv
cnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYu
ejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdXNob3J0MyBvcGVyYXRvci56encodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9y
dDMgb3BlcmF0b3Iuend4KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJh
dG9yLnp3eD0odXNob3J0NCB2LCB1c2hvcnQzIGMpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdCA9
IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAg
ICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9y
dDMgb3BlcmF0b3Iuend5KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3Vs
dC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJh
dG9yLnp3eT0odXNob3J0NCB2LCB1c2hvcnQzIGMpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdCA9
IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAg
ICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9y
dDMgb3BlcmF0b3Iuend6KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQzIG9wZXJh
dG9yLnp3dyh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYu
dzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci53eHgo
dXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3Iud3h5KHVzaG9ydDQg
dikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8g
ICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnd4eT0odXNob3J0NCB2LCB1c2hv
cnQzIGMpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBj
Lng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3Iud3h6KHVzaG9ydDQg
dikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8g
ICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnd4ej0odXNob3J0NCB2LCB1c2hv
cnQzIGMpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBj
Lng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3Iud3h3KHVzaG9ydDQg
dikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8g
ICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQzIG9wZXJhdG9yLnd5eCh1c2hvcnQ0IHYpIHsKKy8v
ICAgICB1c2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci53eXg9KHVzaG9ydDQgdiwgdXNob3J0MyBjKSB7
CisvLyAgICAgdXNob3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54OworLy8g
ICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQzIG9wZXJhdG9yLnd5eSh1c2hvcnQ0IHYpIHsKKy8v
ICAgICB1c2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci53eXoodXNob3J0NCB2KSB7CisvLyAgICAgdXNo
b3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVzaG9ydDQgb3BlcmF0b3Iud3l6PSh1c2hvcnQ0IHYsIHVzaG9ydDMgYykgeworLy8gICAg
IHVzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1
bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQueiA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci53eXcodXNob3J0NCB2KSB7CisvLyAgICAgdXNo
b3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVzaG9ydDMgb3BlcmF0b3Iud3p4KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDMgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hv
cnQ0IG9wZXJhdG9yLnd6eD0odXNob3J0NCB2LCB1c2hvcnQzIGMpIHsKKy8vICAgICB1c2hvcnQ0
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBj
Lnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVzaG9ydDMgb3BlcmF0b3Iud3p5KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDMgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hv
cnQ0IG9wZXJhdG9yLnd6eT0odXNob3J0NCB2LCB1c2hvcnQzIGMpIHsKKy8vICAgICB1c2hvcnQ0
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBj
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVzaG9ydDMgb3BlcmF0b3Iud3p6KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDMgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hv
cnQzIG9wZXJhdG9yLnd6dyh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQzIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1
bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVy
YXRvci53d3godXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDMgb3BlcmF0b3Iud3d5
KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQzIG9wZXJhdG9yLnd3eih1c2hvcnQ0
IHYpIHsKKy8vICAgICB1c2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8v
ICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0MyBvcGVyYXRvci53d3codXNob3J0NCB2KSB7Cisv
LyAgICAgdXNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHh4eCh1c2hvcnQyIHYpIHsKKy8vICAgICB1
c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54eHh5KHVzaG9y
dDIgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJl
c3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9w
ZXJhdG9yLnh4eXgodXNob3J0MiB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHh5eSh1c2hvcnQyIHYpIHsKKy8vICAgICB1c2hvcnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54eXh4KHVzaG9ydDIgdikg
eworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53
ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9y
Lnh5eHkodXNob3J0MiB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVzaG9ydDQgb3BlcmF0b3IueHl5eCh1c2hvcnQyIHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54eXl5KHVzaG9ydDIgdikgeworLy8g
ICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl4eHgo
dXNob3J0MiB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9y
dDQgb3BlcmF0b3IueXh4eSh1c2hvcnQyIHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci55eHl4KHVzaG9ydDIgdikgeworLy8gICAgIHVz
aG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl4eXkodXNob3J0
MiB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3Bl
cmF0b3IueXl4eCh1c2hvcnQyIHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdXNob3J0NCBvcGVyYXRvci55eXh5KHVzaG9ydDIgdikgeworLy8gICAgIHVzaG9ydDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl5eXgodXNob3J0MiB2KSB7
CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iu
eXl5eSh1c2hvcnQyIHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsK
Ky8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dXNob3J0NCBvcGVyYXRvci54eHh4KHVzaG9ydDMgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh4eHkodXNob3J0MyB2KSB7CisvLyAg
ICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHh4eih1
c2hvcnQzIHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAg
ICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0
NCBvcGVyYXRvci54eHl4KHVzaG9ydDMgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3Vs
dC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh4eXkodXNob3J0MyB2KSB7CisvLyAgICAgdXNo
b3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHh5eih1c2hvcnQz
IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1
bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVy
YXRvci54eHp4KHVzaG9ydDMgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh4enkodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHh6eih1c2hvcnQzIHYpIHsK
Ky8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICBy
ZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54
eXh4KHVzaG9ydDMgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
c2hvcnQ0IG9wZXJhdG9yLnh5eHkodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHl4eih1c2hvcnQzIHYpIHsKKy8vICAg
ICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54eXl4KHVz
aG9ydDMgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0
IG9wZXJhdG9yLnh5eXkodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHl5eih1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hv
cnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
eTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54eXp4KHVzaG9ydDMg
dikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3Vs
dC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJh
dG9yLnh5enkodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2
Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVzaG9ydDQgb3BlcmF0b3IueHl6eih1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hvcnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54enh4KHVzaG9ydDMgdikgewor
Ly8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJl
c3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0g
di54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh6
eHkodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVz
aG9ydDQgb3BlcmF0b3IueHp4eih1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54enl4KHVzaG9ydDMgdikgeworLy8gICAg
IHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh6eXkodXNo
b3J0MyB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQg
b3BlcmF0b3IueHp5eih1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54enp4KHVzaG9ydDMgdikgeworLy8gICAgIHVzaG9y
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56
OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh6enkodXNob3J0MyB2
KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0
LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0
b3IueHp6eih1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYu
ejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdXNob3J0NCBvcGVyYXRvci55eHh4KHVzaG9ydDMgdikgeworLy8gICAgIHVzaG9ydDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl4eHkodXNob3J0MyB2KSB7Cisv
LyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXh4
eih1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8v
ICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNo
b3J0NCBvcGVyYXRvci55eHl4KHVzaG9ydDMgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl4eXkodXNob3J0MyB2KSB7CisvLyAgICAg
dXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXh5eih1c2hv
cnQzIHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICBy
ZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBv
cGVyYXRvci55eHp4KHVzaG9ydDMgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56
ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl4enkodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXh6eih1c2hvcnQzIHYp
IHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAg
ICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQu
dyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRv
ci55eXh4KHVzaG9ydDMgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1c2hvcnQ0IG9wZXJhdG9yLnl5eHkodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXl4eih1c2hvcnQzIHYpIHsKKy8v
ICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci55eXl4
KHVzaG9ydDMgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hv
cnQ0IG9wZXJhdG9yLnl5eXkodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXl5eih1c2hvcnQzIHYpIHsKKy8vICAgICB1
c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci55eXp4KHVzaG9y
dDMgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJl
c3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9w
ZXJhdG9yLnl5enkodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXl6eih1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hvcnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci55enh4KHVzaG9ydDMgdikg
eworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53
ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9y
Lnl6eHkodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVzaG9ydDQgb3BlcmF0b3IueXp4eih1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci55enl4KHVzaG9ydDMgdikgeworLy8g
ICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl6eXko
dXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9y
dDQgb3BlcmF0b3IueXp5eih1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci55enp4KHVzaG9ydDMgdikgeworLy8gICAgIHVz
aG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl6enkodXNob3J0
MyB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3Bl
cmF0b3IueXp6eih1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9
IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdXNob3J0NCBvcGVyYXRvci56eHh4KHVzaG9ydDMgdikgeworLy8gICAgIHVzaG9ydDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp4eHkodXNob3J0MyB2KSB7
CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iu
enh4eih1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dXNob3J0NCBvcGVyYXRvci56eHl4KHVzaG9ydDMgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp4eXkodXNob3J0MyB2KSB7CisvLyAg
ICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iuenh5eih1
c2hvcnQzIHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
ejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAg
ICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0
NCBvcGVyYXRvci56eHp4KHVzaG9ydDMgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp4enkodXNob3J0MyB2KSB7CisvLyAgICAgdXNo
b3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iuenh6eih1c2hvcnQz
IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1
bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVy
YXRvci56eXh4KHVzaG9ydDMgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0g
di54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp5eHkodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iuenl4eih1c2hvcnQzIHYpIHsK
Ky8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci56
eXl4KHVzaG9ydDMgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
c2hvcnQ0IG9wZXJhdG9yLnp5eXkodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iuenl5eih1c2hvcnQzIHYpIHsKKy8vICAg
ICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci56eXp4KHVz
aG9ydDMgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAg
IHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0
IG9wZXJhdG9yLnp5enkodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iuenl6eih1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hv
cnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYu
eTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci56enh4KHVzaG9ydDMg
dikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8g
ICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3Vs
dC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJh
dG9yLnp6eHkodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2
Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVzaG9ydDQgb3BlcmF0b3Iuenp4eih1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hvcnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci56enl4KHVzaG9ydDMgdikgewor
Ly8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJl
c3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0g
di54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp6
eXkodXNob3J0MyB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVz
aG9ydDQgb3BlcmF0b3Iuenp5eih1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci56enp4KHVzaG9ydDMgdikgeworLy8gICAg
IHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55
ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp6enkodXNo
b3J0MyB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQg
b3BlcmF0b3Iuenp6eih1c2hvcnQzIHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54eHh4KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9y
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh4eHkodXNob3J0NCB2
KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0
LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0
b3IueHh4eih1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
eDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdXNob3J0NCBvcGVyYXRvci54eHh3KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh4eXgodXNob3J0NCB2KSB7Cisv
LyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHh5
eSh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8v
ICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNo
b3J0NCBvcGVyYXRvci54eHl6KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh4eXcodXNob3J0NCB2KSB7CisvLyAgICAg
dXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHh6eCh1c2hv
cnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBv
cGVyYXRvci54eHp5KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56
ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh4enoodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHh6dyh1c2hvcnQ0IHYp
IHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQu
dyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRv
ci54eHd4KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53
OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1c2hvcnQ0IG9wZXJhdG9yLnh4d3kodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHh3eih1c2hvcnQ0IHYpIHsKKy8v
ICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54eHd3
KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8g
ICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hv
cnQ0IG9wZXJhdG9yLnh5eHgodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHl4eSh1c2hvcnQ0IHYpIHsKKy8vICAgICB1
c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54eXh6KHVzaG9y
dDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJl
c3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9w
ZXJhdG9yLnh5eHcodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHl5eCh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54eXl5KHVzaG9ydDQgdikg
eworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9y
Lnh5eXoodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVzaG9ydDQgb3BlcmF0b3IueHl5dyh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54eXp4KHVzaG9ydDQgdikgeworLy8g
ICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh5enko
dXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9y
dDQgb3BlcmF0b3IueHl6eih1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54eXp3KHVzaG9ydDQgdikgeworLy8gICAgIHVz
aG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0g
di55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh5enc9KHVzaG9y
dDQgdiwgdXNob3J0NCBjKSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJl
c3VsdC54ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0g
Yy56OworLy8gICAgIHJlc3VsdC53ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh5d3godXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHl3eSh1c2hvcnQ0IHYpIHsK
Ky8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54
eXd6KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53Owor
Ly8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
c2hvcnQ0IG9wZXJhdG9yLnh5d3o9KHVzaG9ydDQgdiwgdXNob3J0NCBjKSB7CisvLyAgICAgdXNo
b3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54OworLy8gICAgIHJlc3VsdC55
ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJlc3VsdC56ID0gYy53Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh5d3codXNo
b3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQg
b3BlcmF0b3IueHp4eCh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54enh5KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9y
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56
OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh6eHoodXNob3J0NCB2
KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0
LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0
b3IueHp4dyh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYu
eDsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdXNob3J0NCBvcGVyYXRvci54enl4KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh6eXkodXNob3J0NCB2KSB7Cisv
LyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHp5
eih1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8v
ICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNo
b3J0NCBvcGVyYXRvci54enl3KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh6eXc9KHVzaG9ydDQgdiwgdXNob3J0NCBj
KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54Owor
Ly8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC55ID0gYy56OworLy8gICAgIHJl
c3VsdC53ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9w
ZXJhdG9yLnh6engodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHp6eSh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsK
Ky8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54enp6KHVzaG9ydDQgdikg
eworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9y
Lnh6encodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVzaG9ydDQgb3BlcmF0b3IueHp3eCh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54end5KHVzaG9ydDQgdikgeworLy8g
ICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh6d3k9
KHVzaG9ydDQgdiwgdXNob3J0NCBjKSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQgPSB2OworLy8g
ICAgIHJlc3VsdC54ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3Vs
dC53ID0gYy56OworLy8gICAgIHJlc3VsdC55ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh6d3oodXNob3J0NCB2KSB7CisvLyAgICAgdXNo
b3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHp3dyh1c2hvcnQ0
IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1
bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVy
YXRvci54d3h4KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0g
di54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh3eHkodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHd4eih1c2hvcnQ0IHYpIHsK
Ky8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54
d3h3KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
c2hvcnQ0IG9wZXJhdG9yLnh3eXgodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHd5eSh1c2hvcnQ0IHYpIHsKKy8vICAg
ICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQu
eSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54d3l6KHVz
aG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0
IG9wZXJhdG9yLnh3eXo9KHVzaG9ydDQgdiwgdXNob3J0NCBjKSB7CisvLyAgICAgdXNob3J0NCBy
ZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54OworLy8gICAgIHJlc3VsdC53ID0gYy55
OworLy8gICAgIHJlc3VsdC55ID0gYy56OworLy8gICAgIHJlc3VsdC56ID0gYy53OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh3eXcodXNob3J0NCB2
KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0
LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0
b3IueHd6eCh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYu
ejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdXNob3J0NCBvcGVyYXRvci54d3p5KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8g
ICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnh3enk9KHVzaG9ydDQgdiwgdXNo
b3J0NCBjKSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0g
Yy54OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8g
ICAgIHJlc3VsdC55ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hv
cnQ0IG9wZXJhdG9yLnh3enoodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHd6dyh1c2hvcnQ0IHYpIHsKKy8vICAgICB1
c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54d3d4KHVzaG9y
dDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54Owor
Ly8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJl
c3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9w
ZXJhdG9yLnh3d3kodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueHd3eih1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsK
Ky8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci54d3d3KHVzaG9ydDQgdikg
eworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53
ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9y
Lnl4eHgodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7
CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVzaG9ydDQgb3BlcmF0b3IueXh4eSh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci55eHh6KHVzaG9ydDQgdikgeworLy8g
ICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl4eHco
dXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9y
dDQgb3BlcmF0b3IueXh5eCh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci55eHl5KHVzaG9ydDQgdikgeworLy8gICAgIHVz
aG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl4eXoodXNob3J0
NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVz
dWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3Bl
cmF0b3IueXh5dyh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdXNob3J0NCBvcGVyYXRvci55eHp4KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl4enkodXNob3J0NCB2KSB7
CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iu
eXh6eih1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsK
Ky8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dXNob3J0NCBvcGVyYXRvci55eHp3KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl4enc9KHVzaG9ydDQgdiwgdXNob3J0
NCBjKSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54
OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAg
IHJlc3VsdC53ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0
IG9wZXJhdG9yLnl4d3godXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXh3eSh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hv
cnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci55eHd6KHVzaG9ydDQg
dikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8g
ICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3Vs
dC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJh
dG9yLnl4d3o9KHVzaG9ydDQgdiwgdXNob3J0NCBjKSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQg
PSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8g
ICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJlc3VsdC56ID0gYy53OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl4d3codXNob3J0NCB2KSB7Cisv
LyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXl4
eCh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8v
ICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNo
b3J0NCBvcGVyYXRvci55eXh5KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl5eHoodXNob3J0NCB2KSB7CisvLyAgICAg
dXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXl4dyh1c2hv
cnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBv
cGVyYXRvci55eXl4KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl5eXkodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXl5eih1c2hvcnQ0IHYp
IHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQu
dyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRv
ci55eXl3KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55
OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1c2hvcnQ0IG9wZXJhdG9yLnl5engodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXl6eSh1c2hvcnQ0IHYpIHsKKy8v
ICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci55eXp6
KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hv
cnQ0IG9wZXJhdG9yLnl5encodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXl3eCh1c2hvcnQ0IHYpIHsKKy8vICAgICB1
c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci55eXd5KHVzaG9y
dDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJl
c3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9w
ZXJhdG9yLnl5d3oodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXl3dyh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci55enh4KHVzaG9ydDQgdikg
eworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53
ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9y
Lnl6eHkodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVzaG9ydDQgb3BlcmF0b3IueXp4eih1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci55enh3KHVzaG9ydDQgdikgeworLy8g
ICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi53
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl6eHc9
KHVzaG9ydDQgdiwgdXNob3J0NCBjKSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQgPSB2OworLy8g
ICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3Vs
dC54ID0gYy56OworLy8gICAgIHJlc3VsdC53ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl6eXgodXNob3J0NCB2KSB7CisvLyAgICAgdXNo
b3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXp5eSh1c2hvcnQ0
IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1
bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVy
YXRvci55enl6KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl6eXcodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXp6eCh1c2hvcnQ0IHYpIHsK
Ky8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9
IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci55
enp5KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56Owor
Ly8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
c2hvcnQ0IG9wZXJhdG9yLnl6enoodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAg
cmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXp6dyh1c2hvcnQ0IHYpIHsKKy8vICAg
ICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQu
eSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci55end4KHVz
aG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55
OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAg
IHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0
IG9wZXJhdG9yLnl6d3g9KHVzaG9ydDQgdiwgdXNob3J0NCBjKSB7CisvLyAgICAgdXNob3J0NCBy
ZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55
OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJlc3VsdC54ID0gYy53OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl6d3kodXNob3J0NCB2
KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0
LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0
b3IueXp3eih1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYu
dzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdXNob3J0NCBvcGVyYXRvci55end3KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl3eHgodXNob3J0NCB2KSB7Cisv
LyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXd4
eSh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8v
ICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNo
b3J0NCBvcGVyYXRvci55d3h6KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl3eHo9KHVzaG9ydDQgdiwgdXNob3J0NCBj
KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54Owor
Ly8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJl
c3VsdC56ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9w
ZXJhdG9yLnl3eHcodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXd5eCh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci55d3l5KHVzaG9ydDQgdikg
eworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9y
Lnl3eXoodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVzaG9ydDQgb3BlcmF0b3IueXd5dyh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci55d3p4KHVzaG9ydDQgdikgeworLy8g
ICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl3eng9
KHVzaG9ydDQgdiwgdXNob3J0NCBjKSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQgPSB2OworLy8g
ICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3Vs
dC56ID0gYy56OworLy8gICAgIHJlc3VsdC54ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl3enkodXNob3J0NCB2KSB7CisvLyAgICAgdXNo
b3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXd6eih1c2hvcnQ0
IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1
bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVy
YXRvci55d3p3KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnl3d3godXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3IueXd3eSh1c2hvcnQ0IHYpIHsK
Ky8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci55
d3d6KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53Owor
Ly8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
c2hvcnQ0IG9wZXJhdG9yLnl3d3codXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iuenh4eCh1c2hvcnQ0IHYpIHsKKy8vICAg
ICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci56eHh5KHVz
aG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56
OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0
IG9wZXJhdG9yLnp4eHoodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iuenh4dyh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hv
cnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci56eHl4KHVzaG9ydDQg
dikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8g
ICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3Vs
dC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJh
dG9yLnp4eXkodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVzaG9ydDQgb3BlcmF0b3Iuenh5eih1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci56eHl3KHVzaG9ydDQgdikgewor
Ly8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJl
c3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0g
di53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp4
eXc9KHVzaG9ydDQgdiwgdXNob3J0NCBjKSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQgPSB2Owor
Ly8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJl
c3VsdC55ID0gYy56OworLy8gICAgIHJlc3VsdC53ID0gYy53OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp4engodXNob3J0NCB2KSB7CisvLyAgICAg
dXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iuenh6eSh1c2hv
cnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBv
cGVyYXRvci56eHp6KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56
ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp4encodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iuenh3eCh1c2hvcnQ0IHYp
IHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAg
ICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQu
dyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRv
ci56eHd5KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53
OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1c2hvcnQ0IG9wZXJhdG9yLnp4d3k9KHVzaG9ydDQgdiwgdXNob3J0NCBjKSB7CisvLyAgICAg
dXNob3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3Vs
dC54ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJlc3VsdC55ID0gYy53
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp4d3oo
dXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9y
dDQgb3BlcmF0b3Iuenh3dyh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci56eXh4KHVzaG9ydDQgdikgeworLy8gICAgIHVz
aG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0g
di55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp5eHkodXNob3J0
NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3Bl
cmF0b3Iuenl4eih1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdXNob3J0NCBvcGVyYXRvci56eXh3KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp5eHc9KHVzaG9ydDQgdiwg
dXNob3J0NCBjKSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56
ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56Owor
Ly8gICAgIHJlc3VsdC53ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
c2hvcnQ0IG9wZXJhdG9yLnp5eXgodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iuenl5eSh1c2hvcnQ0IHYpIHsKKy8vICAg
ICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci56eXl6KHVz
aG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0
IG9wZXJhdG9yLnp5eXcodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iuenl6eCh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hv
cnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYu
eTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci56eXp5KHVzaG9ydDQg
dikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3Vs
dC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJh
dG9yLnp5enoodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2
Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVzaG9ydDQgb3BlcmF0b3Iuenl6dyh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci56eXd4KHVzaG9ydDQgdikgewor
Ly8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJl
c3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0g
di54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp5
d3g9KHVzaG9ydDQgdiwgdXNob3J0NCBjKSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQgPSB2Owor
Ly8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJl
c3VsdC53ID0gYy56OworLy8gICAgIHJlc3VsdC54ID0gYy53OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp5d3kodXNob3J0NCB2KSB7CisvLyAgICAg
dXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iuenl3eih1c2hv
cnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICBy
ZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBv
cGVyYXRvci56eXd3KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp6eHgodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iuenp4eSh1c2hvcnQ0IHYp
IHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRv
ci56enh6KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1c2hvcnQ0IG9wZXJhdG9yLnp6eHcodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iuenp5eCh1c2hvcnQ0IHYpIHsKKy8v
ICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1
bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYu
eDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci56enl5
KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hv
cnQ0IG9wZXJhdG9yLnp6eXoodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iuenp5dyh1c2hvcnQ0IHYpIHsKKy8vICAgICB1
c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci56enp4KHVzaG9y
dDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJl
c3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9w
ZXJhdG9yLnp6enkodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iuenp6eih1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsK
Ky8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci56enp3KHVzaG9ydDQgdikg
eworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53
ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9y
Lnp6d3godXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7
CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVzaG9ydDQgb3BlcmF0b3Iuenp3eSh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci56end6KHVzaG9ydDQgdikgeworLy8g
ICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp6d3co
dXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9y
dDQgb3BlcmF0b3Iuend4eCh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci56d3h5KHVzaG9ydDQgdikgeworLy8gICAgIHVz
aG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0g
di53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp3eHk9KHVzaG9y
dDQgdiwgdXNob3J0NCBjKSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJl
c3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0g
Yy56OworLy8gICAgIHJlc3VsdC55ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp3eHoodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iuend4dyh1c2hvcnQ0IHYpIHsK
Ky8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9
IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci56
d3l4KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
c2hvcnQ0IG9wZXJhdG9yLnp3eXg9KHVzaG9ydDQgdiwgdXNob3J0NCBjKSB7CisvLyAgICAgdXNo
b3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC53
ID0gYy55OworLy8gICAgIHJlc3VsdC55ID0gYy56OworLy8gICAgIHJlc3VsdC54ID0gYy53Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp3eXkodXNo
b3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQg
b3BlcmF0b3Iuend5eih1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQu
eiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdXNob3J0NCBvcGVyYXRvci56d3l3KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9y
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp3engodXNob3J0NCB2
KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0
LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0
b3Iuend6eSh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYu
ejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdXNob3J0NCBvcGVyYXRvci56d3p6KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8g
ICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp3encodXNob3J0NCB2KSB7Cisv
LyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iuend3
eCh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8v
ICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNo
b3J0NCBvcGVyYXRvci56d3d5KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJl
c3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnp3d3oodXNob3J0NCB2KSB7CisvLyAgICAg
dXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iuend3dyh1c2hv
cnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICBy
ZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBv
cGVyYXRvci53eHh4KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56
ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnd4eHkodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iud3h4eih1c2hvcnQ0IHYp
IHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAg
ICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQu
dyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRv
ci53eHh3KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1c2hvcnQ0IG9wZXJhdG9yLnd4eXgodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iud3h5eSh1c2hvcnQ0IHYpIHsKKy8v
ICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci53eHl6
KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hv
cnQ0IG9wZXJhdG9yLnd4eXo9KHVzaG9ydDQgdiwgdXNob3J0NCBjKSB7CisvLyAgICAgdXNob3J0
NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0g
Yy55OworLy8gICAgIHJlc3VsdC55ID0gYy56OworLy8gICAgIHJlc3VsdC56ID0gYy53OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnd4eXcodXNob3J0
NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3Bl
cmF0b3Iud3h6eCh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9
IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdXNob3J0NCBvcGVyYXRvci53eHp5KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnd4enk9KHVzaG9ydDQgdiwg
dXNob3J0NCBjKSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53
ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56Owor
Ly8gICAgIHJlc3VsdC55ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
c2hvcnQ0IG9wZXJhdG9yLnd4enoodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAg
cmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iud3h6dyh1c2hvcnQ0IHYpIHsKKy8vICAg
ICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci53eHd4KHVz
aG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53
OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAg
IHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0
IG9wZXJhdG9yLnd4d3kodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iud3h3eih1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hv
cnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci53eHd3KHVzaG9ydDQg
dikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8g
ICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3Vs
dC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJh
dG9yLnd5eHgodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2
Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVzaG9ydDQgb3BlcmF0b3Iud3l4eSh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci53eXh6KHVzaG9ydDQgdikgewor
Ly8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJl
c3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnd5
eHo9KHVzaG9ydDQgdiwgdXNob3J0NCBjKSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQgPSB2Owor
Ly8gICAgIHJlc3VsdC53ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJl
c3VsdC54ID0gYy56OworLy8gICAgIHJlc3VsdC56ID0gYy53OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnd5eHcodXNob3J0NCB2KSB7CisvLyAgICAg
dXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iud3l5eCh1c2hv
cnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsK
Ky8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICBy
ZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBv
cGVyYXRvci53eXl5KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnd5eXoodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iud3l5dyh1c2hvcnQ0IHYp
IHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQu
dyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRv
ci53eXp4KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56
OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1c2hvcnQ0IG9wZXJhdG9yLnd5eng9KHVzaG9ydDQgdiwgdXNob3J0NCBjKSB7CisvLyAgICAg
dXNob3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54OworLy8gICAgIHJlc3Vs
dC55ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJlc3VsdC54ID0gYy53
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnd5enko
dXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9y
dDQgb3BlcmF0b3Iud3l6eih1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci53eXp3KHVzaG9ydDQgdikgeworLy8gICAgIHVz
aG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0g
di55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnd5d3godXNob3J0
NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVz
dWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3Bl
cmF0b3Iud3l3eSh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdXNob3J0NCBvcGVyYXRvci53eXd6KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnd5d3codXNob3J0NCB2KSB7
CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iu
d3p4eCh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dXNob3J0NCBvcGVyYXRvci53enh5KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnd6eHk9KHVzaG9ydDQgdiwgdXNob3J0
NCBjKSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54
OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAg
IHJlc3VsdC55ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0
IG9wZXJhdG9yLnd6eHoodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0
LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iud3p4dyh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hv
cnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYu
ejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci53enl4KHVzaG9ydDQg
dikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8g
ICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3Vs
dC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJh
dG9yLnd6eXg9KHVzaG9ydDQgdiwgdXNob3J0NCBjKSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQg
PSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8g
ICAgIHJlc3VsdC55ID0gYy56OworLy8gICAgIHJlc3VsdC54ID0gYy53OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnd6eXkodXNob3J0NCB2KSB7Cisv
LyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iud3p5
eih1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8v
ICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNo
b3J0NCBvcGVyYXRvci53enl3KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnd6engodXNob3J0NCB2KSB7CisvLyAgICAg
dXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iud3p6eSh1c2hv
cnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsK
Ky8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBv
cGVyYXRvci53enp6KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnd6encodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iud3p3eCh1c2hvcnQ0IHYp
IHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQu
dyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRv
ci53end5KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53
OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1c2hvcnQ0IG9wZXJhdG9yLnd6d3oodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iud3p3dyh1c2hvcnQ0IHYpIHsKKy8v
ICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1
bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYu
dzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci53d3h4
KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8g
ICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hv
cnQ0IG9wZXJhdG9yLnd3eHkodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iud3d4eih1c2hvcnQ0IHYpIHsKKy8vICAgICB1
c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9
IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci53d3h3KHVzaG9y
dDQgdikgeworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53Owor
Ly8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJl
c3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9w
ZXJhdG9yLnd3eXgodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVzaG9ydDQgb3BlcmF0b3Iud3d5eSh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci53d3l6KHVzaG9ydDQgdikg
eworLy8gICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAg
IHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9y
Lnd3eXcodXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVzaG9ydDQgb3BlcmF0b3Iud3d6eCh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAg
ICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci53d3p5KHVzaG9ydDQgdikgeworLy8g
ICAgIHVzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3Vs
dC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnd3enoo
dXNob3J0NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9y
dDQgb3BlcmF0b3Iud3d6dyh1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1
bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdXNob3J0NCBvcGVyYXRvci53d3d4KHVzaG9ydDQgdikgeworLy8gICAgIHVz
aG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0g
di53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1c2hvcnQ0IG9wZXJhdG9yLnd3d3kodXNob3J0
NCB2KSB7CisvLyAgICAgdXNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVzaG9ydDQgb3Bl
cmF0b3Iud3d3eih1c2hvcnQ0IHYpIHsKKy8vICAgICB1c2hvcnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9
IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdXNob3J0NCBvcGVyYXRvci53d3d3KHVzaG9ydDQgdikgeworLy8gICAgIHVzaG9ydDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53Owor
Ly8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MiBvcGVyYXRvci54eCh1aW50MiB2KSB7CisvLyAg
ICAgdWludDIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MiBvcGVyYXRvci54
eSh1aW50MiB2KSB7CisvLyAgICAgdWludDIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1aW50MiBvcGVyYXRvci54eT0odWludDIgdiwgdWludDIgYykgeworLy8gICAgIHVpbnQyIHJl
c3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQyIG9wZXJhdG9yLnl4KHVpbnQy
IHYpIHsKKy8vICAgICB1aW50MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQy
IG9wZXJhdG9yLnl4PSh1aW50MiB2LCB1aW50MiBjKSB7CisvLyAgICAgdWludDIgcmVzdWx0ID0g
djsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDIgb3BlcmF0b3IueXkodWludDIgdikgewor
Ly8gICAgIHVpbnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDIgb3BlcmF0
b3IueHgodWludDMgdikgeworLy8gICAgIHVpbnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWludDIgb3BlcmF0b3IueHkodWludDMgdikgeworLy8gICAgIHVpbnQyIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0b3IueHk9KHVpbnQzIHYsIHVpbnQy
IGMpIHsKKy8vICAgICB1aW50MyByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54Owor
Ly8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
aW50MiBvcGVyYXRvci54eih1aW50MyB2KSB7CisvLyAgICAgdWludDIgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci54ej0odWludDMgdiwgdWludDIgYykgewor
Ly8gICAgIHVpbnQzIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAg
cmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQyIG9w
ZXJhdG9yLnl4KHVpbnQzIHYpIHsKKy8vICAgICB1aW50MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVpbnQzIG9wZXJhdG9yLnl4PSh1aW50MyB2LCB1aW50MiBjKSB7CisvLyAgICAg
dWludDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQu
eCA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDIgb3BlcmF0b3Iu
eXkodWludDMgdikgeworLy8gICAgIHVpbnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdWludDIgb3BlcmF0b3IueXoodWludDMgdikgeworLy8gICAgIHVpbnQyIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0b3IueXo9KHVpbnQzIHYsIHVpbnQyIGMp
IHsKKy8vICAgICB1aW50MyByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8g
ICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50
MiBvcGVyYXRvci56eCh1aW50MyB2KSB7CisvLyAgICAgdWludDIgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci56eD0odWludDMgdiwgdWludDIgYykgeworLy8g
ICAgIHVpbnQzIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVz
dWx0LnggPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQyIG9wZXJh
dG9yLnp5KHVpbnQzIHYpIHsKKy8vICAgICB1aW50MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVpbnQzIG9wZXJhdG9yLnp5PSh1aW50MyB2LCB1aW50MiBjKSB7CisvLyAgICAgdWlu
dDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueSA9
IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDIgb3BlcmF0b3Iuenoo
dWludDMgdikgeworLy8gICAgIHVpbnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dWludDIgb3BlcmF0b3IueHgodWludDQgdikgeworLy8gICAgIHVpbnQyIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdWludDIgb3BlcmF0b3IueHkodWludDQgdikgeworLy8gICAgIHVp
bnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHk9KHVp
bnQ0IHYsIHVpbnQyIGMpIHsKKy8vICAgICB1aW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3Vs
dC54ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1aW50MiBvcGVyYXRvci54eih1aW50NCB2KSB7CisvLyAgICAgdWludDIgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54ej0odWludDQgdiwg
dWludDIgYykgeworLy8gICAgIHVpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBj
Lng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVpbnQyIG9wZXJhdG9yLnh3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50MiByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh3PSh1aW50NCB2LCB1aW50MiBj
KSB7CisvLyAgICAgdWludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8v
ICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWlu
dDIgb3BlcmF0b3IueXgodWludDQgdikgeworLy8gICAgIHVpbnQyIHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXg9KHVpbnQ0IHYsIHVpbnQyIGMpIHsKKy8v
ICAgICB1aW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJl
c3VsdC54ID0gYy55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MiBvcGVy
YXRvci55eSh1aW50NCB2KSB7CisvLyAgICAgdWludDIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1aW50MiBvcGVyYXRvci55eih1aW50NCB2KSB7CisvLyAgICAgdWludDIgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci55ej0odWludDQgdiwgdWlu
dDIgYykgeworLy8gICAgIHVpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7
CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVpbnQyIG9wZXJhdG9yLnl3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50MiByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl3PSh1aW50NCB2LCB1aW50MiBjKSB7
CisvLyAgICAgdWludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAg
ICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDIg
b3BlcmF0b3IuengodWludDQgdikgeworLy8gICAgIHVpbnQyIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iueng9KHVpbnQ0IHYsIHVpbnQyIGMpIHsKKy8vICAg
ICB1aW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3Vs
dC54ID0gYy55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MiBvcGVyYXRv
ci56eSh1aW50NCB2KSB7CisvLyAgICAgdWludDIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1aW50NCBvcGVyYXRvci56eT0odWludDQgdiwgdWludDIgYykgeworLy8gICAgIHVpbnQ0
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBj
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQyIG9wZXJhdG9yLnp6KHVp
bnQ0IHYpIHsKKy8vICAgICB1aW50MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVp
bnQyIG9wZXJhdG9yLnp3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50MiByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp3PSh1aW50NCB2LCB1aW50MiBjKSB7Cisv
LyAgICAgdWludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICBy
ZXN1bHQudyA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDIgb3Bl
cmF0b3Iud3godWludDQgdikgeworLy8gICAgIHVpbnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdWludDQgb3BlcmF0b3Iud3g9KHVpbnQ0IHYsIHVpbnQyIGMpIHsKKy8vICAgICB1
aW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54OworLy8gICAgIHJlc3VsdC54
ID0gYy55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MiBvcGVyYXRvci53
eSh1aW50NCB2KSB7CisvLyAgICAgdWludDIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1aW50NCBvcGVyYXRvci53eT0odWludDQgdiwgdWludDIgYykgeworLy8gICAgIHVpbnQ0IHJl
c3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQyIG9wZXJhdG9yLnd6KHVpbnQ0
IHYpIHsKKy8vICAgICB1aW50MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0
IG9wZXJhdG9yLnd6PSh1aW50NCB2LCB1aW50MiBjKSB7CisvLyAgICAgdWludDQgcmVzdWx0ID0g
djsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDIgb3BlcmF0b3Iud3codWludDQgdikgewor
Ly8gICAgIHVpbnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1
bHQueSA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0
b3IueHh4KHVpbnQyIHYpIHsKKy8vICAgICB1aW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9wZXJhdG9yLnh4eSh1aW50MiB2
KSB7CisvLyAgICAgdWludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci54eXgodWludDIgdikgeworLy8gICAgIHVp
bnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
eTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdWludDMgb3BlcmF0b3IueHl5KHVpbnQyIHYpIHsKKy8vICAgICB1aW50MyByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9wZXJh
dG9yLnl4eCh1aW50MiB2KSB7CisvLyAgICAgdWludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci55eHkodWludDIg
dikgeworLy8gICAgIHVpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAg
ICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0b3IueXl4KHVpbnQyIHYpIHsKKy8vICAgICB1
aW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVpbnQzIG9wZXJhdG9yLnl5eSh1aW50MiB2KSB7CisvLyAgICAgdWludDMgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVy
YXRvci54eHgodWludDMgdikgeworLy8gICAgIHVpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0b3IueHh5KHVpbnQz
IHYpIHsKKy8vICAgICB1aW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9wZXJhdG9yLnh4eih1aW50MyB2KSB7CisvLyAgICAg
dWludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0g
di54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1aW50MyBvcGVyYXRvci54eXgodWludDMgdikgeworLy8gICAgIHVpbnQzIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMgb3Bl
cmF0b3IueHl5KHVpbnQzIHYpIHsKKy8vICAgICB1aW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9wZXJhdG9yLnh5eih1aW50
MyB2KSB7CisvLyAgICAgdWludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci54eXo9KHVpbnQzIHYsIHVpbnQzIGMp
IHsKKy8vICAgICB1aW50MyByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54OworLy8g
ICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci54engodWludDMgdikgeworLy8gICAg
IHVpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWludDMgb3BlcmF0b3IueHp5KHVpbnQzIHYpIHsKKy8vICAgICB1aW50MyByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9w
ZXJhdG9yLnh6eT0odWludDMgdiwgdWludDMgYykgeworLy8gICAgIHVpbnQzIHJlc3VsdCA9IHY7
CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAg
cmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9w
ZXJhdG9yLnh6eih1aW50MyB2KSB7CisvLyAgICAgdWludDMgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci55eHgodWlu
dDMgdikgeworLy8gICAgIHVpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0b3IueXh5KHVpbnQzIHYpIHsKKy8vICAg
ICB1aW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVpbnQzIG9wZXJhdG9yLnl4eih1aW50MyB2KSB7CisvLyAgICAgdWludDMgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBv
cGVyYXRvci55eHo9KHVpbnQzIHYsIHVpbnQzIGMpIHsKKy8vICAgICB1aW50MyByZXN1bHQgPSB2
OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAg
IHJlc3VsdC56ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBv
cGVyYXRvci55eXgodWludDMgdikgeworLy8gICAgIHVpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYu
eDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0b3IueXl5KHVp
bnQzIHYpIHsKKy8vICAgICB1aW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9wZXJhdG9yLnl5eih1aW50MyB2KSB7CisvLyAg
ICAgdWludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1aW50MyBvcGVyYXRvci55engodWludDMgdikgeworLy8gICAgIHVpbnQzIHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMg
b3BlcmF0b3IueXp4PSh1aW50MyB2LCB1aW50MyBjKSB7CisvLyAgICAgdWludDMgcmVzdWx0ID0g
djsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAg
ICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMg
b3BlcmF0b3IueXp5KHVpbnQzIHYpIHsKKy8vICAgICB1aW50MyByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9wZXJhdG9yLnl6eih1
aW50MyB2KSB7CisvLyAgICAgdWludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci56eHgodWludDMgdikgeworLy8g
ICAgIHVpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdWludDMgb3BlcmF0b3Iuenh5KHVpbnQzIHYpIHsKKy8vICAgICB1aW50MyByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQz
IG9wZXJhdG9yLnp4eT0odWludDMgdiwgdWludDMgYykgeworLy8gICAgIHVpbnQzIHJlc3VsdCA9
IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAg
ICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQz
IG9wZXJhdG9yLnp4eih1aW50MyB2KSB7CisvLyAgICAgdWludDMgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci56eXgo
dWludDMgdikgeworLy8gICAgIHVpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0b3Iuenl4PSh1aW50MyB2LCB1aW50
MyBjKSB7CisvLyAgICAgdWludDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsK
Ky8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQueCA9IGMuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0b3Iuenl5KHVpbnQzIHYpIHsKKy8v
ICAgICB1aW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVpbnQzIG9wZXJhdG9yLnp5eih1aW50MyB2KSB7CisvLyAgICAgdWludDMgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50
MyBvcGVyYXRvci56engodWludDMgdikgeworLy8gICAgIHVpbnQzIHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9
IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0b3Iuenp5
KHVpbnQzIHYpIHsKKy8vICAgICB1aW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9wZXJhdG9yLnp6eih1aW50MyB2KSB7Cisv
LyAgICAgdWludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci54eHgodWludDQgdikgeworLy8gICAgIHVpbnQzIHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWlu
dDMgb3BlcmF0b3IueHh5KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50MyByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9wZXJhdG9yLnh4
eih1aW50NCB2KSB7CisvLyAgICAgdWludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci54eHcodWludDQgdikgewor
Ly8gICAgIHVpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWludDMgb3BlcmF0b3IueHl4KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50MyBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVp
bnQzIG9wZXJhdG9yLnh5eSh1aW50NCB2KSB7CisvLyAgICAgdWludDMgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci54
eXoodWludDQgdikgeworLy8gICAgIHVpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHl6PSh1aW50NCB2LCB1
aW50MyBjKSB7CisvLyAgICAgdWludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMu
eDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQueiA9IGMuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0b3IueHl3KHVpbnQ0IHYpIHsK
Ky8vICAgICB1aW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh5dz0odWludDQgdiwgdWludDMgYykgeworLy8g
ICAgIHVpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVz
dWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVpbnQzIG9wZXJhdG9yLnh6eCh1aW50NCB2KSB7CisvLyAgICAgdWludDMg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
aW50MyBvcGVyYXRvci54enkodWludDQgdikgeworLy8gICAgIHVpbnQzIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iu
eHp5PSh1aW50NCB2LCB1aW50MyBjKSB7CisvLyAgICAgdWludDQgcmVzdWx0ID0gdjsKKy8vICAg
ICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQu
eSA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0b3Iu
eHp6KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9wZXJhdG9yLnh6dyh1aW50NCB2KSB7
CisvLyAgICAgdWludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJl
c3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54enc9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKKy8v
ICAgICB1aW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54OworLy8gICAgIHJl
c3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci54d3godWludDQgdikgeworLy8gICAgIHVpbnQz
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsK
Ky8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dWludDMgb3BlcmF0b3IueHd5KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50MyByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9y
Lnh3eT0odWludDQgdiwgdWludDMgYykgeworLy8gICAgIHVpbnQ0IHJlc3VsdCA9IHY7CisvLyAg
ICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmVzdWx0
LnkgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9wZXJhdG9y
Lnh3eih1aW50NCB2KSB7CisvLyAgICAgdWludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54d3o9KHVpbnQ0IHYs
IHVpbnQzIGMpIHsKKy8vICAgICB1aW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0g
Yy54OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci54d3codWludDQgdikg
eworLy8gICAgIHVpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0b3IueXh4KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50
MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVpbnQzIG9wZXJhdG9yLnl4eSh1aW50NCB2KSB7CisvLyAgICAgdWludDMgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3Vs
dC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRv
ci55eHoodWludDQgdikgeworLy8gICAgIHVpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXh6PSh1aW50NCB2
LCB1aW50MyBjKSB7CisvLyAgICAgdWludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9
IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXN1bHQueiA9IGMuejsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0b3IueXh3KHVpbnQ0IHYp
IHsKKy8vICAgICB1aW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl4dz0odWludDQgdiwgdWludDMgYykgewor
Ly8gICAgIHVpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAg
cmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9wZXJhdG9yLnl5eCh1aW50NCB2KSB7CisvLyAgICAgdWlu
dDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55
OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1aW50MyBvcGVyYXRvci55eXkodWludDQgdikgeworLy8gICAgIHVpbnQzIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0
b3IueXl6KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9wZXJhdG9yLnl5dyh1aW50NCB2
KSB7CisvLyAgICAgdWludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci55engodWludDQgdikgeworLy8gICAgIHVp
bnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
ejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdWludDQgb3BlcmF0b3IueXp4PSh1aW50NCB2LCB1aW50MyBjKSB7CisvLyAgICAgdWludDQg
cmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMu
eTsKKy8vICAgICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdWludDMgb3BlcmF0b3IueXp5KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50MyByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9wZXJh
dG9yLnl6eih1aW50NCB2KSB7CisvLyAgICAgdWludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci55encodWludDQg
dikgeworLy8gICAgIHVpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXp3PSh1aW50NCB2LCB1aW50MyBjKSB7
CisvLyAgICAgdWludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAg
ICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0b3IueXd4KHVpbnQ0IHYpIHsKKy8vICAgICB1
aW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVpbnQ0IG9wZXJhdG9yLnl3eD0odWludDQgdiwgdWludDMgYykgeworLy8gICAgIHVpbnQ0
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBj
Lnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVpbnQzIG9wZXJhdG9yLnl3eSh1aW50NCB2KSB7CisvLyAgICAgdWludDMgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVy
YXRvci55d3oodWludDQgdikgeworLy8gICAgIHVpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXd6PSh1aW50
NCB2LCB1aW50MyBjKSB7CisvLyAgICAgdWludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQu
eSA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueiA9IGMuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0b3IueXd3KHVpbnQ0
IHYpIHsKKy8vICAgICB1aW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9wZXJhdG9yLnp4eCh1aW50NCB2KSB7CisvLyAgICAg
dWludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0g
di54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1aW50MyBvcGVyYXRvci56eHkodWludDQgdikgeworLy8gICAgIHVpbnQzIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3Bl
cmF0b3Iuenh5PSh1aW50NCB2LCB1aW50MyBjKSB7CisvLyAgICAgdWludDQgcmVzdWx0ID0gdjsK
Ky8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICBy
ZXN1bHQueSA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMgb3Bl
cmF0b3Iuenh6KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9wZXJhdG9yLnp4dyh1aW50
NCB2KSB7CisvLyAgICAgdWludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8g
ICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56eHc9KHVpbnQ0IHYsIHVpbnQzIGMp
IHsKKy8vICAgICB1aW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8g
ICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci56eXgodWludDQgdikgeworLy8gICAg
IHVpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWludDQgb3BlcmF0b3Iuenl4PSh1aW50NCB2LCB1aW50MyBjKSB7CisvLyAgICAgdWlu
dDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueSA9
IGMueTsKKy8vICAgICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWludDMgb3BlcmF0b3Iuenl5KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50MyByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9w
ZXJhdG9yLnp5eih1aW50NCB2KSB7CisvLyAgICAgdWludDMgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci56eXcodWlu
dDQgdikgeworLy8gICAgIHVpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iuenl3PSh1aW50NCB2LCB1aW50MyBj
KSB7CisvLyAgICAgdWludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8v
ICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMuejsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0b3Iuenp4KHVpbnQ0IHYpIHsKKy8vICAg
ICB1aW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVpbnQzIG9wZXJhdG9yLnp6eSh1aW50NCB2KSB7CisvLyAgICAgdWludDMgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAg
IHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBv
cGVyYXRvci56enoodWludDQgdikgeworLy8gICAgIHVpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0b3Iuenp3KHVp
bnQ0IHYpIHsKKy8vICAgICB1aW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9wZXJhdG9yLnp3eCh1aW50NCB2KSB7CisvLyAg
ICAgdWludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55
ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1aW50NCBvcGVyYXRvci56d3g9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKKy8vICAgICB1
aW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC53
ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1aW50MyBvcGVyYXRvci56d3kodWludDQgdikgeworLy8gICAgIHVpbnQzIHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQg
b3BlcmF0b3Iuend5PSh1aW50NCB2LCB1aW50MyBjKSB7CisvLyAgICAgdWludDQgcmVzdWx0ID0g
djsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAg
ICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMg
b3BlcmF0b3Iuend6KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50MyByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2
Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9wZXJhdG9yLnp3dyh1
aW50NCB2KSB7CisvLyAgICAgdWludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci53eHgodWludDQgdikgeworLy8g
ICAgIHVpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdWludDMgb3BlcmF0b3Iud3h5KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50MyByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0
IG9wZXJhdG9yLnd4eT0odWludDQgdiwgdWludDMgYykgeworLy8gICAgIHVpbnQ0IHJlc3VsdCA9
IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAg
ICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQz
IG9wZXJhdG9yLnd4eih1aW50NCB2KSB7CisvLyAgICAgdWludDMgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci53eHo9
KHVpbnQ0IHYsIHVpbnQzIGMpIHsKKy8vICAgICB1aW50NCByZXN1bHQgPSB2OworLy8gICAgIHJl
c3VsdC53ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0g
Yy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci53eHco
dWludDQgdikgeworLy8gICAgIHVpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0b3Iud3l4KHVpbnQ0IHYpIHsKKy8v
ICAgICB1aW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnd5eD0odWludDQgdiwgdWludDMgYykgeworLy8gICAg
IHVpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0
LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVpbnQzIG9wZXJhdG9yLnd5eSh1aW50NCB2KSB7CisvLyAgICAgdWludDMgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50
MyBvcGVyYXRvci53eXoodWludDQgdikgeworLy8gICAgIHVpbnQzIHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iud3l6
PSh1aW50NCB2LCB1aW50MyBjKSB7CisvLyAgICAgdWludDQgcmVzdWx0ID0gdjsKKy8vICAgICBy
ZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQueiA9
IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDMgb3BlcmF0b3Iud3l3
KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9wZXJhdG9yLnd6eCh1aW50NCB2KSB7Cisv
LyAgICAgdWludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci53eng9KHVpbnQ0IHYsIHVpbnQzIGMpIHsKKy8vICAg
ICB1aW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54OworLy8gICAgIHJlc3Vs
dC56ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci53enkodWludDQgdikgeworLy8gICAgIHVpbnQzIHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWlu
dDQgb3BlcmF0b3Iud3p5PSh1aW50NCB2LCB1aW50MyBjKSB7CisvLyAgICAgdWludDQgcmVzdWx0
ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8v
ICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWlu
dDMgb3BlcmF0b3Iud3p6KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50MyByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQzIG9wZXJhdG9yLnd6
dyh1aW50NCB2KSB7CisvLyAgICAgdWludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53
OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci53d3godWludDQgdikgewor
Ly8gICAgIHVpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1
bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWludDMgb3BlcmF0b3Iud3d5KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50MyBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVp
bnQzIG9wZXJhdG9yLnd3eih1aW50NCB2KSB7CisvLyAgICAgdWludDMgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50MyBvcGVyYXRvci53
d3codWludDQgdikgeworLy8gICAgIHVpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
dzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHh4eCh1aW50MiB2KSB7
CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJl
c3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0g
di54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54eHh5
KHVpbnQyIHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9w
ZXJhdG9yLnh4eXgodWludDIgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdWludDQgb3BlcmF0b3IueHh5eSh1aW50MiB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54eXh4KHVpbnQyIHYpIHsKKy8vICAgICB1aW50
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh5eHkodWludDIgdikgewor
Ly8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHl5eCh1
aW50MiB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
c3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVy
YXRvci54eXl5KHVpbnQyIHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVpbnQ0IG9wZXJhdG9yLnl4eHgodWludDIgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXh4eSh1aW50MiB2KSB7CisvLyAgICAgdWludDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci55eHl4KHVpbnQyIHYpIHsKKy8v
ICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl4eXkodWlu
dDIgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1
bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0
b3IueXl4eCh1aW50MiB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
aW50NCBvcGVyYXRvci55eXh5KHVpbnQyIHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl5eXgodWludDIgdikgeworLy8gICAgIHVpbnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXl5eSh1aW50MiB2KSB7CisvLyAg
ICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54eHh4KHVpbnQz
IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0
LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9y
Lnh4eHkodWludDMgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8v
ICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWlu
dDQgb3BlcmF0b3IueHh4eih1aW50MyB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56
ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1aW50NCBvcGVyYXRvci54eHl4KHVpbnQzIHYpIHsKKy8vICAgICB1aW50NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh4eXkodWludDMgdikgeworLy8gICAg
IHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHh5eih1aW50MyB2
KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54
eHp4KHVpbnQzIHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0
IG9wZXJhdG9yLnh4enkodWludDMgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9
IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWludDQgb3BlcmF0b3IueHh6eih1aW50MyB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54eXh4KHVpbnQzIHYpIHsKKy8vICAgICB1
aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh5eHkodWludDMgdikg
eworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHl4
eih1aW50MyB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBv
cGVyYXRvci54eXl4KHVpbnQzIHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVpbnQ0IG9wZXJhdG9yLnh5eXkodWludDMgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICBy
ZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHl5eih1aW50MyB2KSB7CisvLyAgICAgdWlu
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54eXp4KHVpbnQzIHYpIHsK
Ky8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh5enko
dWludDMgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsK
Ky8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3Bl
cmF0b3IueHl6eih1aW50MyB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56
OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1aW50NCBvcGVyYXRvci54enh4KHVpbnQzIHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVz
dWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh6eHkodWludDMgdikgeworLy8gICAgIHVpbnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsK
Ky8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHp4eih1aW50MyB2KSB7Cisv
LyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54enl4KHVp
bnQzIHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVz
dWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJh
dG9yLnh6eXkodWludDMgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsK
Ky8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dWludDQgb3BlcmF0b3IueHp5eih1aW50MyB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3Vs
dC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54enp4KHVpbnQzIHYpIHsKKy8vICAgICB1aW50NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh6enkodWludDMgdikgeworLy8g
ICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQu
eSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHp6eih1aW50
MyB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8g
ICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3Vs
dC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRv
ci55eHh4KHVpbnQzIHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVp
bnQ0IG9wZXJhdG9yLnl4eHkodWludDMgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQu
eiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdWludDQgb3BlcmF0b3IueXh4eih1aW50MyB2KSB7CisvLyAgICAgdWludDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci55eHl4KHVpbnQzIHYpIHsKKy8vICAg
ICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl4eXkodWludDMg
dikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAg
ICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iu
eXh5eih1aW50MyB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50
NCBvcGVyYXRvci55eHp4KHVpbnQzIHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl4enkodWludDMgdikgeworLy8gICAgIHVpbnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAg
ICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXh6eih1aW50MyB2KSB7CisvLyAgICAg
dWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci55eXh4KHVpbnQzIHYp
IHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl5
eHkodWludDMgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAg
ICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQg
b3BlcmF0b3IueXl4eih1aW50MyB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0g
di54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1aW50NCBvcGVyYXRvci55eXl4KHVpbnQzIHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl5eXkodWludDMgdikgeworLy8gICAgIHVp
bnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
eTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXl5eih1aW50MyB2KSB7
CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJl
c3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci55eXp4
KHVpbnQzIHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAg
cmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9w
ZXJhdG9yLnl5enkodWludDMgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYu
ejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdWludDQgb3BlcmF0b3IueXl6eih1aW50MyB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJl
c3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci55enh4KHVpbnQzIHYpIHsKKy8vICAgICB1aW50
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl6eHkodWludDMgdikgewor
Ly8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXp4eih1
aW50MyB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJl
c3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVy
YXRvci55enl4KHVpbnQzIHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVpbnQ0IG9wZXJhdG9yLnl6eXkodWludDMgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXp5eih1aW50MyB2KSB7CisvLyAgICAgdWludDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56Owor
Ly8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci55enp4KHVpbnQzIHYpIHsKKy8v
ICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl6enkodWlu
dDMgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1
bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0
b3IueXp6eih1aW50MyB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56Owor
Ly8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
aW50NCBvcGVyYXRvci56eHh4KHVpbnQzIHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp4eHkodWludDMgdikgeworLy8gICAgIHVpbnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iuenh4eih1aW50MyB2KSB7CisvLyAg
ICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55
ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56eHl4KHVpbnQz
IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0
LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9y
Lnp4eXkodWludDMgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8v
ICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWlu
dDQgb3BlcmF0b3Iuenh5eih1aW50MyB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1aW50NCBvcGVyYXRvci56eHp4KHVpbnQzIHYpIHsKKy8vICAgICB1aW50NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp4enkodWludDMgdikgeworLy8gICAg
IHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iuenh6eih1aW50MyB2
KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAg
IHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56
eXh4KHVpbnQzIHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0
IG9wZXJhdG9yLnp5eHkodWludDMgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWludDQgb3BlcmF0b3Iuenl4eih1aW50MyB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56eXl4KHVpbnQzIHYpIHsKKy8vICAgICB1
aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp5eXkodWludDMgdikg
eworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iuenl5
eih1aW50MyB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBv
cGVyYXRvci56eXp4KHVpbnQzIHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2
Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVpbnQ0IG9wZXJhdG9yLnp5enkodWludDMgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICBy
ZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iuenl6eih1aW50MyB2KSB7CisvLyAgICAgdWlu
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55
OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56enh4KHVpbnQzIHYpIHsK
Ky8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp6eHko
dWludDMgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3Bl
cmF0b3Iuenp4eih1aW50MyB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1aW50NCBvcGVyYXRvci56enl4KHVpbnQzIHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp6eXkodWludDMgdikgeworLy8gICAgIHVpbnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iuenp5eih1aW50MyB2KSB7Cisv
LyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56enp4KHVp
bnQzIHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVz
dWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJh
dG9yLnp6enkodWludDMgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsK
Ky8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dWludDQgb3BlcmF0b3Iuenp6eih1aW50MyB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54eHh4KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh4eHkodWludDQgdikgeworLy8g
ICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHh4eih1aW50
NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8g
ICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3Vs
dC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRv
ci54eHh3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVp
bnQ0IG9wZXJhdG9yLnh4eXgodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQu
eiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdWludDQgb3BlcmF0b3IueHh5eSh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8g
ICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54eHl6KHVpbnQ0IHYpIHsKKy8vICAg
ICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh4eXcodWludDQg
dikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQu
dyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iu
eHh6eCh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50
NCBvcGVyYXRvci54eHp5KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh4enoodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAg
ICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHh6dyh1aW50NCB2KSB7CisvLyAgICAg
dWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0g
di54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54eHd4KHVpbnQ0IHYp
IHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh4
d3kodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAg
ICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQg
b3BlcmF0b3IueHh3eih1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0g
di53OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1aW50NCBvcGVyYXRvci54eHd3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh5eHgodWludDQgdikgeworLy8gICAgIHVp
bnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
eTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHl4eSh1aW50NCB2KSB7
CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJl
c3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0g
di55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54eXh6
KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAg
cmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9w
ZXJhdG9yLnh5eHcodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYu
eDsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdWludDQgb3BlcmF0b3IueHl5eCh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54eXl5KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh5eXoodWludDQgdikgewor
Ly8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHl5dyh1
aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
c3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVy
YXRvci54eXp4KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7
CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVpbnQ0IG9wZXJhdG9yLnh5enkodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHl6eih1aW50NCB2KSB7CisvLyAgICAgdWludDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54eXp3KHVpbnQ0IHYpIHsKKy8v
ICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh5enc9KHVp
bnQ0IHYsIHVpbnQ0IGMpIHsKKy8vICAgICB1aW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3Vs
dC54ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56
OworLy8gICAgIHJlc3VsdC53ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1aW50NCBvcGVyYXRvci54eXd4KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh5d3kodWludDQgdikgeworLy8gICAgIHVpbnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHl3eih1aW50NCB2KSB7Cisv
LyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54eXd6PSh1
aW50NCB2LCB1aW50NCBjKSB7CisvLyAgICAgdWludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1
bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMu
ejsKKy8vICAgICByZXN1bHQueiA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdWludDQgb3BlcmF0b3IueHl3dyh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJl
c3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54enh4KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh6eHkodWludDQgdikgewor
Ly8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1
bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHp4eih1
aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54Owor
Ly8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJl
c3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVy
YXRvci54enh3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVpbnQ0IG9wZXJhdG9yLnh6eXgodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHp5eSh1aW50NCB2KSB7CisvLyAgICAgdWludDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56Owor
Ly8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54enl6KHVpbnQ0IHYpIHsKKy8v
ICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh6eXcodWlu
dDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1
bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0
b3IueHp5dz0odWludDQgdiwgdWludDQgYykgeworLy8gICAgIHVpbnQ0IHJlc3VsdCA9IHY7Cisv
LyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmVz
dWx0LnkgPSBjLno7CisvLyAgICAgcmVzdWx0LncgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh6engodWludDQgdikgeworLy8gICAgIHVpbnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsK
Ky8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHp6eSh1aW50NCB2KSB7Cisv
LyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54enp6KHVp
bnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVz
dWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJh
dG9yLnh6encodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsK
Ky8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dWludDQgb3BlcmF0b3IueHp3eCh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3Vs
dC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54end5KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh6d3k9KHVpbnQ0IHYsIHVpbnQ0
IGMpIHsKKy8vICAgICB1aW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54Owor
Ly8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJl
c3VsdC55ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVy
YXRvci54end6KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7
CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVpbnQ0IG9wZXJhdG9yLnh6d3codWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1
bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHd4eCh1aW50NCB2KSB7CisvLyAgICAgdWludDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54d3h5KHVpbnQ0IHYpIHsKKy8v
ICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh3eHoodWlu
dDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1
bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0
b3IueHd4dyh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
aW50NCBvcGVyYXRvci54d3l4KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh3eXkodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHd5eih1aW50NCB2KSB7CisvLyAg
ICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54d3l6PSh1aW50
NCB2LCB1aW50NCBjKSB7CisvLyAgICAgdWludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQu
eCA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsK
Ky8vICAgICByZXN1bHQueiA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dWludDQgb3BlcmF0b3IueHd5dyh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3Vs
dC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54d3p4KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh3enkodWludDQgdikgeworLy8g
ICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQu
eSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHd6eT0odWlu
dDQgdiwgdWludDQgYykgeworLy8gICAgIHVpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0
LnggPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7
CisvLyAgICAgcmVzdWx0LnkgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVpbnQ0IG9wZXJhdG9yLnh3enoodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1
bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueHd6dyh1aW50NCB2KSB7CisvLyAgICAgdWludDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci54d3d4KHVpbnQ0IHYpIHsKKy8v
ICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnh3d3kodWlu
dDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1
bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0
b3IueHd3eih1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53Owor
Ly8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
aW50NCBvcGVyYXRvci54d3d3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl4eHgodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXh4eSh1aW50NCB2KSB7CisvLyAg
ICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55
ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci55eHh6KHVpbnQ0
IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0
LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9y
Lnl4eHcodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8v
ICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWlu
dDQgb3BlcmF0b3IueXh5eCh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1aW50NCBvcGVyYXRvci55eHl5KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl4eXoodWludDQgdikgeworLy8gICAg
IHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXh5dyh1aW50NCB2
KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53
ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci55
eHp4KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0
IG9wZXJhdG9yLnl4enkodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9
IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWludDQgb3BlcmF0b3IueXh6eih1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci55eHp3KHVpbnQ0IHYpIHsKKy8vICAgICB1
aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl4enc9KHVpbnQ0IHYs
IHVpbnQ0IGMpIHsKKy8vICAgICB1aW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0g
Yy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8g
ICAgIHJlc3VsdC53ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50
NCBvcGVyYXRvci55eHd4KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl4d3kodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAg
ICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXh3eih1aW50NCB2KSB7CisvLyAgICAg
dWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci55eHd6PSh1aW50NCB2
LCB1aW50NCBjKSB7CisvLyAgICAgdWludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9
IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMuejsKKy8v
ICAgICByZXN1bHQueiA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWlu
dDQgb3BlcmF0b3IueXh3dyh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56
ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1aW50NCBvcGVyYXRvci55eXh4KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl5eHkodWludDQgdikgeworLy8gICAg
IHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXl4eih1aW50NCB2
KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci55
eXh3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0
IG9wZXJhdG9yLnl5eXgodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWludDQgb3BlcmF0b3IueXl5eSh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAg
IHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci55eXl6KHVpbnQ0IHYpIHsKKy8vICAgICB1
aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl5eXcodWludDQgdikg
eworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9
IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXl6
eCh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAg
IHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBv
cGVyYXRvci55eXp5KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2
Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVpbnQ0IG9wZXJhdG9yLnl5enoodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICBy
ZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXl6dyh1aW50NCB2KSB7CisvLyAgICAgdWlu
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55
OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci55eXd4KHVpbnQ0IHYpIHsK
Ky8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl5d3ko
dWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3Bl
cmF0b3IueXl3eih1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53
OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1aW50NCBvcGVyYXRvci55eXd3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl6eHgodWludDQgdikgeworLy8gICAgIHVpbnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsK
Ky8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXp4eSh1aW50NCB2KSB7Cisv
LyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci55enh6KHVp
bnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVz
dWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJh
dG9yLnl6eHcodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dWludDQgb3BlcmF0b3IueXp4dz0odWludDQgdiwgdWludDQgYykgeworLy8gICAgIHVpbnQ0IHJl
c3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7
CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmVzdWx0LncgPSBjLnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl6eXgodWludDQgdikgewor
Ly8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYu
eDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXp5eSh1
aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
c3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVy
YXRvci55enl6KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVpbnQ0IG9wZXJhdG9yLnl6eXcodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXp6eCh1aW50NCB2KSB7CisvLyAgICAgdWludDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci55enp5KHVpbnQ0IHYpIHsKKy8v
ICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl6enoodWlu
dDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1
bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0
b3IueXp6dyh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56Owor
Ly8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
aW50NCBvcGVyYXRvci55end4KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl6d3g9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKKy8vICAg
ICB1aW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3Vs
dC56ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJlc3VsdC54ID0gYy53
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci55end5KHVp
bnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJh
dG9yLnl6d3oodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsK
Ky8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dWludDQgb3BlcmF0b3IueXp3dyh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3Vs
dC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci55d3h4KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl3eHkodWludDQgdikgeworLy8g
ICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQu
eSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXd4eih1aW50
NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8g
ICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3Vs
dC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRv
ci55d3h6PSh1aW50NCB2LCB1aW50NCBjKSB7CisvLyAgICAgdWludDQgcmVzdWx0ID0gdjsKKy8v
ICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1
bHQueCA9IGMuejsKKy8vICAgICByZXN1bHQueiA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXd4dyh1aW50NCB2KSB7CisvLyAgICAgdWludDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci55d3l4KHVpbnQ0IHYpIHsKKy8v
ICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl3eXkodWlu
dDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1
bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0
b3IueXd5eih1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
aW50NCBvcGVyYXRvci55d3l3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl3engodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXd6eD0odWludDQgdiwgdWludDQg
YykgeworLy8gICAgIHVpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7Cisv
LyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmVz
dWx0LnggPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJh
dG9yLnl3enkodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsK
Ky8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dWludDQgb3BlcmF0b3IueXd6eih1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci55d3p3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnl3d3godWludDQgdikgeworLy8g
ICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQu
eSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3IueXd3eSh1aW50
NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8g
ICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3Vs
dC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRv
ci55d3d6KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVp
bnQ0IG9wZXJhdG9yLnl3d3codWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQu
eiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdWludDQgb3BlcmF0b3Iuenh4eCh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56eHh5KHVpbnQ0IHYpIHsKKy8vICAg
ICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp4eHoodWludDQg
dikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAg
ICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQu
dyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iu
enh4dyh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8g
ICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50
NCBvcGVyYXRvci56eHl4KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp4eXkodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iuenh5eih1aW50NCB2KSB7CisvLyAgICAg
dWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0g
di54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56eHl3KHVpbnQ0IHYp
IHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp4
eXc9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKKy8vICAgICB1aW50NCByZXN1bHQgPSB2OworLy8gICAg
IHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC55
ID0gYy56OworLy8gICAgIHJlc3VsdC53ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1aW50NCBvcGVyYXRvci56eHp4KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp4enkodWludDQgdikgeworLy8gICAg
IHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iuenh6eih1aW50NCB2
KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAg
IHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56
eHp3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0
IG9wZXJhdG9yLnp4d3godWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9
IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWludDQgb3BlcmF0b3Iuenh3eSh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56eHd5PSh1aW50NCB2LCB1aW50NCBjKSB7
CisvLyAgICAgdWludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAg
ICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMuejsKKy8vICAgICByZXN1bHQu
eSA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iu
enh3eih1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8g
ICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50
NCBvcGVyYXRvci56eHd3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp5eHgodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iuenl4eSh1aW50NCB2KSB7CisvLyAgICAg
dWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0g
di55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56eXh6KHVpbnQ0IHYp
IHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp5
eHcodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
ejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAg
ICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQg
b3BlcmF0b3Iuenl4dz0odWludDQgdiwgdWludDQgYykgeworLy8gICAgIHVpbnQ0IHJlc3VsdCA9
IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAg
ICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmVzdWx0LncgPSBjLnc7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp5eXgodWludDQgdikgeworLy8gICAg
IHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iuenl5eSh1aW50NCB2
KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAg
IHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56
eXl6KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0
IG9wZXJhdG9yLnp5eXcodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWludDQgb3BlcmF0b3Iuenl6eCh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56eXp5KHVpbnQ0IHYpIHsKKy8vICAgICB1
aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp5enoodWludDQgdikg
eworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iuenl6
dyh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAg
IHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBv
cGVyYXRvci56eXd4KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVpbnQ0IG9wZXJhdG9yLnp5d3g9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsKKy8vICAgICB1aW50
NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0g
Yy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJlc3VsdC54ID0gYy53OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56eXd5KHVpbnQ0IHYp
IHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp5
d3oodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
ejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAg
ICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQg
b3BlcmF0b3Iuenl3dyh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0g
di53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1aW50NCBvcGVyYXRvci56enh4KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp6eHkodWludDQgdikgeworLy8gICAgIHVp
bnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYu
ejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iuenp4eih1aW50NCB2KSB7
CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJl
c3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56enh3
KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9w
ZXJhdG9yLnp6eXgodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gdWludDQgb3BlcmF0b3Iuenp5eSh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56enl6KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp6eXcodWludDQgdikgewor
Ly8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1
bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYu
dzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iuenp6eCh1
aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJl
c3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVy
YXRvci56enp5KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVpbnQ0IG9wZXJhdG9yLnp6enoodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1
bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iuenp6dyh1aW50NCB2KSB7CisvLyAgICAgdWludDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56end4KHVpbnQ0IHYpIHsKKy8v
ICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp6d3kodWlu
dDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8v
ICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1
bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0
b3Iuenp3eih1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53Owor
Ly8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
aW50NCBvcGVyYXRvci56end3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp3eHgodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iuend4eSh1aW50NCB2KSB7CisvLyAg
ICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55
ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56d3h5PSh1aW50
NCB2LCB1aW50NCBjKSB7CisvLyAgICAgdWludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQu
eiA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueCA9IGMuejsK
Ky8vICAgICByZXN1bHQueSA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dWludDQgb3BlcmF0b3Iuend4eih1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56d3h3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp3eXgodWludDQgdikgeworLy8g
ICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQu
eSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iuend5eD0odWlu
dDQgdiwgdWludDQgYykgeworLy8gICAgIHVpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0
LnogPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7
CisvLyAgICAgcmVzdWx0LnggPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHVpbnQ0IG9wZXJhdG9yLnp3eXkodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iuend5eih1aW50NCB2KSB7CisvLyAgICAgdWludDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53Owor
Ly8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56d3l3KHVpbnQ0IHYpIHsKKy8v
ICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp3engodWlu
dDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8v
ICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1
bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0
b3Iuend6eSh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56Owor
Ly8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1
aW50NCBvcGVyYXRvci56d3p6KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnp3encodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iuend3eCh1aW50NCB2KSB7CisvLyAg
ICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55
ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci56d3d5KHVpbnQ0
IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0
LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9y
Lnp3d3oodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8v
ICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWlu
dDQgb3BlcmF0b3Iuend3dyh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56
ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1aW50NCBvcGVyYXRvci53eHh4KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnd4eHkodWludDQgdikgeworLy8gICAg
IHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9
IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iud3h4eih1aW50NCB2
KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAg
IHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci53
eHh3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0
IG9wZXJhdG9yLnd4eXgodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWludDQgb3BlcmF0b3Iud3h5eSh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci53eHl6KHVpbnQ0IHYpIHsKKy8vICAgICB1
aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnd4eXo9KHVpbnQ0IHYs
IHVpbnQ0IGMpIHsKKy8vICAgICB1aW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0g
Yy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC55ID0gYy56OworLy8g
ICAgIHJlc3VsdC56ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50
NCBvcGVyYXRvci53eHl3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnd4engodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAg
ICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iud3h6eSh1aW50NCB2KSB7CisvLyAgICAg
dWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0g
di54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci53eHp5PSh1aW50NCB2
LCB1aW50NCBjKSB7CisvLyAgICAgdWludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9
IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXN1bHQueiA9IGMuejsKKy8v
ICAgICByZXN1bHQueSA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWlu
dDQgb3BlcmF0b3Iud3h6eih1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56
ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyB1aW50NCBvcGVyYXRvci53eHp3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnd4d3godWludDQgdikgeworLy8gICAg
IHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9
IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iud3h3eSh1aW50NCB2
KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAg
IHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci53
eHd6KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0
IG9wZXJhdG9yLnd4d3codWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9
IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWludDQgb3BlcmF0b3Iud3l4eCh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci53eXh5KHVpbnQ0IHYpIHsKKy8vICAgICB1
aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnd5eHoodWludDQgdikg
eworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iud3l4
ej0odWludDQgdiwgdWludDQgYykgeworLy8gICAgIHVpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAg
cmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0Lngg
PSBjLno7CisvLyAgICAgcmVzdWx0LnogPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnd5eHcodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iud3l5eCh1aW50NCB2KSB7CisvLyAgICAg
dWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0g
di55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci53eXl5KHVpbnQ0IHYp
IHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnd5
eXoodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
dzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAg
ICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQg
b3BlcmF0b3Iud3l5dyh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1aW50NCBvcGVyYXRvci53eXp4KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnd5eng9KHVpbnQ0IHYsIHVpbnQ0IGMpIHsK
Ky8vICAgICB1aW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54OworLy8gICAg
IHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJlc3VsdC54
ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci53
eXp5KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0
IG9wZXJhdG9yLnd5enoodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWludDQgb3BlcmF0b3Iud3l6dyh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci53eXd4KHVpbnQ0IHYpIHsKKy8vICAgICB1
aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnd5d3kodWludDQgdikg
eworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iud3l3
eih1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAg
IHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBv
cGVyYXRvci53eXd3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVpbnQ0IG9wZXJhdG9yLnd6eHgodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iud3p4eSh1aW50NCB2KSB7CisvLyAgICAgdWlu
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56
OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci53enh5PSh1aW50NCB2LCB1
aW50NCBjKSB7CisvLyAgICAgdWludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMu
eDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQueCA9IGMuejsKKy8vICAg
ICByZXN1bHQueSA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQg
b3BlcmF0b3Iud3p4eih1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0g
di54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyB1aW50NCBvcGVyYXRvci53enh3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnd6eXgodWludDQgdikgeworLy8gICAgIHVp
bnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYu
ejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iud3p5eD0odWludDQgdiwg
dWludDQgYykgeworLy8gICAgIHVpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBj
Lng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAg
ICAgcmVzdWx0LnggPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0
IG9wZXJhdG9yLnd6eXkodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gdWludDQgb3BlcmF0b3Iud3p5eih1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAg
IHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci53enl3KHVpbnQ0IHYpIHsKKy8vICAgICB1
aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnd6engodWludDQgdikg
eworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICBy
ZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9
IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iud3p6
eSh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53
OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAg
IHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBv
cGVyYXRvci53enp6KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2
Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHVpbnQ0IG9wZXJhdG9yLnd6encodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iud3p3eCh1aW50NCB2KSB7CisvLyAgICAgdWlu
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56
OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci53end5KHVpbnQ0IHYpIHsK
Ky8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnd6d3oo
dWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsK
Ky8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICBy
ZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3Bl
cmF0b3Iud3p3dyh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53
OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyB1aW50NCBvcGVyYXRvci53d3h4KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnd3eHkodWludDQgdikgeworLy8gICAgIHVpbnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsK
Ky8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iud3d4eih1aW50NCB2KSB7Cisv
LyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3Vs
dC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci53d3h3KHVp
bnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJh
dG9yLnd3eXgodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsK
Ky8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
dWludDQgb3BlcmF0b3Iud3d5eSh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3Vs
dC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci53d3l6KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnd3eXcodWludDQgdikgeworLy8g
ICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQu
eSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iud3d6eCh1aW50
NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8g
ICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3Vs
dC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRv
ci53d3p5KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVp
bnQ0IG9wZXJhdG9yLnd3enoodWludDQgdikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQu
eiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gdWludDQgb3BlcmF0b3Iud3d6dyh1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8g
ICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyB1aW50NCBvcGVyYXRvci53d3d4KHVpbnQ0IHYpIHsKKy8vICAg
ICB1aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHVpbnQ0IG9wZXJhdG9yLnd3d3kodWludDQg
dikgeworLy8gICAgIHVpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAg
ICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gdWludDQgb3BlcmF0b3Iu
d3d3eih1aW50NCB2KSB7CisvLyAgICAgdWludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8g
ICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyB1aW50
NCBvcGVyYXRvci53d3d3KHVpbnQ0IHYpIHsKKy8vICAgICB1aW50NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGNoYXIyIG9wZXJhdG9yLnh4KGNoYXIyIHYpIHsKKy8vICAgICBjaGFyMiByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIyIG9wZXJhdG9yLnh5KGNoYXIyIHYpIHsKKy8v
ICAgICBjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIyIG9wZXJhdG9y
Lnh5PShjaGFyMiB2LCBjaGFyMiBjKSB7CisvLyAgICAgY2hhcjIgcmVzdWx0ID0gdjsKKy8vICAg
ICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gY2hhcjIgb3BlcmF0b3IueXgoY2hhcjIgdikgeworLy8gICAgIGNo
YXIyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjIgb3BlcmF0b3IueXg9KGNo
YXIyIHYsIGNoYXIyIGMpIHsKKy8vICAgICBjaGFyMiByZXN1bHQgPSB2OworLy8gICAgIHJlc3Vs
dC55ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBjaGFyMiBvcGVyYXRvci55eShjaGFyMiB2KSB7CisvLyAgICAgY2hhcjIgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMiBvcGVyYXRvci54eChjaGFyMyB2KSB7
CisvLyAgICAgY2hhcjIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJl
c3VsdC55ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMiBvcGVy
YXRvci54eShjaGFyMyB2KSB7CisvLyAgICAgY2hhcjIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBjaGFyMyBvcGVyYXRvci54eT0oY2hhcjMgdiwgY2hhcjIgYykgeworLy8gICAgIGNo
YXIzIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0Lnkg
PSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIyIG9wZXJhdG9yLnh6
KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGNoYXIzIG9wZXJhdG9yLnh6PShjaGFyMyB2LCBjaGFyMiBjKSB7CisvLyAgICAgY2hhcjMgcmVz
dWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjIgb3BlcmF0b3IueXgoY2hhcjMg
dikgeworLy8gICAgIGNoYXIyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAg
ICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMg
b3BlcmF0b3IueXg9KGNoYXIzIHYsIGNoYXIyIGMpIHsKKy8vICAgICBjaGFyMyByZXN1bHQgPSB2
OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMiBvcGVyYXRvci55eShjaGFyMyB2KSB7Cisv
LyAgICAgY2hhcjIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMiBvcGVyYXRv
ci55eihjaGFyMyB2KSB7CisvLyAgICAgY2hhcjIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBjaGFyMyBvcGVyYXRvci55ej0oY2hhcjMgdiwgY2hhcjIgYykgeworLy8gICAgIGNoYXIz
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBj
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIyIG9wZXJhdG9yLnp4KGNo
YXIzIHYpIHsKKy8vICAgICBjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNo
YXIzIG9wZXJhdG9yLnp4PShjaGFyMyB2LCBjaGFyMiBjKSB7CisvLyAgICAgY2hhcjMgcmVzdWx0
ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjIgb3BlcmF0b3IuenkoY2hhcjMgdikg
eworLy8gICAgIGNoYXIyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3Bl
cmF0b3Iuenk9KGNoYXIzIHYsIGNoYXIyIGMpIHsKKy8vICAgICBjaGFyMyByZXN1bHQgPSB2Owor
Ly8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMiBvcGVyYXRvci56eihjaGFyMyB2KSB7CisvLyAg
ICAgY2hhcjIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMiBvcGVyYXRvci54
eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBjaGFyMiBvcGVyYXRvci54eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjIgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54eT0oY2hhcjQgdiwgY2hhcjIgYykg
eworLy8gICAgIGNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAg
ICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIy
IG9wZXJhdG9yLnh6KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh6PShjaGFyNCB2LCBjaGFyMiBjKSB7CisvLyAg
ICAgY2hhcjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1
bHQueiA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjIgb3BlcmF0
b3IueHcoY2hhcjQgdikgeworLy8gICAgIGNoYXIyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gY2hhcjQgb3BlcmF0b3IueHc9KGNoYXI0IHYsIGNoYXIyIGMpIHsKKy8vICAgICBjaGFy
NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54OworLy8gICAgIHJlc3VsdC53ID0g
Yy55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMiBvcGVyYXRvci55eChj
aGFyNCB2KSB7CisvLyAgICAgY2hhcjIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBj
aGFyNCBvcGVyYXRvci55eD0oY2hhcjQgdiwgY2hhcjIgYykgeworLy8gICAgIGNoYXI0IHJlc3Vs
dCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIyIG9wZXJhdG9yLnl5KGNoYXI0IHYp
IHsKKy8vICAgICBjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIyIG9w
ZXJhdG9yLnl6KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl6PShjaGFyNCB2LCBjaGFyMiBjKSB7CisvLyAgICAg
Y2hhcjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQu
eiA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjIgb3BlcmF0b3Iu
eXcoY2hhcjQgdikgeworLy8gICAgIGNoYXIyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gY2hhcjQgb3BlcmF0b3IueXc9KGNoYXI0IHYsIGNoYXIyIGMpIHsKKy8vICAgICBjaGFyNCBy
ZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC53ID0gYy55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMiBvcGVyYXRvci56eChjaGFy
NCB2KSB7CisvLyAgICAgY2hhcjIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8g
ICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFy
NCBvcGVyYXRvci56eD0oY2hhcjQgdiwgY2hhcjIgYykgeworLy8gICAgIGNoYXI0IHJlc3VsdCA9
IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIyIG9wZXJhdG9yLnp5KGNoYXI0IHYpIHsK
Ky8vICAgICBjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJh
dG9yLnp5PShjaGFyNCB2LCBjaGFyMiBjKSB7CisvLyAgICAgY2hhcjQgcmVzdWx0ID0gdjsKKy8v
ICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjIgb3BlcmF0b3IuenooY2hhcjQgdikgeworLy8gICAg
IGNoYXIyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjIgb3BlcmF0b3Iuenco
Y2hhcjQgdikgeworLy8gICAgIGNoYXIyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
Y2hhcjQgb3BlcmF0b3Iuenc9KGNoYXI0IHYsIGNoYXIyIGMpIHsKKy8vICAgICBjaGFyNCByZXN1
bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC53ID0gYy55Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMiBvcGVyYXRvci53eChjaGFyNCB2
KSB7CisvLyAgICAgY2hhcjIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAg
IHJlc3VsdC55ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBv
cGVyYXRvci53eD0oY2hhcjQgdiwgY2hhcjIgYykgeworLy8gICAgIGNoYXI0IHJlc3VsdCA9IHY7
CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIyIG9wZXJhdG9yLnd5KGNoYXI0IHYpIHsKKy8v
ICAgICBjaGFyMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9y
Lnd5PShjaGFyNCB2LCBjaGFyMiBjKSB7CisvLyAgICAgY2hhcjQgcmVzdWx0ID0gdjsKKy8vICAg
ICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gY2hhcjIgb3BlcmF0b3Iud3ooY2hhcjQgdikgeworLy8gICAgIGNo
YXIyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iud3o9KGNo
YXI0IHYsIGNoYXIyIGMpIHsKKy8vICAgICBjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3Vs
dC53ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBjaGFyMiBvcGVyYXRvci53dyhjaGFyNCB2KSB7CisvLyAgICAgY2hhcjIgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVyYXRvci54eHgoY2hhcjIgdikg
eworLy8gICAgIGNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICBy
ZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3IueHh5KGNoYXIyIHYpIHsKKy8vICAgICBjaGFy
MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGNoYXIzIG9wZXJhdG9yLnh5eChjaGFyMiB2KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVyYXRv
ci54eXkoY2hhcjIgdikgeworLy8gICAgIGNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3IueXh4KGNoYXIyIHYp
IHsKKy8vICAgICBjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJhdG9yLnl4eShjaGFyMiB2KSB7CisvLyAgICAgY2hh
cjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBjaGFyMyBvcGVyYXRvci55eXgoY2hhcjIgdikgeworLy8gICAgIGNoYXIzIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0
b3IueXl5KGNoYXIyIHYpIHsKKy8vICAgICBjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJhdG9yLnh4eChjaGFyMyB2
KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVyYXRvci54eHkoY2hhcjMgdikgeworLy8gICAgIGNo
YXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gY2hhcjMgb3BlcmF0b3IueHh6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyMyByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJh
dG9yLnh5eChjaGFyMyB2KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVyYXRvci54eXkoY2hhcjMg
dikgeworLy8gICAgIGNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3IueHl6KGNoYXIzIHYpIHsKKy8vICAgICBj
aGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGNoYXIzIG9wZXJhdG9yLnh5ej0oY2hhcjMgdiwgY2hhcjMgYykgeworLy8gICAgIGNoYXIz
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBj
Lnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGNoYXIzIG9wZXJhdG9yLnh6eChjaGFyMyB2KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVy
YXRvci54enkoY2hhcjMgdikgeworLy8gICAgIGNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3IueHp5PShjaGFy
MyB2LCBjaGFyMyBjKSB7CisvLyAgICAgY2hhcjMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQu
eCA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3IueHp6KGNoYXIz
IHYpIHsKKy8vICAgICBjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJhdG9yLnl4eChjaGFyMyB2KSB7CisvLyAgICAg
Y2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBjaGFyMyBvcGVyYXRvci55eHkoY2hhcjMgdikgeworLy8gICAgIGNoYXIzIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3Bl
cmF0b3IueXh6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJhdG9yLnl4ej0oY2hh
cjMgdiwgY2hhcjMgYykgeworLy8gICAgIGNoYXIzIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0
LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJhdG9yLnl5eChjaGFy
MyB2KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVyYXRvci55eXkoY2hhcjMgdikgeworLy8gICAg
IGNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gY2hhcjMgb3BlcmF0b3IueXl6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyMyByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9w
ZXJhdG9yLnl6eChjaGFyMyB2KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVyYXRvci55eng9KGNo
YXIzIHYsIGNoYXIzIGMpIHsKKy8vICAgICBjaGFyMyByZXN1bHQgPSB2OworLy8gICAgIHJlc3Vs
dC55ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVyYXRvci55enkoY2hh
cjMgdikgeworLy8gICAgIGNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3IueXp6KGNoYXIzIHYpIHsKKy8vICAg
ICBjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGNoYXIzIG9wZXJhdG9yLnp4eChjaGFyMyB2KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBv
cGVyYXRvci56eHkoY2hhcjMgdikgeworLy8gICAgIGNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3Iuenh5PShj
aGFyMyB2LCBjaGFyMyBjKSB7CisvLyAgICAgY2hhcjMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1
bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3Iuenh6KGNo
YXIzIHYpIHsKKy8vICAgICBjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJhdG9yLnp5eChjaGFyMyB2KSB7CisvLyAg
ICAgY2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBjaGFyMyBvcGVyYXRvci56eXg9KGNoYXIzIHYsIGNoYXIzIGMpIHsKKy8vICAgICBj
aGFyMyByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC55
ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBjaGFyMyBvcGVyYXRvci56eXkoY2hhcjMgdikgeworLy8gICAgIGNoYXIzIHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMg
b3BlcmF0b3Iuenl6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2
Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJhdG9yLnp6eChj
aGFyMyB2KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVyYXRvci56enkoY2hhcjMgdikgeworLy8g
ICAgIGNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQu
eSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gY2hhcjMgb3BlcmF0b3Iuenp6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyMyByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIz
IG9wZXJhdG9yLnh4eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0g
di54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVyYXRvci54eHko
Y2hhcjQgdikgeworLy8gICAgIGNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3IueHh6KGNoYXI0IHYpIHsKKy8v
ICAgICBjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGNoYXIzIG9wZXJhdG9yLnh4dyhjaGFyNCB2KSB7CisvLyAgICAgY2hhcjMgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8g
ICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFy
MyBvcGVyYXRvci54eXgoY2hhcjQgdikgeworLy8gICAgIGNoYXIzIHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3IueHl5
KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJhdG9yLnh5eihjaGFyNCB2KSB7Cisv
LyAgICAgY2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54eXo9KGNoYXI0IHYsIGNoYXIzIGMpIHsKKy8vICAg
ICBjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54OworLy8gICAgIHJlc3Vs
dC55ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBjaGFyMyBvcGVyYXRvci54eXcoY2hhcjQgdikgeworLy8gICAgIGNoYXIzIHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hh
cjQgb3BlcmF0b3IueHl3PShjaGFyNCB2LCBjaGFyMyBjKSB7CisvLyAgICAgY2hhcjQgcmVzdWx0
ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8v
ICAgICByZXN1bHQudyA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hh
cjMgb3BlcmF0b3IueHp4KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyMyByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJhdG9yLnh6
eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54enk9KGNoYXI0IHYsIGNo
YXIzIGMpIHsKKy8vICAgICBjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54
OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC55ID0gYy56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVyYXRvci54enooY2hhcjQgdikgewor
Ly8gICAgIGNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1
bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3IueHp3KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyMyBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNo
YXI0IG9wZXJhdG9yLnh6dz0oY2hhcjQgdiwgY2hhcjMgYykgeworLy8gICAgIGNoYXI0IHJlc3Vs
dCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7Cisv
LyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNo
YXIzIG9wZXJhdG9yLnh3eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56
ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVyYXRvci54
d3koY2hhcjQgdikgeworLy8gICAgIGNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueHd5PShjaGFyNCB2LCBj
aGFyMyBjKSB7CisvLyAgICAgY2hhcjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMu
eDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3IueHd6KGNoYXI0IHYpIHsK
Ky8vICAgICBjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh3ej0oY2hhcjQgdiwgY2hhcjMgYykgeworLy8g
ICAgIGNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVz
dWx0LncgPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJhdG9yLnh3dyhjaGFyNCB2KSB7CisvLyAgICAgY2hhcjMg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53Owor
Ly8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBj
aGFyMyBvcGVyYXRvci55eHgoY2hhcjQgdikgeworLy8gICAgIGNoYXIzIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQu
eiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3Iu
eXh5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJhdG9yLnl4eihjaGFyNCB2KSB7
CisvLyAgICAgY2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJl
c3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55eHo9KGNoYXI0IHYsIGNoYXIzIGMpIHsKKy8v
ICAgICBjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJl
c3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVyYXRvci55eHcoY2hhcjQgdikgeworLy8gICAgIGNoYXIz
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
Y2hhcjQgb3BlcmF0b3IueXh3PShjaGFyNCB2LCBjaGFyMyBjKSB7CisvLyAgICAgY2hhcjQgcmVz
dWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsK
Ky8vICAgICByZXN1bHQudyA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
Y2hhcjMgb3BlcmF0b3IueXl4KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyMyByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJhdG9y
Lnl5eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVyYXRvci55eXooY2hhcjQgdikg
eworLy8gICAgIGNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3IueXl3KGNoYXI0IHYpIHsKKy8vICAgICBjaGFy
MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGNoYXIzIG9wZXJhdG9yLnl6eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRv
ci55eng9KGNoYXI0IHYsIGNoYXIzIGMpIHsKKy8vICAgICBjaGFyNCByZXN1bHQgPSB2OworLy8g
ICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3Vs
dC54ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVyYXRv
ci55enkoY2hhcjQgdikgeworLy8gICAgIGNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3IueXp6KGNoYXI0IHYp
IHsKKy8vICAgICBjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJhdG9yLnl6dyhjaGFyNCB2KSB7CisvLyAgICAgY2hh
cjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56
OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBjaGFyNCBvcGVyYXRvci55enc9KGNoYXI0IHYsIGNoYXIzIGMpIHsKKy8vICAgICBjaGFyNCBy
ZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55
OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBjaGFyMyBvcGVyYXRvci55d3goY2hhcjQgdikgeworLy8gICAgIGNoYXIzIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0
b3IueXd4PShjaGFyNCB2LCBjaGFyMyBjKSB7CisvLyAgICAgY2hhcjQgcmVzdWx0ID0gdjsKKy8v
ICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1
bHQueCA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0
b3IueXd5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJhdG9yLnl3eihjaGFyNCB2
KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55d3o9KGNoYXI0IHYsIGNoYXIzIGMpIHsK
Ky8vICAgICBjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAg
IHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVyYXRvci55d3coY2hhcjQgdikgeworLy8gICAgIGNo
YXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
dzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gY2hhcjMgb3BlcmF0b3Iuenh4KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyMyByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJh
dG9yLnp4eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56eHk9KGNoYXI0
IHYsIGNoYXIzIGMpIHsKKy8vICAgICBjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56
ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC55ID0gYy56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVyYXRvci56eHooY2hhcjQg
dikgeworLy8gICAgIGNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAg
ICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3Iuenh3KGNoYXI0IHYpIHsKKy8vICAgICBj
aGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGNoYXI0IG9wZXJhdG9yLnp4dz0oY2hhcjQgdiwgY2hhcjMgYykgeworLy8gICAgIGNoYXI0
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBj
Lnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGNoYXIzIG9wZXJhdG9yLnp5eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVy
YXRvci56eXg9KGNoYXI0IHYsIGNoYXIzIGMpIHsKKy8vICAgICBjaGFyNCByZXN1bHQgPSB2Owor
Ly8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJl
c3VsdC54ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVy
YXRvci56eXkoY2hhcjQgdikgeworLy8gICAgIGNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3Iuenl6KGNoYXI0
IHYpIHsKKy8vICAgICBjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJhdG9yLnp5dyhjaGFyNCB2KSB7CisvLyAgICAg
Y2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0g
di55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBjaGFyNCBvcGVyYXRvci56eXc9KGNoYXI0IHYsIGNoYXIzIGMpIHsKKy8vICAgICBjaGFy
NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0g
Yy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBjaGFyMyBvcGVyYXRvci56engoY2hhcjQgdikgeworLy8gICAgIGNoYXIzIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3Bl
cmF0b3Iuenp5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJhdG9yLnp6eihjaGFy
NCB2KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8g
ICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVyYXRvci56encoY2hhcjQgdikgeworLy8gICAg
IGNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gY2hhcjMgb3BlcmF0b3Iuend4KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyMyByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9w
ZXJhdG9yLnp3eD0oY2hhcjQgdiwgY2hhcjMgYykgeworLy8gICAgIGNoYXI0IHJlc3VsdCA9IHY7
CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAg
cmVzdWx0LnggPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9w
ZXJhdG9yLnp3eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56d3k9KGNo
YXI0IHYsIGNoYXIzIGMpIHsKKy8vICAgICBjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3Vs
dC56ID0gYy54OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC55ID0gYy56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVyYXRvci56d3ooY2hh
cjQgdikgeworLy8gICAgIGNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8v
ICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3Iuend3KGNoYXI0IHYpIHsKKy8vICAg
ICBjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGNoYXIzIG9wZXJhdG9yLnd4eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBv
cGVyYXRvci53eHkoY2hhcjQgdikgeworLy8gICAgIGNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iud3h5PShj
aGFyNCB2LCBjaGFyMyBjKSB7CisvLyAgICAgY2hhcjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1
bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3Iud3h6KGNo
YXI0IHYpIHsKKy8vICAgICBjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnd4ej0oY2hhcjQgdiwgY2hhcjMg
YykgeworLy8gICAgIGNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7Cisv
LyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJhdG9yLnd4dyhjaGFyNCB2KSB7CisvLyAg
ICAgY2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55
ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBjaGFyMyBvcGVyYXRvci53eXgoY2hhcjQgdikgeworLy8gICAgIGNoYXIzIHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQg
b3BlcmF0b3Iud3l4PShjaGFyNCB2LCBjaGFyMyBjKSB7CisvLyAgICAgY2hhcjQgcmVzdWx0ID0g
djsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAg
ICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMg
b3BlcmF0b3Iud3l5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJhdG9yLnd5eihj
aGFyNCB2KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci53eXo9KGNoYXI0IHYsIGNoYXIz
IGMpIHsKKy8vICAgICBjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54Owor
Ly8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVyYXRvci53eXcoY2hhcjQgdikgeworLy8g
ICAgIGNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gY2hhcjMgb3BlcmF0b3Iud3p4KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyMyByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0
IG9wZXJhdG9yLnd6eD0oY2hhcjQgdiwgY2hhcjMgYykgeworLy8gICAgIGNoYXI0IHJlc3VsdCA9
IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAg
ICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIz
IG9wZXJhdG9yLnd6eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjMgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci53enk9
KGNoYXI0IHYsIGNoYXIzIGMpIHsKKy8vICAgICBjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJl
c3VsdC53ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC55ID0g
Yy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyMyBvcGVyYXRvci53enoo
Y2hhcjQgdikgeworLy8gICAgIGNoYXIzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsK
Ky8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3Iud3p3KGNoYXI0IHYpIHsKKy8v
ICAgICBjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGNoYXIzIG9wZXJhdG9yLnd3eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjMgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFy
MyBvcGVyYXRvci53d3koY2hhcjQgdikgeworLy8gICAgIGNoYXIzIHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjMgb3BlcmF0b3Iud3d6
KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXIzIG9wZXJhdG9yLnd3dyhjaGFyNCB2KSB7Cisv
LyAgICAgY2hhcjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3Vs
dC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54eHh4KGNoYXIyIHYpIHsKKy8vICAgICBjaGFyNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh4eHkoY2hhcjIgdikgeworLy8g
ICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueHh5eChjaGFy
MiB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8g
ICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3Vs
dC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRv
ci54eHl5KGNoYXIyIHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNo
YXI0IG9wZXJhdG9yLnh5eHgoY2hhcjIgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQu
eiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gY2hhcjQgb3BlcmF0b3IueHl4eShjaGFyMiB2KSB7CisvLyAgICAgY2hhcjQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54eXl4KGNoYXIyIHYpIHsKKy8vICAg
ICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh5eXkoY2hhcjIg
dikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iu
eXh4eChjaGFyMiB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8g
ICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFy
NCBvcGVyYXRvci55eHh5KGNoYXIyIHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl4eXgoY2hhcjIgdikgeworLy8gICAgIGNoYXI0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueXh5eShjaGFyMiB2KSB7CisvLyAgICAg
Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55eXh4KGNoYXIyIHYp
IHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl5
eHkoY2hhcjIgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAg
ICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQg
b3BlcmF0b3IueXl5eChjaGFyMiB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBjaGFyNCBvcGVyYXRvci55eXl5KGNoYXIyIHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh4eHgoY2hhcjMgdikgeworLy8gICAgIGNo
YXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueHh4eShjaGFyMyB2KSB7
CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJl
c3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0g
di55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54eHh6
KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAg
cmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9w
ZXJhdG9yLnh4eXgoY2hhcjMgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gY2hhcjQgb3BlcmF0b3IueHh5eShjaGFyMyB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54eHl6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFy
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh4engoY2hhcjMgdikgewor
Ly8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYu
eDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueHh6eShj
aGFyMyB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJl
c3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVy
YXRvci54eHp6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7
CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGNoYXI0IG9wZXJhdG9yLnh5eHgoY2hhcjMgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueHl4eShjaGFyMyB2KSB7CisvLyAgICAgY2hhcjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54eXh6KGNoYXIzIHYpIHsKKy8v
ICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh5eXgoY2hh
cjMgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1
bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0
b3IueHl5eShjaGFyMyB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBj
aGFyNCBvcGVyYXRvci54eXl6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh5engoY2hhcjMgdikgeworLy8gICAgIGNoYXI0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueHl6eShjaGFyMyB2KSB7CisvLyAg
ICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54eXp6KGNoYXIz
IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0
LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9y
Lnh6eHgoY2hhcjMgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8v
ICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hh
cjQgb3BlcmF0b3IueHp4eShjaGFyMyB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBjaGFyNCBvcGVyYXRvci54enh6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh6eXgoY2hhcjMgdikgeworLy8gICAg
IGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueHp5eShjaGFyMyB2
KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54
enl6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0
IG9wZXJhdG9yLnh6engoY2hhcjMgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9
IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gY2hhcjQgb3BlcmF0b3IueHp6eShjaGFyMyB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54enp6KGNoYXIzIHYpIHsKKy8vICAgICBj
aGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl4eHgoY2hhcjMgdikg
eworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9
IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueXh4
eShjaGFyMyB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55
OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBv
cGVyYXRvci55eHh6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGNoYXI0IG9wZXJhdG9yLnl4eXgoY2hhcjMgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueXh5eShjaGFyMyB2KSB7CisvLyAgICAgY2hh
cjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55eHl6KGNoYXIzIHYpIHsK
Ky8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2
Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl4engo
Y2hhcjMgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3Bl
cmF0b3IueXh6eShjaGFyMyB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56
OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBjaGFyNCBvcGVyYXRvci55eHp6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl5eHgoY2hhcjMgdikgeworLy8gICAgIGNoYXI0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueXl4eShjaGFyMyB2KSB7Cisv
LyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55eXh6KGNo
YXIzIHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVz
dWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJh
dG9yLnl5eXgoY2hhcjMgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsK
Ky8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
Y2hhcjQgb3BlcmF0b3IueXl5eShjaGFyMyB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3Vs
dC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55eXl6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl5engoY2hhcjMgdikgeworLy8g
ICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueXl6eShjaGFy
MyB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3Vs
dC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRv
ci55eXp6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNo
YXI0IG9wZXJhdG9yLnl6eHgoY2hhcjMgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gY2hhcjQgb3BlcmF0b3IueXp4eShjaGFyMyB2KSB7CisvLyAgICAgY2hhcjQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55enh6KGNoYXIzIHYpIHsKKy8vICAg
ICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl6eXgoY2hhcjMg
dikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQu
dyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iu
eXp5eShjaGFyMyB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFy
NCBvcGVyYXRvci55enl6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl6engoY2hhcjMgdikgeworLy8gICAgIGNoYXI0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueXp6eShjaGFyMyB2KSB7CisvLyAgICAg
Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55enp6KGNoYXIzIHYp
IHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp4
eHgoY2hhcjMgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
ejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAg
ICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQg
b3BlcmF0b3Iuenh4eShjaGFyMyB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0g
di54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBjaGFyNCBvcGVyYXRvci56eHh6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp4eXgoY2hhcjMgdikgeworLy8gICAgIGNo
YXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iuenh5eShjaGFyMyB2KSB7
CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJl
c3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0g
di55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56eHl6
KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9w
ZXJhdG9yLnp4engoY2hhcjMgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
ejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gY2hhcjQgb3BlcmF0b3Iuenh6eShjaGFyMyB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56eHp6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFy
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp5eHgoY2hhcjMgdikgewor
Ly8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYu
eDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iuenl4eShj
aGFyMyB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJl
c3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVy
YXRvci56eXh6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7
CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGNoYXI0IG9wZXJhdG9yLnp5eXgoY2hhcjMgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iuenl5eShjaGFyMyB2KSB7CisvLyAgICAgY2hhcjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56eXl6KGNoYXIzIHYpIHsKKy8v
ICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp5engoY2hh
cjMgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1
bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0
b3Iuenl6eShjaGFyMyB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56Owor
Ly8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBj
aGFyNCBvcGVyYXRvci56eXp6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp6eHgoY2hhcjMgdikgeworLy8gICAgIGNoYXI0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iuenp4eShjaGFyMyB2KSB7CisvLyAg
ICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55
ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56enh6KGNoYXIz
IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0
LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9y
Lnp6eXgoY2hhcjMgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8v
ICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hh
cjQgb3BlcmF0b3Iuenp5eShjaGFyMyB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBjaGFyNCBvcGVyYXRvci56enl6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp6engoY2hhcjMgdikgeworLy8gICAg
IGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iuenp6eShjaGFyMyB2
KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56
enp6KGNoYXIzIHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0
IG9wZXJhdG9yLnh4eHgoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9
IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gY2hhcjQgb3BlcmF0b3IueHh4eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54eHh6KGNoYXI0IHYpIHsKKy8vICAgICBj
aGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh4eHcoY2hhcjQgdikg
eworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICBy
ZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9
IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueHh5
eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBv
cGVyYXRvci54eHl5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGNoYXI0IG9wZXJhdG9yLnh4eXooY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueHh5dyhjaGFyNCB2KSB7CisvLyAgICAgY2hh
cjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54eHp4KGNoYXI0IHYpIHsK
Ky8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh4enko
Y2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3Bl
cmF0b3IueHh6eihjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56
OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBjaGFyNCBvcGVyYXRvci54eHp3KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh4d3goY2hhcjQgdikgeworLy8gICAgIGNoYXI0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueHh3eShjaGFyNCB2KSB7Cisv
LyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54eHd6KGNo
YXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVz
dWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJh
dG9yLnh4d3coY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsK
Ky8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
Y2hhcjQgb3BlcmF0b3IueHl4eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54eXh5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh5eHooY2hhcjQgdikgeworLy8g
ICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueHl4dyhjaGFy
NCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3Vs
dC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRv
ci54eXl4KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNo
YXI0IG9wZXJhdG9yLnh5eXkoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQu
eiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gY2hhcjQgb3BlcmF0b3IueHl5eihjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54eXl3KGNoYXI0IHYpIHsKKy8vICAg
ICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh5engoY2hhcjQg
dikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQu
dyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iu
eHl6eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFy
NCBvcGVyYXRvci54eXp6KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh5encoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAg
ICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueHl6dz0oY2hhcjQgdiwgY2hhcjQgYykg
eworLy8gICAgIGNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAg
ICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmVzdWx0
LncgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9y
Lnh5d3goY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8v
ICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hh
cjQgb3BlcmF0b3IueHl3eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBjaGFyNCBvcGVyYXRvci54eXd6KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh5d3o9KGNoYXI0IHYsIGNoYXI0IGMp
IHsKKy8vICAgICBjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54OworLy8g
ICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJlc3Vs
dC56ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRv
ci54eXd3KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNo
YXI0IG9wZXJhdG9yLnh6eHgoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gY2hhcjQgb3BlcmF0b3IueHp4eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54enh6KGNoYXI0IHYpIHsKKy8vICAg
ICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh6eHcoY2hhcjQg
dikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQu
dyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iu
eHp5eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFy
NCBvcGVyYXRvci54enl5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh6eXooY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueHp5dyhjaGFyNCB2KSB7CisvLyAgICAg
Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54enl3PShjaGFyNCB2
LCBjaGFyNCBjKSB7CisvLyAgICAgY2hhcjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9
IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8v
ICAgICByZXN1bHQudyA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hh
cjQgb3BlcmF0b3IueHp6eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBjaGFyNCBvcGVyYXRvci54enp5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh6enooY2hhcjQgdikgeworLy8gICAg
IGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueHp6dyhjaGFyNCB2
KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53
ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54
end4KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0
IG9wZXJhdG9yLnh6d3koY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9
IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gY2hhcjQgb3BlcmF0b3IueHp3eT0oY2hhcjQgdiwgY2hhcjQgYykgeworLy8gICAgIGNo
YXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0Lnog
PSBjLnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmVzdWx0LnkgPSBjLnc7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh6d3ooY2hhcjQg
dikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQu
dyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iu
eHp3dyhjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8g
ICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFy
NCBvcGVyYXRvci54d3h4KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh3eHkoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueHd4eihjaGFyNCB2KSB7CisvLyAgICAg
Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0g
di53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54d3h3KGNoYXI0IHYp
IHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh3
eXgoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAg
ICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQg
b3BlcmF0b3IueHd5eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBjaGFyNCBvcGVyYXRvci54d3l6KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh3eXo9KGNoYXI0IHYsIGNoYXI0IGMpIHsK
Ky8vICAgICBjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54OworLy8gICAg
IHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC55ID0gYy56OworLy8gICAgIHJlc3VsdC56
ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54
d3l3KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0
IG9wZXJhdG9yLnh3engoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9
IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gY2hhcjQgb3BlcmF0b3IueHd6eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54d3p5PShjaGFyNCB2LCBjaGFyNCBjKSB7
CisvLyAgICAgY2hhcjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAg
ICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueiA9IGMuejsKKy8vICAgICByZXN1bHQu
eSA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iu
eHd6eihjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFy
NCBvcGVyYXRvci54d3p3KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh3d3goY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAg
ICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueHd3eShjaGFyNCB2KSB7CisvLyAgICAg
Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0g
di53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci54d3d6KGNoYXI0IHYp
IHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnh3
d3coY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAg
ICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQg
b3BlcmF0b3IueXh4eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0g
di54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBjaGFyNCBvcGVyYXRvci55eHh5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl4eHooY2hhcjQgdikgeworLy8gICAgIGNo
YXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueXh4dyhjaGFyNCB2KSB7
CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJl
c3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0g
di53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55eHl4
KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9w
ZXJhdG9yLnl4eXkoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gY2hhcjQgb3BlcmF0b3IueXh5eihjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55eHl3KGNoYXI0IHYpIHsKKy8vICAgICBjaGFy
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl4engoY2hhcjQgdikgewor
Ly8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYu
eDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueXh6eShj
aGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJl
c3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVy
YXRvci55eHp6KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7
CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGNoYXI0IG9wZXJhdG9yLnl4encoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueXh6dz0oY2hhcjQgdiwgY2hhcjQgYykgeworLy8g
ICAgIGNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVz
dWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmVzdWx0LncgPSBj
Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl4d3go
Y2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICBy
ZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3Bl
cmF0b3IueXh3eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53
OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBjaGFyNCBvcGVyYXRvci55eHd6KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl4d3o9KGNoYXI0IHYsIGNoYXI0IGMpIHsKKy8v
ICAgICBjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJl
c3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJlc3VsdC56ID0g
Yy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55eHd3
KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9w
ZXJhdG9yLnl5eHgoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYu
eDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gY2hhcjQgb3BlcmF0b3IueXl4eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55eXh6KGNoYXI0IHYpIHsKKy8vICAgICBjaGFy
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl5eHcoY2hhcjQgdikgewor
Ly8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYu
dzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueXl5eChj
aGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
c3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVy
YXRvci55eXl5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGNoYXI0IG9wZXJhdG9yLnl5eXooY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueXl5dyhjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55eXp4KGNoYXI0IHYpIHsKKy8v
ICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl5enkoY2hh
cjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1
bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0
b3IueXl6eihjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56Owor
Ly8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBj
aGFyNCBvcGVyYXRvci55eXp3KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl5d3goY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueXl3eShjaGFyNCB2KSB7CisvLyAg
ICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55eXd6KGNoYXI0
IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0
LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9y
Lnl5d3coY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8v
ICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hh
cjQgb3BlcmF0b3IueXp4eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBjaGFyNCBvcGVyYXRvci55enh5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl6eHooY2hhcjQgdikgeworLy8gICAg
IGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueXp4dyhjaGFyNCB2
KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53
ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55
enh3PShjaGFyNCB2LCBjaGFyNCBjKSB7CisvLyAgICAgY2hhcjQgcmVzdWx0ID0gdjsKKy8vICAg
ICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQu
eCA9IGMuejsKKy8vICAgICByZXN1bHQudyA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gY2hhcjQgb3BlcmF0b3IueXp5eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55enl5KGNoYXI0IHYpIHsKKy8vICAg
ICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl6eXooY2hhcjQg
dikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQu
dyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iu
eXp5dyhjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFy
NCBvcGVyYXRvci55enp4KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl6enkoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueXp6eihjaGFyNCB2KSB7CisvLyAgICAg
Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55enp3KGNoYXI0IHYp
IHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl6
d3goY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAg
ICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQg
b3BlcmF0b3IueXp3eD0oY2hhcjQgdiwgY2hhcjQgYykgeworLy8gICAgIGNoYXI0IHJlc3VsdCA9
IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAg
ICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmVzdWx0LnggPSBjLnc7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl6d3koY2hhcjQgdikgeworLy8gICAg
IGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueXp3eihjaGFyNCB2
KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55
end3KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0
IG9wZXJhdG9yLnl3eHgoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9
IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gY2hhcjQgb3BlcmF0b3IueXd4eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55d3h6KGNoYXI0IHYpIHsKKy8vICAgICBj
aGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl3eHo9KGNoYXI0IHYs
IGNoYXI0IGMpIHsKKy8vICAgICBjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0g
Yy54OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8g
ICAgIHJlc3VsdC56ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFy
NCBvcGVyYXRvci55d3h3KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl3eXgoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueXd5eShjaGFyNCB2KSB7CisvLyAgICAg
Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55d3l6KGNoYXI0IHYp
IHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl3
eXcoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAg
ICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQg
b3BlcmF0b3IueXd6eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBjaGFyNCBvcGVyYXRvci55d3p4PShjaGFyNCB2LCBjaGFyNCBjKSB7CisvLyAgICAgY2hh
cjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQudyA9
IGMueTsKKy8vICAgICByZXN1bHQueiA9IGMuejsKKy8vICAgICByZXN1bHQueCA9IGMudzsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueXd6eShjaGFyNCB2
KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55
d3p6KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0
IG9wZXJhdG9yLnl3encoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9
IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gY2hhcjQgb3BlcmF0b3IueXd3eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAg
IHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci55d3d5KGNoYXI0IHYpIHsKKy8vICAgICBj
aGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnl3d3ooY2hhcjQgdikg
eworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3IueXd3
dyhjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55
OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAg
IHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBv
cGVyYXRvci56eHh4KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGNoYXI0IG9wZXJhdG9yLnp4eHkoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iuenh4eihjaGFyNCB2KSB7CisvLyAgICAgY2hh
cjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56eHh3KGNoYXI0IHYpIHsK
Ky8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp4eXgo
Y2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICBy
ZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3Bl
cmF0b3Iuenh5eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55
OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBjaGFyNCBvcGVyYXRvci56eHl6KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp4eXcoY2hhcjQgdikgeworLy8gICAgIGNoYXI0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iuenh5dz0oY2hhcjQgdiwgY2hh
cjQgYykgeworLy8gICAgIGNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7
CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAg
cmVzdWx0LncgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9w
ZXJhdG9yLnp4engoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
ejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gY2hhcjQgb3BlcmF0b3Iuenh6eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56eHp6KGNoYXI0IHYpIHsKKy8vICAgICBjaGFy
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp4encoY2hhcjQgdikgewor
Ly8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYu
dzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iuenh3eChj
aGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJl
c3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVy
YXRvci56eHd5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGNoYXI0IG9wZXJhdG9yLnp4d3k9KGNoYXI0IHYsIGNoYXI0IGMpIHsKKy8vICAgICBjaGFyNCBy
ZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55
OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJlc3VsdC55ID0gYy53OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56eHd6KGNoYXI0IHYpIHsK
Ky8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2
Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp4d3co
Y2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICBy
ZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3Bl
cmF0b3Iuenl4eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBjaGFyNCBvcGVyYXRvci56eXh5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp5eHooY2hhcjQgdikgeworLy8gICAgIGNoYXI0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iuenl4dyhjaGFyNCB2KSB7Cisv
LyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi53
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56eXh3PShj
aGFyNCB2LCBjaGFyNCBjKSB7CisvLyAgICAgY2hhcjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1
bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQueCA9IGMu
ejsKKy8vICAgICByZXN1bHQudyA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gY2hhcjQgb3BlcmF0b3Iuenl5eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56eXl5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFy
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp5eXooY2hhcjQgdikgewor
Ly8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iuenl5dyhj
aGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
c3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVy
YXRvci56eXp4KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7
CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGNoYXI0IG9wZXJhdG9yLnp5enkoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iuenl6eihjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56eXp3KGNoYXI0IHYpIHsKKy8v
ICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp5d3goY2hh
cjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1
bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0
b3Iuenl3eD0oY2hhcjQgdiwgY2hhcjQgYykgeworLy8gICAgIGNoYXI0IHJlc3VsdCA9IHY7Cisv
LyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVz
dWx0LncgPSBjLno7CisvLyAgICAgcmVzdWx0LnggPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp5d3koY2hhcjQgdikgeworLy8gICAgIGNoYXI0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iuenl3eihjaGFyNCB2KSB7Cisv
LyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56eXd3KGNo
YXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJh
dG9yLnp6eHgoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
Y2hhcjQgb3BlcmF0b3Iuenp4eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56enh6KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp6eHcoY2hhcjQgdikgeworLy8g
ICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQu
eSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYudzsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iuenp5eChjaGFy
NCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8g
ICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3Vs
dC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRv
ci56enl5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNo
YXI0IG9wZXJhdG9yLnp6eXooY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gY2hhcjQgb3BlcmF0b3Iuenp5dyhjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56enp4KGNoYXI0IHYpIHsKKy8vICAg
ICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp6enkoY2hhcjQg
dikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iu
enp6eihjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFy
NCBvcGVyYXRvci56enp3KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp6d3goY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iuenp3eShjaGFyNCB2KSB7CisvLyAgICAg
Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56end6KGNoYXI0IHYp
IHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp6
d3coY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
ejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAg
ICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQg
b3BlcmF0b3Iuend4eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0g
di54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBjaGFyNCBvcGVyYXRvci56d3h5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp3eHk9KGNoYXI0IHYsIGNoYXI0IGMpIHsK
Ky8vICAgICBjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAg
IHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJlc3VsdC55
ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56
d3h6KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0
IG9wZXJhdG9yLnp3eHcoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9
IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gY2hhcjQgb3BlcmF0b3Iuend5eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAg
IHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56d3l4PShjaGFyNCB2LCBjaGFyNCBjKSB7
CisvLyAgICAgY2hhcjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAg
ICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXN1bHQu
eCA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iu
end5eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFy
NCBvcGVyYXRvci56d3l6KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp3eXcoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iuend6eChjaGFyNCB2KSB7CisvLyAgICAg
Y2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0g
di53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56d3p5KGNoYXI0IHYp
IHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp3
enooY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
ejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAg
ICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQg
b3BlcmF0b3Iuend6dyhjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBjaGFyNCBvcGVyYXRvci56d3d4KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnp3d3koY2hhcjQgdikgeworLy8gICAgIGNo
YXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYu
dzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iuend3eihjaGFyNCB2KSB7
CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJl
c3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci56d3d3
KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9w
ZXJhdG9yLnd4eHgoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
eDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gY2hhcjQgb3BlcmF0b3Iud3h4eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci53eHh6KGNoYXI0IHYpIHsKKy8vICAgICBjaGFy
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnd4eHcoY2hhcjQgdikgewor
Ly8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYu
dzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iud3h5eChj
aGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
c3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVy
YXRvci53eHl5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGNoYXI0IG9wZXJhdG9yLnd4eXooY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iud3h5ej0oY2hhcjQgdiwgY2hhcjQgYykgeworLy8g
ICAgIGNoYXI0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVz
dWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmVzdWx0LnogPSBj
Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnd4eXco
Y2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICBy
ZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3Bl
cmF0b3Iud3h6eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56
OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBjaGFyNCBvcGVyYXRvci53eHp5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnd4enk9KGNoYXI0IHYsIGNoYXI0IGMpIHsKKy8v
ICAgICBjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54OworLy8gICAgIHJl
c3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJlc3VsdC55ID0g
Yy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci53eHp6
KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAg
cmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9w
ZXJhdG9yLnd4encoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
ejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gY2hhcjQgb3BlcmF0b3Iud3h3eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci53eHd5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFy
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnd4d3ooY2hhcjQgdikgewor
Ly8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iud3h3dyhj
aGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJl
c3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVy
YXRvci53eXh4KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7
CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGNoYXI0IG9wZXJhdG9yLnd5eHkoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iud3l4eihjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci53eXh6PShjaGFyNCB2LCBjaGFy
NCBjKSB7CisvLyAgICAgY2hhcjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsK
Ky8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQueCA9IGMuejsKKy8vICAgICBy
ZXN1bHQueiA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3Bl
cmF0b3Iud3l4dyhjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBjaGFyNCBvcGVyYXRvci53eXl4KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnd5eXkoY2hhcjQgdikgeworLy8gICAgIGNoYXI0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iud3l5eihjaGFyNCB2KSB7Cisv
LyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci53eXl3KGNo
YXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJh
dG9yLnd5engoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsK
Ky8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
Y2hhcjQgb3BlcmF0b3Iud3l6eD0oY2hhcjQgdiwgY2hhcjQgYykgeworLy8gICAgIGNoYXI0IHJl
c3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7
CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmVzdWx0LnggPSBjLnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnd5enkoY2hhcjQgdikgewor
Ly8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iud3l6eihj
aGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJl
c3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVy
YXRvci53eXp3KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGNoYXI0IG9wZXJhdG9yLnd5d3goY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iud3l3eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci53eXd6KGNoYXI0IHYpIHsKKy8v
ICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnd5d3coY2hh
cjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1
bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0
b3Iud3p4eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBj
aGFyNCBvcGVyYXRvci53enh5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0
LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnd6eHk9KGNoYXI0IHYsIGNoYXI0IGMpIHsKKy8vICAg
ICBjaGFyNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54OworLy8gICAgIHJlc3Vs
dC56ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJlc3VsdC55ID0gYy53
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci53enh6KGNo
YXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVz
dWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJh
dG9yLnd6eHcoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
Y2hhcjQgb3BlcmF0b3Iud3p5eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3Vs
dC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci53enl4PShjaGFyNCB2LCBjaGFyNCBjKSB7CisvLyAg
ICAgY2hhcjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1
bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXN1bHQueCA9IGMu
dzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iud3p5eShj
aGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53Owor
Ly8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
c3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVy
YXRvci53enl6KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGNoYXI0IG9wZXJhdG9yLnd6eXcoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iud3p6eChjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci53enp5KGNoYXI0IHYpIHsKKy8v
ICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnd6enooY2hh
cjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8v
ICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1
bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0
b3Iud3p6dyhjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56Owor
Ly8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBj
aGFyNCBvcGVyYXRvci53end4KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnd6d3koY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8v
ICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iud3p3eihjaGFyNCB2KSB7CisvLyAg
ICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55
ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci53end3KGNoYXI0
IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0
LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9y
Lnd3eHgoY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8v
ICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hh
cjQgb3BlcmF0b3Iud3d4eShjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56
ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBjaGFyNCBvcGVyYXRvci53d3h6KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnd3eHcoY2hhcjQgdikgeworLy8gICAg
IGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9
IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iud3d5eChjaGFyNCB2
KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAg
IHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53
ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci53
d3l5KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0
IG9wZXJhdG9yLnd3eXooY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gY2hhcjQgb3BlcmF0b3Iud3d5dyhjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAg
IHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci53d3p4KGNoYXI0IHYpIHsKKy8vICAgICBj
aGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnd3enkoY2hhcjQgdikg
eworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iud3d6
eihjaGFyNCB2KSB7CisvLyAgICAgY2hhcjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53
OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAg
IHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBv
cGVyYXRvci53d3p3KGNoYXI0IHYpIHsKKy8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2
Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGNoYXI0IG9wZXJhdG9yLnd3d3goY2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICBy
ZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gY2hhcjQgb3BlcmF0b3Iud3d3eShjaGFyNCB2KSB7CisvLyAgICAgY2hh
cjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53
OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBjaGFyNCBvcGVyYXRvci53d3d6KGNoYXI0IHYpIHsK
Ky8vICAgICBjaGFyNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2
Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGNoYXI0IG9wZXJhdG9yLnd3d3co
Y2hhcjQgdikgeworLy8gICAgIGNoYXI0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsK
Ky8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICBy
ZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQyIG9w
ZXJhdG9yLnh4KHNob3J0MiB2KSB7CisvLyAgICAgc2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gc2hvcnQyIG9wZXJhdG9yLnh5KHNob3J0MiB2KSB7CisvLyAgICAgc2hvcnQy
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQyIG9wZXJhdG9yLnh5PShzaG9y
dDIgdiwgc2hvcnQyIGMpIHsKKy8vICAgICBzaG9ydDIgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1
bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gc2hvcnQyIG9wZXJhdG9yLnl4KHNob3J0MiB2KSB7CisvLyAgICAgc2hvcnQy
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQyIG9wZXJhdG9yLnl4PShzaG9y
dDIgdiwgc2hvcnQyIGMpIHsKKy8vICAgICBzaG9ydDIgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1
bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gc2hvcnQyIG9wZXJhdG9yLnl5KHNob3J0MiB2KSB7CisvLyAgICAgc2hvcnQy
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQyIG9wZXJhdG9yLnh4KHNob3J0
MyB2KSB7CisvLyAgICAgc2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hv
cnQyIG9wZXJhdG9yLnh5KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQyIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnh5PShzaG9ydDMgdiwgc2hvcnQyIGMp
IHsKKy8vICAgICBzaG9ydDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8v
ICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hv
cnQyIG9wZXJhdG9yLnh6KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQyIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnh6PShzaG9ydDMgdiwgc2hvcnQyIGMp
IHsKKy8vICAgICBzaG9ydDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8v
ICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hv
cnQyIG9wZXJhdG9yLnl4KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQyIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnl4PShzaG9ydDMgdiwgc2hvcnQyIGMp
IHsKKy8vICAgICBzaG9ydDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8v
ICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hv
cnQyIG9wZXJhdG9yLnl5KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQyIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gc2hvcnQyIG9wZXJhdG9yLnl6KHNob3J0MyB2KSB7CisvLyAgICAg
c2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnl6
PShzaG9ydDMgdiwgc2hvcnQyIGMpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0ID0gdjsKKy8vICAg
ICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gc2hvcnQyIG9wZXJhdG9yLnp4KHNob3J0MyB2KSB7CisvLyAgICAg
c2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnp4
PShzaG9ydDMgdiwgc2hvcnQyIGMpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0ID0gdjsKKy8vICAg
ICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gc2hvcnQyIG9wZXJhdG9yLnp5KHNob3J0MyB2KSB7CisvLyAgICAg
c2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnp5
PShzaG9ydDMgdiwgc2hvcnQyIGMpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0ID0gdjsKKy8vICAg
ICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gc2hvcnQyIG9wZXJhdG9yLnp6KHNob3J0MyB2KSB7CisvLyAgICAg
c2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQyIG9wZXJhdG9yLnh4
KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gc2hvcnQyIG9wZXJhdG9yLnh5KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQyIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh5PShzaG9ydDQgdiwgc2hv
cnQyIGMpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMu
eDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gc2hvcnQyIG9wZXJhdG9yLnh6KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQyIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh6PShzaG9ydDQgdiwgc2hv
cnQyIGMpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMu
eDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gc2hvcnQyIG9wZXJhdG9yLnh3KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQyIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh3PShzaG9ydDQgdiwgc2hv
cnQyIGMpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMu
eDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gc2hvcnQyIG9wZXJhdG9yLnl4KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQyIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl4PShzaG9ydDQgdiwgc2hv
cnQyIGMpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMu
eDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gc2hvcnQyIG9wZXJhdG9yLnl5KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQyIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQyIG9wZXJhdG9yLnl6KHNob3J0NCB2KSB7Cisv
LyAgICAgc2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJh
dG9yLnl6PShzaG9ydDQgdiwgc2hvcnQyIGMpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0ID0gdjsK
Ky8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQyIG9wZXJhdG9yLnl3KHNob3J0NCB2KSB7Cisv
LyAgICAgc2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJh
dG9yLnl3PShzaG9ydDQgdiwgc2hvcnQyIGMpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0ID0gdjsK
Ky8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQyIG9wZXJhdG9yLnp4KHNob3J0NCB2KSB7Cisv
LyAgICAgc2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJh
dG9yLnp4PShzaG9ydDQgdiwgc2hvcnQyIGMpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0ID0gdjsK
Ky8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQyIG9wZXJhdG9yLnp5KHNob3J0NCB2KSB7Cisv
LyAgICAgc2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJh
dG9yLnp5PShzaG9ydDQgdiwgc2hvcnQyIGMpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0ID0gdjsK
Ky8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQyIG9wZXJhdG9yLnp6KHNob3J0NCB2KSB7Cisv
LyAgICAgc2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1
bHQueSA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQyIG9wZXJh
dG9yLnp3KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp3PShzaG9ydDQgdiwgc2hvcnQyIGMpIHsKKy8vICAg
ICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1
bHQudyA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQyIG9wZXJh
dG9yLnd4KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd4PShzaG9ydDQgdiwgc2hvcnQyIGMpIHsKKy8vICAg
ICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1
bHQueCA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQyIG9wZXJh
dG9yLnd5KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd5PShzaG9ydDQgdiwgc2hvcnQyIGMpIHsKKy8vICAg
ICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1
bHQueSA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQyIG9wZXJh
dG9yLnd6KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd6PShzaG9ydDQgdiwgc2hvcnQyIGMpIHsKKy8vICAg
ICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1
bHQueiA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQyIG9wZXJh
dG9yLnd3KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnh4eChzaG9ydDIgdikgeworLy8gICAgIHNob3J0MyBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNo
b3J0MyBvcGVyYXRvci54eHkoc2hvcnQyIHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3Vs
dC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDMgb3BlcmF0
b3IueHl4KHNob3J0MiB2KSB7CisvLyAgICAgc2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnh5eShzaG9y
dDIgdikgeworLy8gICAgIHNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci55eHgoc2hvcnQyIHYpIHsKKy8v
ICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBzaG9ydDMgb3BlcmF0b3IueXh5KHNob3J0MiB2KSB7CisvLyAgICAgc2hvcnQz
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
c2hvcnQzIG9wZXJhdG9yLnl5eChzaG9ydDIgdikgeworLy8gICAgIHNob3J0MyByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVy
YXRvci55eXkoc2hvcnQyIHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDMgb3BlcmF0b3IueHh4KHNo
b3J0MyB2KSB7CisvLyAgICAgc2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnh4eShzaG9ydDMgdikgewor
Ly8gICAgIHNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci54eHooc2hvcnQzIHYpIHsKKy8vICAgICBzaG9y
dDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBzaG9ydDMgb3BlcmF0b3IueHl4KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQzIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9w
ZXJhdG9yLnh5eShzaG9ydDMgdikgeworLy8gICAgIHNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci54eXoo
c2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDMgb3BlcmF0b3IueHl6PShzaG9ydDMgdiwg
c2hvcnQzIGMpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9
IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQueiA9IGMuejsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnh6eChzaG9ydDMg
dikgeworLy8gICAgIHNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci54enkoc2hvcnQzIHYpIHsKKy8vICAg
ICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBzaG9ydDMgb3BlcmF0b3IueHp5PShzaG9ydDMgdiwgc2hvcnQzIGMpIHsKKy8vICAg
ICBzaG9ydDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1
bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnh6eihzaG9ydDMgdikgeworLy8gICAgIHNob3J0
MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHNob3J0MyBvcGVyYXRvci55eHgoc2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDMgb3Bl
cmF0b3IueXh5KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnl4eihz
aG9ydDMgdikgeworLy8gICAgIHNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci55eHo9KHNob3J0MyB2LCBz
aG9ydDMgYykgeworLy8gICAgIHNob3J0MyByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0g
Yy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDMgb3BlcmF0b3IueXl4KHNob3J0MyB2
KSB7CisvLyAgICAgc2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnl5eShzaG9ydDMgdikgeworLy8gICAg
IHNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHNob3J0MyBvcGVyYXRvci55eXooc2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDMgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9y
dDMgb3BlcmF0b3IueXp4KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQzIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9y
Lnl6eD0oc2hvcnQzIHYsIHNob3J0MyBjKSB7CisvLyAgICAgc2hvcnQzIHJlc3VsdCA9IHY7Cisv
LyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmVz
dWx0LnggPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVy
YXRvci55enkoc2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDMgb3BlcmF0b3IueXp6KHNo
b3J0MyB2KSB7CisvLyAgICAgc2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnp4eChzaG9ydDMgdikgewor
Ly8gICAgIHNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci56eHkoc2hvcnQzIHYpIHsKKy8vICAgICBzaG9y
dDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBzaG9ydDMgb3BlcmF0b3Iuenh5PShzaG9ydDMgdiwgc2hvcnQzIGMpIHsKKy8vICAgICBzaG9y
dDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueCA9
IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gc2hvcnQzIG9wZXJhdG9yLnp4eihzaG9ydDMgdikgeworLy8gICAgIHNob3J0MyByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0
MyBvcGVyYXRvci56eXgoc2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDMgb3BlcmF0b3Iu
enl4PShzaG9ydDMgdiwgc2hvcnQzIGMpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0ID0gdjsKKy8v
ICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1
bHQueCA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJh
dG9yLnp5eShzaG9ydDMgdikgeworLy8gICAgIHNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci56eXooc2hv
cnQzIHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDMgb3BlcmF0b3Iuenp4KHNob3J0MyB2KSB7Cisv
LyAgICAgc2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1
bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnp6eShzaG9ydDMgdikgeworLy8gICAgIHNob3J0
MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHNob3J0MyBvcGVyYXRvci56enooc2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJl
c3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDMgb3Bl
cmF0b3IueHh4KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
eDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnh4eShz
aG9ydDQgdikgeworLy8gICAgIHNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci54eHooc2hvcnQ0IHYpIHsK
Ky8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJl
c3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBzaG9ydDMgb3BlcmF0b3IueHh3KHNob3J0NCB2KSB7CisvLyAgICAgc2hv
cnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gc2hvcnQzIG9wZXJhdG9yLnh5eChzaG9ydDQgdikgeworLy8gICAgIHNob3J0MyByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBv
cGVyYXRvci54eXkoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDMgb3BlcmF0b3IueHl6
KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh5ej0oc2hvcnQ0IHYs
IHNob3J0MyBjKSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0Lngg
PSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci54eXcoc2hvcnQ0
IHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHl3PShzaG9ydDQgdiwgc2hvcnQz
IGMpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsK
Ky8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnh6eChzaG9ydDQgdikgewor
Ly8gICAgIHNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci54enkoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9y
dDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBzaG9ydDQgb3BlcmF0b3IueHp5PShzaG9ydDQgdiwgc2hvcnQzIGMpIHsKKy8vICAgICBzaG9y
dDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueiA9
IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gc2hvcnQzIG9wZXJhdG9yLnh6eihzaG9ydDQgdikgeworLy8gICAgIHNob3J0MyByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0
MyBvcGVyYXRvci54encoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iu
eHp3PShzaG9ydDQgdiwgc2hvcnQzIGMpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8v
ICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1
bHQudyA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJh
dG9yLnh3eChzaG9ydDQgdikgeworLy8gICAgIHNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci54d3koc2hv
cnQ0IHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54Owor
Ly8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHd5PShzaG9ydDQgdiwgc2hv
cnQzIGMpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMu
eDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnh3eihzaG9ydDQgdikg
eworLy8gICAgIHNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54d3o9KHNob3J0NCB2LCBzaG9ydDMgYykg
eworLy8gICAgIHNob3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54OworLy8g
ICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDMgb3BlcmF0b3IueHd3KHNob3J0NCB2KSB7CisvLyAg
ICAgc2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQu
eSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnl4eChzaG9ydDQgdikgeworLy8gICAgIHNob3J0MyBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNo
b3J0MyBvcGVyYXRvci55eHkoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3Vs
dC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDMgb3BlcmF0
b3IueXh6KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl4ej0oc2hv
cnQ0IHYsIHNob3J0MyBjKSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVz
dWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBj
Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci55eHco
c2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55
OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXh3PShzaG9ydDQgdiwg
c2hvcnQzIGMpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9
IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMuejsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnl5eChzaG9ydDQg
dikgeworLy8gICAgIHNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci55eXkoc2hvcnQ0IHYpIHsKKy8vICAg
ICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBzaG9ydDMgb3BlcmF0b3IueXl6KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQzIHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hv
cnQzIG9wZXJhdG9yLnl5dyhzaG9ydDQgdikgeworLy8gICAgIHNob3J0MyByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRv
ci55engoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXp4PShzaG9y
dDQgdiwgc2hvcnQzIGMpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1
bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQueCA9IGMu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnl6eShz
aG9ydDQgdikgeworLy8gICAgIHNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci55enooc2hvcnQ0IHYpIHsK
Ky8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJl
c3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBzaG9ydDMgb3BlcmF0b3IueXp3KHNob3J0NCB2KSB7CisvLyAgICAgc2hv
cnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
ejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gc2hvcnQ0IG9wZXJhdG9yLnl6dz0oc2hvcnQ0IHYsIHNob3J0MyBjKSB7CisvLyAgICAgc2hv
cnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0Lnog
PSBjLnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHNob3J0MyBvcGVyYXRvci55d3goc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDMgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9y
dDQgb3BlcmF0b3IueXd4PShzaG9ydDQgdiwgc2hvcnQzIGMpIHsKKy8vICAgICBzaG9ydDQgcmVz
dWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsK
Ky8vICAgICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
c2hvcnQzIG9wZXJhdG9yLnl3eShzaG9ydDQgdikgeworLy8gICAgIHNob3J0MyByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVy
YXRvci55d3ooc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXd6PShz
aG9ydDQgdiwgc2hvcnQzIGMpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICBy
ZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueiA9
IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnl3
dyhzaG9ydDQgdikgeworLy8gICAgIHNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci56eHgoc2hvcnQ0IHYp
IHsKKy8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAg
IHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBzaG9ydDMgb3BlcmF0b3Iuenh5KHNob3J0NCB2KSB7CisvLyAgICAg
c2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp4eT0oc2hvcnQ0IHYsIHNob3J0MyBjKSB7CisvLyAgICAg
c2hvcnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0
LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci56eHooc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDMg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBz
aG9ydDMgb3BlcmF0b3Iuenh3KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQzIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJh
dG9yLnp4dz0oc2hvcnQ0IHYsIHNob3J0MyBjKSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdCA9IHY7
CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAg
cmVzdWx0LncgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBv
cGVyYXRvci56eXgoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0g
di54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iuenl4
PShzaG9ydDQgdiwgc2hvcnQzIGMpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAg
ICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQu
eCA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9y
Lnp5eShzaG9ydDQgdikgeworLy8gICAgIHNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci56eXooc2hvcnQ0
IHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDMgb3BlcmF0b3Iuenl3KHNob3J0NCB2KSB7CisvLyAg
ICAgc2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp5dz0oc2hvcnQ0IHYsIHNob3J0MyBjKSB7CisvLyAg
ICAgc2hvcnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVz
dWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci56engoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9y
dDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56
OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBzaG9ydDMgb3BlcmF0b3Iuenp5KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQzIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9w
ZXJhdG9yLnp6eihzaG9ydDQgdikgeworLy8gICAgIHNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2
Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci56enco
c2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56
OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDMgb3BlcmF0b3Iuend4KHNob3J0NCB2KSB7
CisvLyAgICAgc2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp3eD0oc2hvcnQ0IHYsIHNob3J0MyBjKSB7
CisvLyAgICAgc2hvcnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAg
ICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci56d3koc2hvcnQ0IHYpIHsKKy8vICAg
ICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55
ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iuend5PShzaG9ydDQgdiwgc2hvcnQzIGMpIHsKKy8vICAg
ICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1
bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnp3eihzaG9ydDQgdikgeworLy8gICAgIHNob3J0
MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHNob3J0MyBvcGVyYXRvci56d3coc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJl
c3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDMgb3Bl
cmF0b3Iud3h4KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
eDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnd4eShz
aG9ydDQgdikgeworLy8gICAgIHNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci53eHk9KHNob3J0NCB2LCBz
aG9ydDMgYykgeworLy8gICAgIHNob3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0g
Yy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC55ID0gYy56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDMgb3BlcmF0b3Iud3h6KHNob3J0NCB2
KSB7CisvLyAgICAgc2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAg
ICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd4ej0oc2hvcnQ0IHYsIHNob3J0MyBj
KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7Cisv
LyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci53eHcoc2hvcnQ0IHYpIHsKKy8v
ICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBzaG9ydDMgb3BlcmF0b3Iud3l4KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQz
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
c2hvcnQ0IG9wZXJhdG9yLnd5eD0oc2hvcnQ0IHYsIHNob3J0MyBjKSB7CisvLyAgICAgc2hvcnQ0
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBj
Lnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHNob3J0MyBvcGVyYXRvci53eXkoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAg
IHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDMg
b3BlcmF0b3Iud3l6KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQzIHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd5
ej0oc2hvcnQ0IHYsIHNob3J0MyBjKSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdCA9IHY7CisvLyAg
ICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0
LnogPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRv
ci53eXcoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDMgb3BlcmF0b3Iud3p4KHNob3J0
NCB2KSB7CisvLyAgICAgc2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8v
ICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd6eD0oc2hvcnQ0IHYsIHNob3J0
MyBjKSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7
CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci53enkoc2hvcnQ0IHYpIHsK
Ky8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJl
c3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iud3p5PShzaG9ydDQgdiwgc2hvcnQzIGMpIHsK
Ky8vICAgICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAg
ICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9yLnd6eihzaG9ydDQgdikgeworLy8gICAg
IHNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHNob3J0MyBvcGVyYXRvci53encoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDMgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9y
dDMgb3BlcmF0b3Iud3d4KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQzIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQu
eiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQzIG9wZXJhdG9y
Lnd3eShzaG9ydDQgdikgeworLy8gICAgIHNob3J0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0MyBvcGVyYXRvci53d3ooc2hvcnQ0
IHYpIHsKKy8vICAgICBzaG9ydDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8g
ICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDMgb3BlcmF0b3Iud3d3KHNob3J0NCB2KSB7CisvLyAg
ICAgc2hvcnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQu
eSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh4eHgoc2hvcnQyIHYpIHsKKy8vICAgICBzaG9ydDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHh4eShzaG9ydDIgdikgewor
Ly8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54eHl4
KHNob3J0MiB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAg
ICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0
IG9wZXJhdG9yLnh4eXkoc2hvcnQyIHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHl4eChzaG9ydDIgdikgeworLy8gICAgIHNob3J0NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54eXh5KHNob3J0MiB2KSB7Cisv
LyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh5eXgo
c2hvcnQyIHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQg
b3BlcmF0b3IueHl5eShzaG9ydDIgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHNob3J0NCBvcGVyYXRvci55eHh4KHNob3J0MiB2KSB7CisvLyAgICAgc2hvcnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl4eHkoc2hvcnQyIHYpIHsKKy8v
ICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXh5eChz
aG9ydDIgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBv
cGVyYXRvci55eHl5KHNob3J0MiB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl5eHgoc2hvcnQyIHYpIHsKKy8vICAgICBzaG9ydDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXl4eShzaG9ydDIgdikgeworLy8g
ICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci55eXl4KHNo
b3J0MiB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICBy
ZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9w
ZXJhdG9yLnl5eXkoc2hvcnQyIHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBzaG9ydDQgb3BlcmF0b3IueHh4eChzaG9ydDMgdikgeworLy8gICAgIHNob3J0NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54eHh5KHNob3J0MyB2KSB7CisvLyAg
ICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh4eHooc2hv
cnQzIHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJl
c3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3Bl
cmF0b3IueHh5eChzaG9ydDMgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHNob3J0NCBvcGVyYXRvci54eHl5KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh4eXooc2hvcnQzIHYpIHsKKy8vICAg
ICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHh6eChzaG9y
dDMgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVz
dWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVy
YXRvci54eHp5KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
ejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gc2hvcnQ0IG9wZXJhdG9yLnh4enooc2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHl4eChzaG9ydDMgdikgeworLy8gICAg
IHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54eXh5KHNob3J0
MyB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1
bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJh
dG9yLnh5eHooc2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBzaG9ydDQgb3BlcmF0b3IueHl5eChzaG9ydDMgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54eXl5KHNob3J0MyB2KSB7CisvLyAgICAg
c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh5eXooc2hvcnQz
IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3Vs
dC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0
b3IueHl6eChzaG9ydDMgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7
CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHNob3J0NCBvcGVyYXRvci54eXp5KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICBy
ZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh5enooc2hvcnQzIHYpIHsKKy8vICAgICBz
aG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0g
di55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHp4eChzaG9ydDMg
dikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0
LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRv
ci54enh5KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
c2hvcnQ0IG9wZXJhdG9yLnh6eHooc2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHp5eChzaG9ydDMgdikgeworLy8gICAgIHNo
b3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54enl5KHNob3J0MyB2
KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9y
Lnh6eXooc2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBz
aG9ydDQgb3BlcmF0b3IueHp6eChzaG9ydDMgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54enp5KHNob3J0MyB2KSB7CisvLyAgICAgc2hv
cnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
ejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh6enooc2hvcnQzIHYp
IHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iu
eXh4eChzaG9ydDMgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNo
b3J0NCBvcGVyYXRvci55eHh5KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl4eHooc2hvcnQzIHYpIHsKKy8vICAgICBzaG9y
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXh5eChzaG9ydDMgdikg
eworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci55
eHl5KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8v
ICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hv
cnQ0IG9wZXJhdG9yLnl4eXooc2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3Vs
dC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXh6eChzaG9ydDMgdikgeworLy8gICAgIHNob3J0
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci55eHp5KHNob3J0MyB2KSB7
CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl4
enooc2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9y
dDQgb3BlcmF0b3IueXl4eChzaG9ydDMgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci55eXh5KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl5eHooc2hvcnQzIHYpIHsK
Ky8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJl
c3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXl5
eChzaG9ydDMgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0
NCBvcGVyYXRvci55eXl5KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQu
eiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl5eXooc2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXl6eChzaG9ydDMgdikgewor
Ly8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci55eXp5
KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAg
ICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0
IG9wZXJhdG9yLnl5enooc2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXp4eChzaG9ydDMgdikgeworLy8gICAgIHNob3J0NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci55enh5KHNob3J0MyB2KSB7Cisv
LyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl6eHoo
c2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55
OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQg
b3BlcmF0b3IueXp5eChzaG9ydDMgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHNob3J0NCBvcGVyYXRvci55enl5KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl6eXooc2hvcnQzIHYpIHsKKy8v
ICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXp6eChz
aG9ydDMgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAg
cmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBv
cGVyYXRvci55enp5KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9
IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl6enooc2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iuenh4eChzaG9ydDMgdikgeworLy8g
ICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci56eHh5KHNo
b3J0MyB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9w
ZXJhdG9yLnp4eHooc2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0g
di54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBzaG9ydDQgb3BlcmF0b3Iuenh5eChzaG9ydDMgdikgeworLy8gICAgIHNob3J0NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci56eHl5KHNob3J0MyB2KSB7CisvLyAg
ICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp4eXooc2hv
cnQzIHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
c3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3Bl
cmF0b3Iuenh6eChzaG9ydDMgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHNob3J0NCBvcGVyYXRvci56eHp5KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAg
ICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp4enooc2hvcnQzIHYpIHsKKy8vICAg
ICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55
ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iuenl4eChzaG9y
dDMgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVz
dWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVy
YXRvci56eXh5KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYu
eDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gc2hvcnQ0IG9wZXJhdG9yLnp5eHooc2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iuenl5eChzaG9ydDMgdikgeworLy8gICAg
IHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci56eXl5KHNob3J0
MyB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1
bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJh
dG9yLnp5eXooc2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55
OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBzaG9ydDQgb3BlcmF0b3Iuenl6eChzaG9ydDMgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci56eXp5KHNob3J0MyB2KSB7CisvLyAgICAg
c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp5enooc2hvcnQz
IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3Vs
dC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0
b3Iuenp4eChzaG9ydDMgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7
CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHNob3J0NCBvcGVyYXRvci56enh5KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp6eHooc2hvcnQzIHYpIHsKKy8vICAgICBz
aG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iuenp5eChzaG9ydDMg
dikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0
LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRv
ci56enl5KHNob3J0MyB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsK
Ky8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
c2hvcnQ0IG9wZXJhdG9yLnp6eXooc2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iuenp6eChzaG9ydDMgdikgeworLy8gICAgIHNo
b3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci56enp5KHNob3J0MyB2
KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9y
Lnp6enooc2hvcnQzIHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56Owor
Ly8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBz
aG9ydDQgb3BlcmF0b3IueHh4eChzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54eHh5KHNob3J0NCB2KSB7CisvLyAgICAgc2hv
cnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh4eHooc2hvcnQ0IHYp
IHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iu
eHh4dyhzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNo
b3J0NCBvcGVyYXRvci54eHl4KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh4eXkoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9y
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHh5eihzaG9ydDQgdikg
eworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54
eHl3KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8v
ICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hv
cnQ0IG9wZXJhdG9yLnh4engoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHh6eShzaG9ydDQgdikgeworLy8gICAgIHNob3J0
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54eHp6KHNob3J0NCB2KSB7
CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICBy
ZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh4
encoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9y
dDQgb3BlcmF0b3IueHh3eChzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54eHd5KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh4d3ooc2hvcnQ0IHYpIHsK
Ky8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJl
c3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHh3
dyhzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0
NCBvcGVyYXRvci54eXh4KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQu
eiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh5eHkoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHl4eihzaG9ydDQgdikgewor
Ly8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2
Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54eXh3
KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAg
ICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0
IG9wZXJhdG9yLnh5eXgoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHl5eShzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54eXl6KHNob3J0NCB2KSB7Cisv
LyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh5eXco
c2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQg
b3BlcmF0b3IueHl6eChzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHNob3J0NCBvcGVyYXRvci54eXp5KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh5enooc2hvcnQ0IHYpIHsKKy8v
ICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHl6dyhz
aG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBv
cGVyYXRvci54eXp3PShzaG9ydDQgdiwgc2hvcnQ0IGMpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0
ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8v
ICAgICByZXN1bHQueiA9IGMuejsKKy8vICAgICByZXN1bHQudyA9IGMudzsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh5d3goc2hvcnQ0IHYpIHsKKy8v
ICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHl3eShz
aG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBv
cGVyYXRvci54eXd6KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh5d3o9KHNob3J0NCB2LCBzaG9ydDQgYykgeworLy8gICAg
IHNob3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54OworLy8gICAgIHJlc3Vs
dC55ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJlc3VsdC56ID0gYy53
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHl3dyhz
aG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBv
cGVyYXRvci54enh4KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9
IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh6eHkoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHp4eihzaG9ydDQgdikgeworLy8g
ICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54enh3KHNo
b3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsK
Ky8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9w
ZXJhdG9yLnh6eXgoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBzaG9ydDQgb3BlcmF0b3IueHp5eShzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54enl6KHNob3J0NCB2KSB7CisvLyAg
ICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQu
eSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh6eXcoc2hv
cnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54Owor
Ly8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
c3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3Bl
cmF0b3IueHp5dz0oc2hvcnQ0IHYsIHNob3J0NCBjKSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdCA9
IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAg
ICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmVzdWx0LncgPSBjLnc7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54enp4KHNob3J0NCB2KSB7CisvLyAg
ICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQu
eSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh6enkoc2hv
cnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54Owor
Ly8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJl
c3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3Bl
cmF0b3IueHp6eihzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2
Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHNob3J0NCBvcGVyYXRvci54enp3KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh6d3goc2hvcnQ0IHYpIHsKKy8vICAg
ICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHp3eShzaG9y
dDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVy
YXRvci54end5PShzaG9ydDQgdiwgc2hvcnQ0IGMpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0ID0g
djsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAg
ICByZXN1bHQudyA9IGMuejsKKy8vICAgICByZXN1bHQueSA9IGMudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh6d3ooc2hvcnQ0IHYpIHsKKy8vICAg
ICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHp3dyhzaG9y
dDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVy
YXRvci54d3h4KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYu
eDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gc2hvcnQ0IG9wZXJhdG9yLnh3eHkoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHd4eihzaG9ydDQgdikgeworLy8gICAg
IHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54d3h3KHNob3J0
NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1
bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJh
dG9yLnh3eXgoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55
OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBzaG9ydDQgb3BlcmF0b3IueHd5eShzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54d3l6KHNob3J0NCB2KSB7CisvLyAgICAg
c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh3eXo9KHNob3J0
NCB2LCBzaG9ydDQgYykgeworLy8gICAgIHNob3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3Vs
dC54ID0gYy54OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC55ID0gYy56
OworLy8gICAgIHJlc3VsdC56ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBzaG9ydDQgb3BlcmF0b3IueHd5dyhzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54d3p4KHNob3J0NCB2KSB7CisvLyAgICAg
c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh3enkoc2hvcnQ0
IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8g
ICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3Vs
dC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0
b3IueHd6eT0oc2hvcnQ0IHYsIHNob3J0NCBjKSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdCA9IHY7
CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAg
cmVzdWx0LnogPSBjLno7CisvLyAgICAgcmVzdWx0LnkgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci54d3p6KHNob3J0NCB2KSB7CisvLyAgICAg
c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh3encoc2hvcnQ0
IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8g
ICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3Vs
dC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0
b3IueHd3eChzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7
CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHNob3J0NCBvcGVyYXRvci54d3d5KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICBy
ZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnh3d3ooc2hvcnQ0IHYpIHsKKy8vICAgICBz
aG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0g
di53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueHd3dyhzaG9ydDQg
dikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0
LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRv
ci55eHh4KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
c2hvcnQ0IG9wZXJhdG9yLnl4eHkoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXh4eihzaG9ydDQgdikgeworLy8gICAgIHNo
b3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci55eHh3KHNob3J0NCB2
KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAg
ICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQu
dyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9y
Lnl4eXgoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBz
aG9ydDQgb3BlcmF0b3IueXh5eShzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci55eHl6KHNob3J0NCB2KSB7CisvLyAgICAgc2hv
cnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl4eXcoc2hvcnQ0IHYp
IHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53
ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iu
eXh6eChzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNo
b3J0NCBvcGVyYXRvci55eHp5KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl4enooc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9y
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXh6dyhzaG9ydDQgdikg
eworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci55
eHp3PShzaG9ydDQgdiwgc2hvcnQ0IGMpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8v
ICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXN1
bHQueiA9IGMuejsKKy8vICAgICByZXN1bHQudyA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl4d3goc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9y
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXh3eShzaG9ydDQgdikg
eworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci55
eHd6KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8v
ICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hv
cnQ0IG9wZXJhdG9yLnl4d3o9KHNob3J0NCB2LCBzaG9ydDQgYykgeworLy8gICAgIHNob3J0NCBy
ZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55
OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJlc3VsdC56ID0gYy53OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXh3dyhzaG9ydDQgdikg
eworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci55
eXh4KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8v
ICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hv
cnQ0IG9wZXJhdG9yLnl5eHkoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXl4eihzaG9ydDQgdikgeworLy8gICAgIHNob3J0
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci55eXh3KHNob3J0NCB2KSB7
CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9
IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl5
eXgoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9y
dDQgb3BlcmF0b3IueXl5eShzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci55eXl6KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl5eXcoc2hvcnQ0IHYpIHsK
Ky8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJl
c3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0g
di53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXl6
eChzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0
NCBvcGVyYXRvci55eXp5KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQu
eiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl5enooc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXl6dyhzaG9ydDQgdikgewor
Ly8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci55eXd4
KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAg
ICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0
IG9wZXJhdG9yLnl5d3koc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXl3eihzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci55eXd3KHNob3J0NCB2KSB7Cisv
LyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYu
dzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl6eHgo
c2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55
OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQg
b3BlcmF0b3IueXp4eShzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHNob3J0NCBvcGVyYXRvci55enh6KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl6eHcoc2hvcnQ0IHYpIHsKKy8v
ICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi53
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXp4dz0o
c2hvcnQ0IHYsIHNob3J0NCBjKSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdCA9IHY7CisvLyAgICAg
cmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmVzdWx0Lngg
PSBjLno7CisvLyAgICAgcmVzdWx0LncgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHNob3J0NCBvcGVyYXRvci55enl4KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl6eXkoc2hvcnQ0IHYpIHsKKy8v
ICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXp5eihz
aG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBv
cGVyYXRvci55enl3KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl6engoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXp6eShzaG9ydDQgdikgeworLy8g
ICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci55enp6KHNo
b3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9w
ZXJhdG9yLnl6encoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBzaG9ydDQgb3BlcmF0b3IueXp3eChzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci55end4PShzaG9ydDQgdiwgc2hvcnQ0
IGMpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsK
Ky8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMuejsKKy8vICAgICBy
ZXN1bHQueCA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9w
ZXJhdG9yLnl6d3koc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0g
di53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBzaG9ydDQgb3BlcmF0b3IueXp3eihzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci55end3KHNob3J0NCB2KSB7CisvLyAg
ICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQu
eSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYudzsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl3eHgoc2hv
cnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJl
c3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3Bl
cmF0b3IueXd4eShzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2
Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHNob3J0NCBvcGVyYXRvci55d3h6KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl3eHo9KHNob3J0NCB2LCBzaG9ydDQg
YykgeworLy8gICAgIHNob3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54Owor
Ly8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJl
c3VsdC56ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3Bl
cmF0b3IueXd4dyhzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2
Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHNob3J0NCBvcGVyYXRvci55d3l4KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnl3eXkoc2hvcnQ0IHYpIHsKKy8vICAg
ICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55
ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXd5eihzaG9y
dDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVz
dWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVy
YXRvci55d3l3KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gc2hvcnQ0IG9wZXJhdG9yLnl3engoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXd6eD0oc2hvcnQ0IHYsIHNob3J0NCBj
KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7Cisv
LyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmVz
dWx0LnggPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVy
YXRvci55d3p5KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYu
ejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gc2hvcnQ0IG9wZXJhdG9yLnl3enooc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3IueXd6dyhzaG9ydDQgdikgeworLy8gICAg
IHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci55d3d4KHNob3J0
NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1
bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJh
dG9yLnl3d3koc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53
OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBzaG9ydDQgb3BlcmF0b3IueXd3eihzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci55d3d3KHNob3J0NCB2KSB7CisvLyAgICAg
c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp4eHgoc2hvcnQ0
IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8g
ICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3Vs
dC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0
b3Iuenh4eShzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHNob3J0NCBvcGVyYXRvci56eHh6KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp4eHcoc2hvcnQ0IHYpIHsKKy8vICAgICBz
aG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0g
di54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iuenh5eChzaG9ydDQg
dikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0
LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRv
ci56eHl5KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsK
Ky8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
c2hvcnQ0IG9wZXJhdG9yLnp4eXooc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iuenh5dyhzaG9ydDQgdikgeworLy8gICAgIHNo
b3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci56eHl3PShzaG9ydDQg
diwgc2hvcnQ0IGMpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQu
eiA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsK
Ky8vICAgICByZXN1bHQudyA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
c2hvcnQ0IG9wZXJhdG9yLnp4engoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iuenh6eShzaG9ydDQgdikgeworLy8gICAgIHNo
b3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci56eHp6KHNob3J0NCB2
KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAg
ICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQu
dyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9y
Lnp4encoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56Owor
Ly8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBz
aG9ydDQgb3BlcmF0b3Iuenh3eChzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci56eHd5KHNob3J0NCB2KSB7CisvLyAgICAgc2hv
cnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp4d3k9KHNob3J0NCB2
LCBzaG9ydDQgYykgeworLy8gICAgIHNob3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56
ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56Owor
Ly8gICAgIHJlc3VsdC55ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBz
aG9ydDQgb3BlcmF0b3Iuenh3eihzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci56eHd3KHNob3J0NCB2KSB7CisvLyAgICAgc2hv
cnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp5eHgoc2hvcnQ0IHYp
IHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAg
IHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53
ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iu
enl4eShzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNo
b3J0NCBvcGVyYXRvci56eXh6KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp5eHcoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9y
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55
OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iuenl4dz0oc2hvcnQ0IHYs
IHNob3J0NCBjKSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0Lnog
PSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7Cisv
LyAgICAgcmVzdWx0LncgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNo
b3J0NCBvcGVyYXRvci56eXl4KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp5eXkoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9y
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iuenl5eihzaG9ydDQgdikg
eworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci56
eXl3KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8v
ICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hv
cnQ0IG9wZXJhdG9yLnp5engoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iuenl6eShzaG9ydDQgdikgeworLy8gICAgIHNob3J0
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci56eXp6KHNob3J0NCB2KSB7
CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp5
encoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9y
dDQgb3BlcmF0b3Iuenl3eChzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci56eXd4PShzaG9ydDQgdiwgc2hvcnQ0IGMpIHsKKy8v
ICAgICBzaG9ydDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICBy
ZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMuejsKKy8vICAgICByZXN1bHQueCA9
IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp5
d3koc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8g
ICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9y
dDQgb3BlcmF0b3Iuenl3eihzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci56eXd3KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp6eHgoc2hvcnQ0IHYpIHsK
Ky8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJl
c3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0g
di54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iuenp4
eShzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0
NCBvcGVyYXRvci56enh6KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp6eHcoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iuenp5eChzaG9ydDQgdikgewor
Ly8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci56enl5
KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
ejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAg
ICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0
IG9wZXJhdG9yLnp6eXooc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iuenp5dyhzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci56enp4KHNob3J0NCB2KSB7Cisv
LyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1
bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYu
eDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp6enko
c2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56
OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAg
IHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQg
b3BlcmF0b3Iuenp6eihzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHNob3J0NCBvcGVyYXRvci56enp3KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp6d3goc2hvcnQ0IHYpIHsKKy8v
ICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iuenp3eShz
aG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBv
cGVyYXRvci56end6KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9
IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp6d3coc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iuend4eChzaG9ydDQgdikgeworLy8g
ICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci56d3h5KHNo
b3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9w
ZXJhdG9yLnp3eHk9KHNob3J0NCB2LCBzaG9ydDQgYykgeworLy8gICAgIHNob3J0NCByZXN1bHQg
PSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8g
ICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJlc3VsdC55ID0gYy53OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iuend4eihzaG9ydDQgdikgeworLy8g
ICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci56d3h3KHNo
b3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9w
ZXJhdG9yLnp3eXgoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBzaG9ydDQgb3BlcmF0b3Iuend5eD0oc2hvcnQ0IHYsIHNob3J0NCBjKSB7CisvLyAgICAg
c2hvcnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0
LncgPSBjLnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmVzdWx0LnggPSBjLnc7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci56d3l5KHNo
b3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9w
ZXJhdG9yLnp3eXooc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBzaG9ydDQgb3BlcmF0b3Iuend5dyhzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci56d3p4KHNob3J0NCB2KSB7CisvLyAg
ICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQu
eSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp3enkoc2hv
cnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJl
c3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3Bl
cmF0b3Iuend6eihzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2
Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIHNob3J0NCBvcGVyYXRvci56d3p3KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAg
ICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnp3d3goc2hvcnQ0IHYpIHsKKy8vICAg
ICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55
ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iuend3eShzaG9y
dDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVy
YXRvci56d3d6KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYu
dzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gc2hvcnQ0IG9wZXJhdG9yLnp3d3coc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAg
IHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iud3h4eChzaG9ydDQgdikgeworLy8gICAg
IHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci53eHh5KHNob3J0
NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1
bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJh
dG9yLnd4eHooc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBzaG9ydDQgb3BlcmF0b3Iud3h4dyhzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci53eHl4KHNob3J0NCB2KSB7CisvLyAgICAg
c2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9
IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd4eXkoc2hvcnQ0
IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8g
ICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3Vs
dC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0
b3Iud3h5eihzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHNob3J0NCBvcGVyYXRvci53eHl6PShzaG9ydDQgdiwgc2hvcnQ0IGMpIHsKKy8vICAgICBzaG9y
dDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueCA9
IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXN1bHQueiA9IGMudzsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd4eXcoc2hvcnQ0
IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8g
ICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3Vs
dC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0
b3Iud3h6eChzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7
CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHNob3J0NCBvcGVyYXRvci53eHp5KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd4enk9KHNob3J0NCB2LCBzaG9ydDQgYykg
eworLy8gICAgIHNob3J0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54OworLy8g
ICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJlc3Vs
dC55ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0
b3Iud3h6eihzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7
CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IHNob3J0NCBvcGVyYXRvci53eHp3KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd4d3goc2hvcnQ0IHYpIHsKKy8vICAgICBz
aG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0g
di54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iud3h3eShzaG9ydDQg
dikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0
LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRv
ci53eHd6KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsK
Ky8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
c2hvcnQ0IG9wZXJhdG9yLnd4d3coc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iud3l4eChzaG9ydDQgdikgeworLy8gICAgIHNo
b3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci53eXh5KHNob3J0NCB2
KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9y
Lnd5eHooc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBz
aG9ydDQgb3BlcmF0b3Iud3l4ej0oc2hvcnQ0IHYsIHNob3J0NCBjKSB7CisvLyAgICAgc2hvcnQ0
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBj
Lnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmVzdWx0LnogPSBjLnc7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci53eXh3KHNob3J0NCB2
KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQu
dyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9y
Lnd5eXgoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBz
aG9ydDQgb3BlcmF0b3Iud3l5eShzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci53eXl6KHNob3J0NCB2KSB7CisvLyAgICAgc2hv
cnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYu
eTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd5eXcoc2hvcnQ0IHYp
IHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAg
IHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53
ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iu
d3l6eChzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNo
b3J0NCBvcGVyYXRvci53eXp4PShzaG9ydDQgdiwgc2hvcnQ0IGMpIHsKKy8vICAgICBzaG9ydDQg
cmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMu
eTsKKy8vICAgICByZXN1bHQueiA9IGMuejsKKy8vICAgICByZXN1bHQueCA9IGMudzsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd5enkoc2hvcnQ0IHYp
IHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAg
IHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iu
d3l6eihzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNo
b3J0NCBvcGVyYXRvci53eXp3KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd5d3goc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9y
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55
OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iud3l3eShzaG9ydDQgdikg
eworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci53
eXd6KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8v
ICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hv
cnQ0IG9wZXJhdG9yLnd5d3coc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3Vs
dC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iud3p4eChzaG9ydDQgdikgeworLy8gICAgIHNob3J0
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci53enh5KHNob3J0NCB2KSB7
CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICBy
ZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd6
eHk9KHNob3J0NCB2LCBzaG9ydDQgYykgeworLy8gICAgIHNob3J0NCByZXN1bHQgPSB2OworLy8g
ICAgIHJlc3VsdC53ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3Vs
dC54ID0gYy56OworLy8gICAgIHJlc3VsdC55ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iud3p4eihzaG9ydDQgdikgeworLy8gICAgIHNob3J0
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci53enh3KHNob3J0NCB2KSB7
CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICBy
ZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9
IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd6
eXgoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9y
dDQgb3BlcmF0b3Iud3p5eD0oc2hvcnQ0IHYsIHNob3J0NCBjKSB7CisvLyAgICAgc2hvcnQ0IHJl
c3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7
CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmVzdWx0LnggPSBjLnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci53enl5KHNob3J0NCB2KSB7
CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICBy
ZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd6
eXooc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9y
dDQgb3BlcmF0b3Iud3p5dyhzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci53enp4KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsK
Ky8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd6enkoc2hvcnQ0IHYpIHsK
Ky8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJl
c3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0g
di55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iud3p6
eihzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0
NCBvcGVyYXRvci53enp3KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd6d3goc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56Owor
Ly8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iud3p3eShzaG9ydDQgdikgewor
Ly8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci53end6
KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
dzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAg
ICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0
IG9wZXJhdG9yLnd6d3coc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iud3d4eChzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci53d3h5KHNob3J0NCB2KSB7Cisv
LyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1
bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd3eHoo
c2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53
OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQg
b3BlcmF0b3Iud3d4dyhzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIHNob3J0NCBvcGVyYXRvci53d3l4KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd3eXkoc2hvcnQ0IHYpIHsKKy8v
ICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3Vs
dC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iud3d5eihz
aG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBv
cGVyYXRvci53d3l3KHNob3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd3engoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8g
ICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3BlcmF0b3Iud3d6eShzaG9ydDQgdikgeworLy8g
ICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci53d3p6KHNo
b3J0NCB2KSB7CisvLyAgICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsK
Ky8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9w
ZXJhdG9yLnd3encoc2hvcnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBzaG9ydDQgb3BlcmF0b3Iud3d3eChzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIHNob3J0NCBvcGVyYXRvci53d3d5KHNob3J0NCB2KSB7CisvLyAg
ICAgc2hvcnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQu
eSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gc2hvcnQ0IG9wZXJhdG9yLnd3d3ooc2hv
cnQ0IHYpIHsKKy8vICAgICBzaG9ydDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53Owor
Ly8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJl
c3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBzaG9ydDQgb3Bl
cmF0b3Iud3d3dyhzaG9ydDQgdikgeworLy8gICAgIHNob3J0NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGludDIgb3BlcmF0b3IueHgoaW50MiB2KSB7CisvLyAgICAgaW50MiByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGludDIgb3BlcmF0b3IueHkoaW50MiB2KSB7CisvLyAgICAgaW50
MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDIgb3BlcmF0b3IueHk9KGludDIg
diwgaW50MiBjKSB7CisvLyAgICAgaW50MiByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0g
Yy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBpbnQyIG9wZXJhdG9yLnl4KGludDIgdikgeworLy8gICAgIGludDIgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBpbnQyIG9wZXJhdG9yLnl4PShpbnQyIHYsIGludDIgYykgewor
Ly8gICAgIGludDIgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICBy
ZXN1bHQueCA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MiBvcGVy
YXRvci55eShpbnQyIHYpIHsKKy8vICAgICBpbnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gaW50MiBvcGVyYXRvci54eChpbnQzIHYpIHsKKy8vICAgICBpbnQyIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gaW50MiBvcGVyYXRvci54eShpbnQzIHYpIHsKKy8vICAgICBp
bnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci54eT0oaW50
MyB2LCBpbnQyIGMpIHsKKy8vICAgICBpbnQzIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0Lngg
PSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGludDIgb3BlcmF0b3IueHooaW50MyB2KSB7CisvLyAgICAgaW50MiByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDMgb3BlcmF0b3IueHo9KGludDMgdiwgaW50MiBjKSB7
CisvLyAgICAgaW50MyByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54OworLy8gICAg
IHJlc3VsdC56ID0gYy55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQyIG9w
ZXJhdG9yLnl4KGludDMgdikgeworLy8gICAgIGludDIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBpbnQzIG9wZXJhdG9yLnl4PShpbnQzIHYsIGludDIgYykgeworLy8gICAgIGludDMg
cmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MiBvcGVyYXRvci55eShpbnQz
IHYpIHsKKy8vICAgICBpbnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MiBv
cGVyYXRvci55eihpbnQzIHYpIHsKKy8vICAgICBpbnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gaW50MyBvcGVyYXRvci55ej0oaW50MyB2LCBpbnQyIGMpIHsKKy8vICAgICBpbnQz
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBj
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDIgb3BlcmF0b3IuengoaW50
MyB2KSB7CisvLyAgICAgaW50MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDMg
b3BlcmF0b3Iueng9KGludDMgdiwgaW50MiBjKSB7CisvLyAgICAgaW50MyByZXN1bHQgPSB2Owor
Ly8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQyIG9wZXJhdG9yLnp5KGludDMgdikgeworLy8gICAg
IGludDIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0g
di55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnp5PShp
bnQzIHYsIGludDIgYykgeworLy8gICAgIGludDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQu
eiA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gaW50MiBvcGVyYXRvci56eihpbnQzIHYpIHsKKy8vICAgICBpbnQyIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MiBvcGVyYXRvci54eChpbnQ0IHYpIHsKKy8vICAg
ICBpbnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MiBvcGVyYXRvci54eShp
bnQ0IHYpIHsKKy8vICAgICBpbnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50
NCBvcGVyYXRvci54eT0oaW50NCB2LCBpbnQyIGMpIHsKKy8vICAgICBpbnQ0IHJlc3VsdCA9IHY7
CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDIgb3BlcmF0b3IueHooaW50NCB2KSB7CisvLyAg
ICAgaW50MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHo9
KGludDQgdiwgaW50MiBjKSB7CisvLyAgICAgaW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3Vs
dC54ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBpbnQyIG9wZXJhdG9yLnh3KGludDQgdikgeworLy8gICAgIGludDIgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh3PShpbnQ0IHYsIGludDIg
YykgeworLy8gICAgIGludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8v
ICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50
MiBvcGVyYXRvci55eChpbnQ0IHYpIHsKKy8vICAgICBpbnQyIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55eD0oaW50NCB2LCBpbnQyIGMpIHsKKy8vICAgICBp
bnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0Lngg
PSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDIgb3BlcmF0b3IueXko
aW50NCB2KSB7CisvLyAgICAgaW50MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGlu
dDIgb3BlcmF0b3IueXooaW50NCB2KSB7CisvLyAgICAgaW50MiByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXo9KGludDQgdiwgaW50MiBjKSB7CisvLyAgICAg
aW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC56
ID0gYy55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQyIG9wZXJhdG9yLnl3
KGludDQgdikgeworLy8gICAgIGludDIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBp
bnQ0IG9wZXJhdG9yLnl3PShpbnQ0IHYsIGludDIgYykgeworLy8gICAgIGludDQgcmVzdWx0ID0g
djsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MiBvcGVyYXRvci56eChpbnQ0IHYpIHsKKy8v
ICAgICBpbnQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci56
eD0oaW50NCB2LCBpbnQyIGMpIHsKKy8vICAgICBpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVz
dWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGludDIgb3BlcmF0b3IuenkoaW50NCB2KSB7CisvLyAgICAgaW50MiByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuenk9KGludDQgdiwgaW50
MiBjKSB7CisvLyAgICAgaW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54Owor
Ly8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBp
bnQyIG9wZXJhdG9yLnp6KGludDQgdikgeworLy8gICAgIGludDIgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBpbnQyIG9wZXJhdG9yLnp3KGludDQgdikgeworLy8gICAgIGludDIgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnp3PShpbnQ0IHYsIGlu
dDIgYykgeworLy8gICAgIGludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsK
Ky8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
aW50MiBvcGVyYXRvci53eChpbnQ0IHYpIHsKKy8vICAgICBpbnQyIHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci53eD0oaW50NCB2LCBpbnQyIGMpIHsKKy8vICAg
ICBpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0
LnggPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDIgb3BlcmF0b3Iu
d3koaW50NCB2KSB7CisvLyAgICAgaW50MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGludDQgb3BlcmF0b3Iud3k9KGludDQgdiwgaW50MiBjKSB7CisvLyAgICAgaW50NCByZXN1bHQg
PSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQyIG9wZXJhdG9yLnd6KGludDQgdikgewor
Ly8gICAgIGludDIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9y
Lnd6PShpbnQ0IHYsIGludDIgYykgeworLy8gICAgIGludDQgcmVzdWx0ID0gdjsKKy8vICAgICBy
ZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gaW50MiBvcGVyYXRvci53dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQyIHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci54eHgoaW50MiB2KSB7
CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGludDMgb3BlcmF0b3IueHh5KGludDIgdikgeworLy8gICAgIGludDMgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8g
ICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQz
IG9wZXJhdG9yLnh5eChpbnQyIHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYu
eDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci54eXkoaW50
MiB2KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGludDMgb3BlcmF0b3IueXh4KGludDIgdikgeworLy8gICAgIGlu
dDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBpbnQzIG9wZXJhdG9yLnl4eShpbnQyIHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQu
eiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci55
eXgoaW50MiB2KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDMgb3BlcmF0b3IueXl5KGludDIgdikgeworLy8g
ICAgIGludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBpbnQzIG9wZXJhdG9yLnh4eChpbnQzIHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVy
YXRvci54eHkoaW50MyB2KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDMgb3BlcmF0b3IueHh6KGludDMgdikg
eworLy8gICAgIGludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJl
c3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnh5eChpbnQzIHYpIHsKKy8vICAgICBpbnQzIHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50
MyBvcGVyYXRvci54eXkoaW50MyB2KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDMgb3BlcmF0b3IueHl6KGlu
dDMgdikgeworLy8gICAgIGludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnh5ej0oaW50MyB2LCBpbnQzIGMpIHsK
Ky8vICAgICBpbnQzIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAg
cmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGludDMgb3BlcmF0b3IueHp4KGludDMgdikgeworLy8gICAgIGludDMg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBp
bnQzIG9wZXJhdG9yLnh6eShpbnQzIHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci54enk9
KGludDMgdiwgaW50MyBjKSB7CisvLyAgICAgaW50MyByZXN1bHQgPSB2OworLy8gICAgIHJlc3Vs
dC54ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC55ID0gYy56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnh6eihpbnQz
IHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci55eHgoaW50MyB2KSB7CisvLyAgICAgaW50
MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGludDMgb3BlcmF0b3IueXh5KGludDMgdikgeworLy8gICAgIGludDMgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnl4
eihpbnQzIHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci55eHo9KGludDMgdiwgaW50MyBj
KSB7CisvLyAgICAgaW50MyByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8g
ICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnl5eChpbnQzIHYpIHsKKy8vICAgICBp
bnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
eTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaW50MyBvcGVyYXRvci55eXkoaW50MyB2KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDMgb3BlcmF0b3Iu
eXl6KGludDMgdikgeworLy8gICAgIGludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnl6eChpbnQzIHYpIHsKKy8v
ICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQu
eSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gaW50MyBvcGVyYXRvci55eng9KGludDMgdiwgaW50MyBjKSB7CisvLyAgICAgaW50
MyByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0g
Yy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBpbnQzIG9wZXJhdG9yLnl6eShpbnQzIHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRv
ci55enooaW50MyB2KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDMgb3BlcmF0b3Iuenh4KGludDMgdikgewor
Ly8gICAgIGludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnp4eShpbnQzIHYpIHsKKy8vICAgICBpbnQzIHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBv
cGVyYXRvci56eHk9KGludDMgdiwgaW50MyBjKSB7CisvLyAgICAgaW50MyByZXN1bHQgPSB2Owor
Ly8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJl
c3VsdC55ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJh
dG9yLnp4eihpbnQzIHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci56eXgoaW50MyB2KSB7
CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGludDMgb3BlcmF0b3Iuenl4PShpbnQzIHYsIGludDMgYykgeworLy8gICAg
IGludDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQu
eSA9IGMueTsKKy8vICAgICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gaW50MyBvcGVyYXRvci56eXkoaW50MyB2KSB7CisvLyAgICAgaW50MyByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDMgb3Bl
cmF0b3Iuenl6KGludDMgdikgeworLy8gICAgIGludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnp6eChpbnQzIHYp
IHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci56enkoaW50MyB2KSB7CisvLyAgICAgaW50MyBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGlu
dDMgb3BlcmF0b3Iuenp6KGludDMgdikgeworLy8gICAgIGludDMgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnh4eChp
bnQ0IHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci54eHkoaW50NCB2KSB7CisvLyAgICAg
aW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGludDMgb3BlcmF0b3IueHh6KGludDQgdikgeworLy8gICAgIGludDMgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9y
Lnh4dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci54eXgoaW50NCB2KSB7Cisv
LyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGludDMgb3BlcmF0b3IueHl5KGludDQgdikgeworLy8gICAgIGludDMgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAg
IHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9w
ZXJhdG9yLnh5eihpbnQ0IHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54eXo9KGludDQg
diwgaW50MyBjKSB7CisvLyAgICAgaW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0g
Yy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnh5dyhpbnQ0IHYpIHsK
Ky8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54eXc9KGludDQgdiwgaW50MyBjKSB7CisvLyAgICAg
aW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54OworLy8gICAgIHJlc3VsdC55
ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBpbnQzIG9wZXJhdG9yLnh6eChpbnQ0IHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVy
YXRvci54enkoaW50NCB2KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHp5PShpbnQ0IHYs
IGludDMgYykgeworLy8gICAgIGludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMu
eDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci54enooaW50NCB2KSB7Cisv
LyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGludDMgb3BlcmF0b3IueHp3KGludDQgdikgeworLy8gICAgIGludDMgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAg
IHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9w
ZXJhdG9yLnh6dz0oaW50NCB2LCBpbnQzIGMpIHsKKy8vICAgICBpbnQ0IHJlc3VsdCA9IHY7Cisv
LyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmVz
dWx0LncgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDMgb3BlcmF0
b3IueHd4KGludDQgdikgeworLy8gICAgIGludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnh3eShpbnQ0IHYpIHsK
Ky8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1
bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54d3k9KGludDQgdiwgaW50MyBjKSB7CisvLyAgICAg
aW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54OworLy8gICAgIHJlc3VsdC53
ID0gYy55OworLy8gICAgIHJlc3VsdC55ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBpbnQzIG9wZXJhdG9yLnh3eihpbnQ0IHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICBy
ZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVy
YXRvci54d3o9KGludDQgdiwgaW50MyBjKSB7CisvLyAgICAgaW50NCByZXN1bHQgPSB2OworLy8g
ICAgIHJlc3VsdC54ID0gYy54OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3Vs
dC56ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9y
Lnh3dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci55eHgoaW50NCB2KSB7Cisv
LyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGludDMgb3BlcmF0b3IueXh5KGludDQgdikgeworLy8gICAgIGludDMgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9w
ZXJhdG9yLnl4eihpbnQ0IHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55eHo9KGludDQg
diwgaW50MyBjKSB7CisvLyAgICAgaW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0g
Yy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnl4dyhpbnQ0IHYpIHsK
Ky8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55eHc9KGludDQgdiwgaW50MyBjKSB7CisvLyAgICAg
aW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC54
ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBpbnQzIG9wZXJhdG9yLnl5eChpbnQ0IHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVy
YXRvci55eXkoaW50NCB2KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDMgb3BlcmF0b3IueXl6KGludDQgdikg
eworLy8gICAgIGludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJl
c3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnl5dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQzIHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50
MyBvcGVyYXRvci55engoaW50NCB2KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXp4PShp
bnQ0IHYsIGludDMgYykgeworLy8gICAgIGludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQu
eSA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQueCA9IGMuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci55enkoaW50NCB2
KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGludDMgb3BlcmF0b3IueXp6KGludDQgdikgeworLy8gICAgIGludDMg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBp
bnQzIG9wZXJhdG9yLnl6dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9
IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55enc9
KGludDQgdiwgaW50MyBjKSB7CisvLyAgICAgaW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3Vs
dC55ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnl3eChpbnQ0
IHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAg
ICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55d3g9KGludDQgdiwgaW50MyBjKSB7Cisv
LyAgICAgaW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJl
c3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnl3eShpbnQ0IHYpIHsKKy8vICAgICBpbnQzIHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50
MyBvcGVyYXRvci55d3ooaW50NCB2KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2
Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXd6PShp
bnQ0IHYsIGludDMgYykgeworLy8gICAgIGludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQu
eSA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueiA9IGMuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci55d3coaW50NCB2
KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGludDMgb3BlcmF0b3Iuenh4KGludDQgdikgeworLy8gICAgIGludDMg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBp
bnQzIG9wZXJhdG9yLnp4eShpbnQ0IHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci56eHk9
KGludDQgdiwgaW50MyBjKSB7CisvLyAgICAgaW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3Vs
dC56ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC55ID0gYy56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnp4eihpbnQ0
IHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAg
ICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci56eHcoaW50NCB2KSB7CisvLyAgICAgaW50
MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGludDQgb3BlcmF0b3Iuenh3PShpbnQ0IHYsIGludDMgYykgeworLy8gICAgIGludDQgcmVzdWx0
ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8v
ICAgICByZXN1bHQudyA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50
MyBvcGVyYXRvci56eXgoaW50NCB2KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuenl4PShp
bnQ0IHYsIGludDMgYykgeworLy8gICAgIGludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQu
eiA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQueCA9IGMuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci56eXkoaW50NCB2
KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGludDMgb3BlcmF0b3Iuenl6KGludDQgdikgeworLy8gICAgIGludDMg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBp
bnQzIG9wZXJhdG9yLnp5dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci56eXc9
KGludDQgdiwgaW50MyBjKSB7CisvLyAgICAgaW50NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3Vs
dC56ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnp6eChpbnQ0
IHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci56enkoaW50NCB2KSB7CisvLyAgICAgaW50
MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGludDMgb3BlcmF0b3Iuenp6KGludDQgdikgeworLy8gICAgIGludDMgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnp6
dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci56d3goaW50NCB2KSB7CisvLyAg
ICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGludDQgb3BlcmF0b3Iuend4PShpbnQ0IHYsIGludDMgYykgeworLy8gICAgIGludDQg
cmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMu
eTsKKy8vICAgICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaW50MyBvcGVyYXRvci56d3koaW50NCB2KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iu
end5PShpbnQ0IHYsIGludDMgYykgeworLy8gICAgIGludDQgcmVzdWx0ID0gdjsKKy8vICAgICBy
ZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueSA9
IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci56d3oo
aW50NCB2KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDMgb3BlcmF0b3Iuend3KGludDQgdikgeworLy8gICAg
IGludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0g
di53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBpbnQzIG9wZXJhdG9yLnd4eChpbnQ0IHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRv
ci53eHkoaW50NCB2KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iud3h5PShpbnQ0IHYsIGlu
dDMgYykgeworLy8gICAgIGludDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsK
Ky8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci53eHooaW50NCB2KSB7CisvLyAg
ICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGludDQgb3BlcmF0b3Iud3h6PShpbnQ0IHYsIGludDMgYykgeworLy8gICAgIGludDQg
cmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMu
eTsKKy8vICAgICByZXN1bHQueiA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaW50MyBvcGVyYXRvci53eHcoaW50NCB2KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDMgb3BlcmF0b3Iu
d3l4KGludDQgdikgeworLy8gICAgIGludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnd5eD0oaW50NCB2LCBpbnQz
IGMpIHsKKy8vICAgICBpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7Cisv
LyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDMgb3BlcmF0b3Iud3l5KGludDQgdikgeworLy8gICAg
IGludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0g
di55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBpbnQzIG9wZXJhdG9yLnd5eihpbnQ0IHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRv
ci53eXo9KGludDQgdiwgaW50MyBjKSB7CisvLyAgICAgaW50NCByZXN1bHQgPSB2OworLy8gICAg
IHJlc3VsdC53ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC56
ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnd5
dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsK
Ky8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci53engoaW50NCB2KSB7CisvLyAg
ICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGludDQgb3BlcmF0b3Iud3p4PShpbnQ0IHYsIGludDMgYykgeworLy8gICAgIGludDQg
cmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMu
eTsKKy8vICAgICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaW50MyBvcGVyYXRvci53enkoaW50NCB2KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iu
d3p5PShpbnQ0IHYsIGludDMgYykgeworLy8gICAgIGludDQgcmVzdWx0ID0gdjsKKy8vICAgICBy
ZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQueSA9
IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRvci53enoo
aW50NCB2KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDMgb3BlcmF0b3Iud3p3KGludDQgdikgeworLy8gICAg
IGludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBpbnQzIG9wZXJhdG9yLnd3eChpbnQ0IHYpIHsKKy8vICAgICBpbnQzIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50MyBvcGVyYXRv
ci53d3koaW50NCB2KSB7CisvLyAgICAgaW50MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDMgb3BlcmF0b3Iud3d6KGludDQgdikgewor
Ly8gICAgIGludDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3Vs
dC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBpbnQzIG9wZXJhdG9yLnd3dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQzIHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAg
ICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBv
cGVyYXRvci54eHh4KGludDIgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBpbnQ0IG9wZXJhdG9yLnh4eHkoaW50MiB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGludDQgb3BlcmF0b3IueHh5eChpbnQyIHYpIHsKKy8vICAgICBpbnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54eHl5KGludDIgdikgeworLy8gICAgIGlu
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh5eHgoaW50MiB2KSB7Cisv
LyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHl4eShpbnQy
IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54
eXl4KGludDIgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9w
ZXJhdG9yLnh5eXkoaW50MiB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGludDQgb3BlcmF0b3IueXh4eChpbnQyIHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQu
eiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gaW50NCBvcGVyYXRvci55eHh5KGludDIgdikgeworLy8gICAgIGludDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnl4eXgoaW50MiB2KSB7CisvLyAgICAgaW50
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXh5eShpbnQyIHYpIHsKKy8v
ICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55eXh4KGludDIg
dikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53
ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnl5
eHkoaW50MiB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3Bl
cmF0b3IueXl5eChpbnQyIHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsK
Ky8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
aW50NCBvcGVyYXRvci55eXl5KGludDIgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh4eHgoaW50MyB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHh4eShpbnQzIHYpIHsKKy8vICAgICBpbnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54eHh6KGludDMgdikgeworLy8g
ICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh4eXgoaW50MyB2
KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHh5
eShpbnQzIHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVy
YXRvci54eHl6KGludDMgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBp
bnQ0IG9wZXJhdG9yLnh4engoaW50MyB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGludDQgb3BlcmF0b3IueHh6eShpbnQzIHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54eHp6KGludDMgdikgeworLy8gICAgIGludDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh5eHgoaW50MyB2KSB7CisvLyAg
ICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHl4eShpbnQzIHYp
IHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54eXh6
KGludDMgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJl
c3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJh
dG9yLnh5eXgoaW50MyB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGlu
dDQgb3BlcmF0b3IueHl5eShpbnQzIHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gaW50NCBvcGVyYXRvci54eXl6KGludDMgdikgeworLy8gICAgIGludDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh5engoaW50MyB2KSB7CisvLyAgICAgaW50NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHl6eShpbnQzIHYpIHsKKy8vICAg
ICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54eXp6KGludDMgdikg
eworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJl
c3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh6eHgo
aW50MyB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVz
dWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0
b3IueHp4eShpbnQzIHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8v
ICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50
NCBvcGVyYXRvci54enh6KGludDMgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0g
di54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBpbnQ0IG9wZXJhdG9yLnh6eXgoaW50MyB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHp5eShpbnQzIHYpIHsKKy8vICAgICBpbnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54enl6KGludDMgdikgeworLy8gICAg
IGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh6engoaW50MyB2KSB7
CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHp6eShp
bnQzIHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1
bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRv
ci54enp6KGludDMgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0
IG9wZXJhdG9yLnl4eHgoaW50MyB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGludDQgb3BlcmF0b3IueXh4eShpbnQzIHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55eHh6KGludDMgdikgeworLy8gICAgIGludDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnl4eXgoaW50MyB2KSB7CisvLyAgICAg
aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXh5eShpbnQzIHYpIHsK
Ky8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55eHl6KGlu
dDMgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8g
ICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3Vs
dC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9y
Lnl4engoaW50MyB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQg
b3BlcmF0b3IueXh6eShpbnQzIHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
ejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaW50NCBvcGVyYXRvci55eHp6KGludDMgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnl5eHgoaW50MyB2KSB7CisvLyAgICAgaW50NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXl4eShpbnQzIHYpIHsKKy8vICAgICBp
bnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
eTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55eXh6KGludDMgdikgewor
Ly8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnl5eXgoaW50
MyB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0
LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iu
eXl5eShpbnQzIHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAg
ICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBv
cGVyYXRvci55eXl6KGludDMgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55
OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBpbnQ0IG9wZXJhdG9yLnl5engoaW50MyB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGludDQgb3BlcmF0b3IueXl6eShpbnQzIHYpIHsKKy8vICAgICBpbnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAg
ICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55eXp6KGludDMgdikgeworLy8gICAgIGlu
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55
OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnl6eHgoaW50MyB2KSB7Cisv
LyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXp4eShpbnQz
IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55
enh6KGludDMgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55
OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9w
ZXJhdG9yLnl6eXgoaW50MyB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGludDQgb3BlcmF0b3IueXp5eShpbnQzIHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gaW50NCBvcGVyYXRvci55enl6KGludDMgdikgeworLy8gICAgIGludDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAg
IHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnl6engoaW50MyB2KSB7CisvLyAgICAgaW50
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXp6eShpbnQzIHYpIHsKKy8v
ICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQu
eSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55enp6KGludDMg
dikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnp4
eHgoaW50MyB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAg
cmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3Bl
cmF0b3Iuenh4eShpbnQzIHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
aW50NCBvcGVyYXRvci56eHh6KGludDMgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56
ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBpbnQ0IG9wZXJhdG9yLnp4eXgoaW50MyB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuenh5eShpbnQzIHYpIHsKKy8vICAgICBpbnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci56eHl6KGludDMgdikgeworLy8g
ICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55
ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnp4engoaW50MyB2
KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuenh6
eShpbnQzIHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVy
YXRvci56eHp6KGludDMgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56Owor
Ly8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBp
bnQ0IG9wZXJhdG9yLnp5eHgoaW50MyB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGludDQgb3BlcmF0b3Iuenl4eShpbnQzIHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci56eXh6KGludDMgdikgeworLy8gICAgIGludDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnp5eXgoaW50MyB2KSB7CisvLyAg
ICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuenl5eShpbnQzIHYp
IHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci56eXl6
KGludDMgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
c3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJh
dG9yLnp5engoaW50MyB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGlu
dDQgb3BlcmF0b3Iuenl6eShpbnQzIHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gaW50NCBvcGVyYXRvci56eXp6KGludDMgdikgeworLy8gICAgIGludDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJl
c3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnp6eHgoaW50MyB2KSB7CisvLyAgICAgaW50NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuenp4eShpbnQzIHYpIHsKKy8vICAg
ICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci56enh6KGludDMgdikg
eworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJl
c3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnp6eXgo
aW50MyB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVz
dWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0
b3Iuenp5eShpbnQzIHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8v
ICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50
NCBvcGVyYXRvci56enl6KGludDMgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBpbnQ0IG9wZXJhdG9yLnp6engoaW50MyB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuenp6eShpbnQzIHYpIHsKKy8vICAgICBpbnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci56enp6KGludDMgdikgeworLy8gICAg
IGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh4eHgoaW50NCB2KSB7
CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHh4eShp
bnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1
bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRv
ci54eHh6KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8g
ICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0
IG9wZXJhdG9yLnh4eHcoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGludDQgb3BlcmF0b3IueHh5eChpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54eHl5KGludDQgdikgeworLy8gICAgIGludDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8g
ICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh4eXooaW50NCB2KSB7CisvLyAgICAg
aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHh5dyhpbnQ0IHYpIHsK
Ky8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYu
dzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54eHp4KGlu
dDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8g
ICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3Vs
dC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9y
Lnh4enkoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQg
b3BlcmF0b3IueHh6eihpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
ejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaW50NCBvcGVyYXRvci54eHp3KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh4d3goaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHh3eShpbnQ0IHYpIHsKKy8vICAgICBp
bnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54eHd6KGludDQgdikgewor
Ly8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh4d3coaW50
NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0
LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iu
eHl4eChpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAg
ICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBv
cGVyYXRvci54eXh5KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBpbnQ0IG9wZXJhdG9yLnh5eHooaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGludDQgb3BlcmF0b3IueHl4dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54eXl4KGludDQgdikgeworLy8gICAgIGlu
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh5eXkoaW50NCB2KSB7Cisv
LyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHl5eihpbnQ0
IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQu
dyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54
eXl3KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9w
ZXJhdG9yLnh5engoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7
CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGludDQgb3BlcmF0b3IueHl6eShpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQu
eiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gaW50NCBvcGVyYXRvci54eXp6KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh5encoaW50NCB2KSB7CisvLyAgICAgaW50
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHl6dz0oaW50NCB2LCBpbnQ0
IGMpIHsKKy8vICAgICBpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7Cisv
LyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmVz
dWx0LncgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0
b3IueHl3eChpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8v
ICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50
NCBvcGVyYXRvci54eXd5KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0g
di53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBpbnQ0IG9wZXJhdG9yLnh5d3ooaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHl3ej0oaW50NCB2LCBpbnQ0IGMpIHsKKy8vICAg
ICBpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0
LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmVzdWx0LnogPSBjLnc7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHl3dyhpbnQ0
IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQu
dyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54
enh4KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9w
ZXJhdG9yLnh6eHkoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGludDQgb3BlcmF0b3IueHp4eihpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gaW50NCBvcGVyYXRvci54enh3KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh6eXgoaW50NCB2KSB7CisvLyAgICAgaW50
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHp5eShpbnQ0IHYpIHsKKy8v
ICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQu
eSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54enl6KGludDQg
dikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh6
eXcoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3Bl
cmF0b3IueHp5dz0oaW50NCB2LCBpbnQ0IGMpIHsKKy8vICAgICBpbnQ0IHJlc3VsdCA9IHY7Cisv
LyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmVz
dWx0LnkgPSBjLno7CisvLyAgICAgcmVzdWx0LncgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHp6eChpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54enp5KGludDQgdikgeworLy8gICAg
IGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh6enooaW50NCB2KSB7
CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2
Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHp6dyhp
bnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1
bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRv
ci54end4KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8g
ICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0
IG9wZXJhdG9yLnh6d3koaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGludDQgb3BlcmF0b3IueHp3eT0oaW50NCB2LCBpbnQ0IGMpIHsKKy8vICAgICBpbnQ0IHJl
c3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7
CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmVzdWx0LnkgPSBjLnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHp3eihpbnQ0IHYpIHsKKy8v
ICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQu
eSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54end3KGludDQg
dikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53
ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh3
eHgoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAg
cmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3Bl
cmF0b3IueHd4eShpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
aW50NCBvcGVyYXRvci54d3h6KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56
ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh3eHcoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHd5eChpbnQ0IHYpIHsKKy8vICAgICBpbnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54d3l5KGludDQgdikgeworLy8g
ICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh3eXooaW50NCB2
KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHd5
ej0oaW50NCB2LCBpbnQ0IGMpIHsKKy8vICAgICBpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVz
dWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmVzdWx0LnkgPSBj
Lno7CisvLyAgICAgcmVzdWx0LnogPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGludDQgb3BlcmF0b3IueHd5dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54d3p4KGludDQgdikgeworLy8gICAgIGludDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8g
ICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh3enkoaW50NCB2KSB7CisvLyAgICAg
aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHd6eT0oaW50NCB2LCBp
bnQ0IGMpIHsKKy8vICAgICBpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7
CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAg
cmVzdWx0LnkgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3Bl
cmF0b3IueHd6eihpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsK
Ky8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
aW50NCBvcGVyYXRvci54d3p3KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56
ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh3d3goaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueHd3eShpbnQ0IHYpIHsKKy8vICAgICBpbnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsK
Ky8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci54d3d6KGludDQgdikgeworLy8g
ICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnh3d3coaW50NCB2
KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXh4
eChpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVy
YXRvci55eHh5KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBp
bnQ0IG9wZXJhdG9yLnl4eHooaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGludDQgb3BlcmF0b3IueXh4dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55eHl4KGludDQgdikgeworLy8gICAgIGludDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnl4eXkoaW50NCB2KSB7CisvLyAg
ICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXh5eihpbnQ0IHYp
IHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55eHl3
KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
c3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJh
dG9yLnl4engoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGlu
dDQgb3BlcmF0b3IueXh6eShpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9
IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gaW50NCBvcGVyYXRvci55eHp6KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnl4encoaW50NCB2KSB7CisvLyAgICAgaW50NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXh6dz0oaW50NCB2LCBpbnQ0IGMp
IHsKKy8vICAgICBpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAg
ICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmVzdWx0
LncgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iu
eXh3eChpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAg
ICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBv
cGVyYXRvci55eHd5KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53
OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBpbnQ0IG9wZXJhdG9yLnl4d3ooaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGludDQgb3BlcmF0b3IueXh3ej0oaW50NCB2LCBpbnQ0IGMpIHsKKy8vICAgICBp
bnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0Lngg
PSBjLnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmVzdWx0LnogPSBjLnc7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXh3dyhpbnQ0IHYp
IHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9
IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55eXh4
KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJl
c3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJh
dG9yLnl5eHkoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGlu
dDQgb3BlcmF0b3IueXl4eihpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gaW50NCBvcGVyYXRvci55eXh3KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnl5eXgoaW50NCB2KSB7CisvLyAgICAgaW50NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXl5eShpbnQ0IHYpIHsKKy8vICAg
ICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55eXl6KGludDQgdikg
eworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJl
c3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnl5eXco
aW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0
b3IueXl6eChpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8v
ICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50
NCBvcGVyYXRvci55eXp5KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBpbnQ0IG9wZXJhdG9yLnl5enooaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXl6dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55eXd4KGludDQgdikgeworLy8gICAg
IGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnl5d3koaW50NCB2KSB7
CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXl3eihp
bnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1
bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRv
ci55eXd3KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8g
ICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0
IG9wZXJhdG9yLnl6eHgoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2
Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGludDQgb3BlcmF0b3IueXp4eShpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55enh6KGludDQgdikgeworLy8gICAgIGludDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnl6eHcoaW50NCB2KSB7CisvLyAgICAg
aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXp4dz0oaW50NCB2LCBp
bnQ0IGMpIHsKKy8vICAgICBpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7
CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAg
cmVzdWx0LncgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3Bl
cmF0b3IueXp5eChpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsK
Ky8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
aW50NCBvcGVyYXRvci55enl5KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBpbnQ0IG9wZXJhdG9yLnl6eXooaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXp5dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55enp4KGludDQgdikgeworLy8g
ICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55
ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnl6enkoaW50NCB2
KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXp6
eihpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVy
YXRvci55enp3KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56Owor
Ly8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBp
bnQ0IG9wZXJhdG9yLnl6d3goaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGludDQgb3BlcmF0b3IueXp3eD0oaW50NCB2LCBpbnQ0IGMpIHsKKy8vICAgICBpbnQ0
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBj
Lnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmVzdWx0LnggPSBjLnc7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXp3eShpbnQ0IHYpIHsK
Ky8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55end6KGlu
dDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8g
ICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3Vs
dC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9y
Lnl6d3coaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQg
b3BlcmF0b3IueXd4eChpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYu
eDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaW50NCBvcGVyYXRvci55d3h5KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnl3eHooaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXd4ej0oaW50NCB2LCBpbnQ0IGMpIHsK
Ky8vICAgICBpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAg
cmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmVzdWx0Lnog
PSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXd4
dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVy
YXRvci55d3l4KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBp
bnQ0IG9wZXJhdG9yLnl3eXkoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGludDQgb3BlcmF0b3IueXd5eihpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICBy
ZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55d3l3KGludDQgdikgeworLy8gICAgIGludDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53Owor
Ly8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnl3engoaW50NCB2KSB7CisvLyAg
ICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXd6eD0oaW50NCB2
LCBpbnQ0IGMpIHsKKy8vICAgICBpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBj
Lng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAg
ICAgcmVzdWx0LnggPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQg
b3BlcmF0b3IueXd6eShpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYu
ejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaW50NCBvcGVyYXRvci55d3p6KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnl3encoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3IueXd3eChpbnQ0IHYpIHsKKy8vICAgICBp
bnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
dzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci55d3d5KGludDQgdikgewor
Ly8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnl3d3ooaW50
NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0
LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iu
eXd3dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAg
ICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBv
cGVyYXRvci56eHh4KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBpbnQ0IG9wZXJhdG9yLnp4eHkoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGludDQgb3BlcmF0b3Iuenh4eihpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci56eHh3KGludDQgdikgeworLy8gICAgIGlu
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnp4eXgoaW50NCB2KSB7Cisv
LyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuenh5eShpbnQ0
IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAg
ICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci56
eHl6KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56
OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9w
ZXJhdG9yLnp4eXcoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGludDQgb3BlcmF0b3Iuenh5dz0oaW50NCB2LCBpbnQ0IGMpIHsKKy8vICAgICBpbnQ0IHJlc3Vs
dCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7Cisv
LyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmVzdWx0LncgPSBjLnc7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuenh6eChpbnQ0IHYpIHsKKy8vICAg
ICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci56eHp5KGludDQgdikg
eworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJl
c3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0g
di55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnp4enoo
aW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVz
dWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0
b3Iuenh6dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8v
ICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50
NCBvcGVyYXRvci56eHd4KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0g
di53OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBpbnQ0IG9wZXJhdG9yLnp4d3koaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuenh3eT0oaW50NCB2LCBpbnQ0IGMpIHsKKy8vICAg
ICBpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0
LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmVzdWx0LnkgPSBjLnc7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuenh3eihpbnQ0
IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAg
ICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQu
dyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci56
eHd3KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56
OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAg
IHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9w
ZXJhdG9yLnp5eHgoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7
CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGludDQgb3BlcmF0b3Iuenl4eShpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQu
eiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gaW50NCBvcGVyYXRvci56eXh6KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnp5eHcoaW50NCB2KSB7CisvLyAgICAgaW50
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuenl4dz0oaW50NCB2LCBpbnQ0
IGMpIHsKKy8vICAgICBpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7Cisv
LyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmVz
dWx0LncgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0
b3Iuenl5eChpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8v
ICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50
NCBvcGVyYXRvci56eXl5KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBpbnQ0IG9wZXJhdG9yLnp5eXooaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuenl5dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci56eXp4KGludDQgdikgeworLy8gICAg
IGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0g
di55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnp5enkoaW50NCB2KSB7
CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuenl6eihp
bnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1
bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRv
ci56eXp3KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0
IG9wZXJhdG9yLnp5d3goaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGludDQgb3BlcmF0b3Iuenl3eD0oaW50NCB2LCBpbnQ0IGMpIHsKKy8vICAgICBpbnQ0IHJl
c3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7
CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmVzdWx0LnggPSBjLnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuenl3eShpbnQ0IHYpIHsKKy8v
ICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci56eXd6KGludDQg
dikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAg
IHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnp5
d3coaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3Bl
cmF0b3Iuenp4eChpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
aW50NCBvcGVyYXRvci56enh5KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBpbnQ0IG9wZXJhdG9yLnp6eHooaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuenp4dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsK
Ky8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci56enl4KGludDQgdikgeworLy8g
ICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55
ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnp6eXkoaW50NCB2
KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuenp5
eihpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICBy
ZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVy
YXRvci56enl3KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBp
bnQ0IG9wZXJhdG9yLnp6engoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGludDQgb3BlcmF0b3Iuenp6eShpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci56enp6KGludDQgdikgeworLy8gICAgIGludDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnp6encoaW50NCB2KSB7CisvLyAg
ICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuenp3eChpbnQ0IHYp
IHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9
IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci56end5
KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJl
c3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJh
dG9yLnp6d3ooaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGlu
dDQgb3BlcmF0b3Iuenp3dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9
IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gaW50NCBvcGVyYXRvci56d3h4KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnp3eHkoaW50NCB2KSB7CisvLyAgICAgaW50NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuend4eT0oaW50NCB2LCBpbnQ0IGMp
IHsKKy8vICAgICBpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAg
ICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmVzdWx0
LnkgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iu
end4eihpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
ejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAg
ICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBv
cGVyYXRvci56d3h3KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBpbnQ0IG9wZXJhdG9yLnp3eXgoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGludDQgb3BlcmF0b3Iuend5eD0oaW50NCB2LCBpbnQ0IGMpIHsKKy8vICAgICBp
bnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0Lncg
PSBjLnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmVzdWx0LnggPSBjLnc7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuend5eShpbnQ0IHYp
IHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci56d3l6
KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
c3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJh
dG9yLnp3eXcoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGlu
dDQgb3BlcmF0b3Iuend6eChpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9
IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gaW50NCBvcGVyYXRvci56d3p5KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJl
c3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnp3enooaW50NCB2KSB7CisvLyAgICAgaW50NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iuend6dyhpbnQ0IHYpIHsKKy8vICAg
ICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci56d3d4KGludDQgdikg
eworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJl
c3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0g
di54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnp3d3ko
aW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0
b3Iuend3eihpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8v
ICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50
NCBvcGVyYXRvci56d3d3KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0g
di53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBpbnQ0IG9wZXJhdG9yLnd4eHgoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iud3h4eShpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci53eHh6KGludDQgdikgeworLy8gICAg
IGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0g
di54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnd4eHcoaW50NCB2KSB7
CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iud3h5eChp
bnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1
bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRv
ci53eHl5KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0
IG9wZXJhdG9yLnd4eXooaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGludDQgb3BlcmF0b3Iud3h5ej0oaW50NCB2LCBpbnQ0IGMpIHsKKy8vICAgICBpbnQ0IHJl
c3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7
CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmVzdWx0LnogPSBjLnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iud3h5dyhpbnQ0IHYpIHsKKy8v
ICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci53eHp4KGludDQg
dikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAg
IHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53
ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnd4
enkoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3Bl
cmF0b3Iud3h6eT0oaW50NCB2LCBpbnQ0IGMpIHsKKy8vICAgICBpbnQ0IHJlc3VsdCA9IHY7Cisv
LyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVz
dWx0LnogPSBjLno7CisvLyAgICAgcmVzdWx0LnkgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iud3h6eihpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci53eHp3KGludDQgdikgeworLy8gICAg
IGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0g
di54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnd4d3goaW50NCB2KSB7
CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iud3h3eShp
bnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1
bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRv
ci53eHd6KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8g
ICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0
IG9wZXJhdG9yLnd4d3coaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGludDQgb3BlcmF0b3Iud3l4eChpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaW50NCBvcGVyYXRvci53eXh5KGludDQgdikgeworLy8gICAgIGludDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnd5eHooaW50NCB2KSB7CisvLyAgICAg
aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iud3l4ej0oaW50NCB2LCBp
bnQ0IGMpIHsKKy8vICAgICBpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7
CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAg
cmVzdWx0LnogPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3Bl
cmF0b3Iud3l4dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
aW50NCBvcGVyYXRvci53eXl4KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBpbnQ0IG9wZXJhdG9yLnd5eXkoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iud3l5eihpbnQ0IHYpIHsKKy8vICAgICBpbnQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci53eXl3KGludDQgdikgeworLy8g
ICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi53Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnd5engoaW50NCB2
KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iud3l6
eD0oaW50NCB2LCBpbnQ0IGMpIHsKKy8vICAgICBpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVz
dWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBj
Lno7CisvLyAgICAgcmVzdWx0LnggPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGludDQgb3BlcmF0b3Iud3l6eShpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaW50NCBvcGVyYXRvci53eXp6KGludDQgdikgeworLy8gICAgIGludDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnd5encoaW50NCB2KSB7CisvLyAgICAg
aW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iud3l3eChpbnQ0IHYpIHsK
Ky8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYu
eDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci53eXd5KGlu
dDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3Vs
dC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9y
Lnd5d3ooaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQg
b3BlcmF0b3Iud3l3dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYu
dzsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaW50NCBvcGVyYXRvci53enh4KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnd6eHkoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iud3p4eT0oaW50NCB2LCBpbnQ0IGMpIHsK
Ky8vICAgICBpbnQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAg
cmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmVzdWx0Lnkg
PSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iud3p4
eihpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsK
Ky8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVy
YXRvci53enh3KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBp
bnQ0IG9wZXJhdG9yLnd6eXgoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGludDQgb3BlcmF0b3Iud3p5eD0oaW50NCB2LCBpbnQ0IGMpIHsKKy8vICAgICBpbnQ0
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBj
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmVzdWx0LnggPSBjLnc7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iud3p5eShpbnQ0IHYpIHsK
Ky8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1
bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci53enl6KGlu
dDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8g
ICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3Vs
dC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9y
Lnd6eXcoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQg
b3BlcmF0b3Iud3p6eChpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYu
ejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaW50NCBvcGVyYXRvci53enp5KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnd6enooaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iud3p6dyhpbnQ0IHYpIHsKKy8vICAgICBp
bnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYu
ejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci53end4KGludDQgdikgewor
Ly8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnd6d3koaW50
NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0
LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iu
d3p3eihpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
dzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAg
ICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBv
cGVyYXRvci53end3KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53
OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBpbnQ0IG9wZXJhdG9yLnd3eHgoaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGludDQgb3BlcmF0b3Iud3d4eShpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci53d3h6KGludDQgdikgeworLy8gICAgIGlu
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53
OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnd3eHcoaW50NCB2KSB7Cisv
LyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iud3d5eChpbnQ0
IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAg
ICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQu
dyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci53
d3l5KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53
OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9w
ZXJhdG9yLnd3eXooaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGludDQgb3BlcmF0b3Iud3d5dyhpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQu
eiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gaW50NCBvcGVyYXRvci53d3p4KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnd3enkoaW50NCB2KSB7CisvLyAgICAgaW50
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3BlcmF0b3Iud3d6eihpbnQ0IHYpIHsKKy8v
ICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQu
eSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaW50NCBvcGVyYXRvci53d3p3KGludDQg
dikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAg
IHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53
ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBpbnQ0IG9wZXJhdG9yLnd3
d3goaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAg
cmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGludDQgb3Bl
cmF0b3Iud3d3eShpbnQ0IHYpIHsKKy8vICAgICBpbnQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsK
Ky8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
aW50NCBvcGVyYXRvci53d3d6KGludDQgdikgeworLy8gICAgIGludDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56
ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBpbnQ0IG9wZXJhdG9yLnd3d3coaW50NCB2KSB7CisvLyAgICAgaW50NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGhhbGYyIG9wZXJhdG9yLnh4KGhhbGYyIHYpIHsKKy8vICAgICBoYWxm
MiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYyIG9wZXJhdG9yLnh5KGhhbGYy
IHYpIHsKKy8vICAgICBoYWxmMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYy
IG9wZXJhdG9yLnh5PShoYWxmMiB2LCBoYWxmMiBjKSB7CisvLyAgICAgaGFsZjIgcmVzdWx0ID0g
djsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjIgb3BlcmF0b3IueXgoaGFsZjIgdikgewor
Ly8gICAgIGhhbGYyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjIgb3BlcmF0
b3IueXg9KGhhbGYyIHYsIGhhbGYyIGMpIHsKKy8vICAgICBoYWxmMiByZXN1bHQgPSB2OworLy8g
ICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBoYWxmMiBvcGVyYXRvci55eShoYWxmMiB2KSB7CisvLyAgICAg
aGFsZjIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMiBvcGVyYXRvci54eCho
YWxmMyB2KSB7CisvLyAgICAgaGFsZjIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBo
YWxmMiBvcGVyYXRvci54eShoYWxmMyB2KSB7CisvLyAgICAgaGFsZjIgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci54eT0oaGFsZjMgdiwgaGFsZjIgYykgewor
Ly8gICAgIGhhbGYzIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAg
cmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYyIG9w
ZXJhdG9yLnh6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnh6PShoYWxmMyB2LCBoYWxmMiBjKSB7CisvLyAgICAg
aGFsZjMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQu
eiA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjIgb3BlcmF0b3Iu
eXgoaGFsZjMgdikgeworLy8gICAgIGhhbGYyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaGFsZjMgb3BlcmF0b3IueXg9KGhhbGYzIHYsIGhhbGYyIGMpIHsKKy8vICAgICBoYWxmMyBy
ZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMiBvcGVyYXRvci55eShoYWxm
MyB2KSB7CisvLyAgICAgaGFsZjIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxm
MiBvcGVyYXRvci55eihoYWxmMyB2KSB7CisvLyAgICAgaGFsZjIgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci55ej0oaGFsZjMgdiwgaGFsZjIgYykgeworLy8g
ICAgIGhhbGYzIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVz
dWx0LnogPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYyIG9wZXJh
dG9yLnp4KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGhhbGYzIG9wZXJhdG9yLnp4PShoYWxmMyB2LCBoYWxmMiBjKSB7CisvLyAgICAgaGFs
ZjMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueCA9
IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjIgb3BlcmF0b3Iuenko
aGFsZjMgdikgeworLy8gICAgIGhhbGYyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
aGFsZjMgb3BlcmF0b3Iuenk9KGhhbGYzIHYsIGhhbGYyIGMpIHsKKy8vICAgICBoYWxmMyByZXN1
bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMiBvcGVyYXRvci56eihoYWxmMyB2
KSB7CisvLyAgICAgaGFsZjIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMiBv
cGVyYXRvci54eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjIgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBoYWxmMiBvcGVyYXRvci54eShoYWxmNCB2KSB7CisvLyAgICAgaGFsZjIgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54eT0oaGFsZjQgdiwg
aGFsZjIgYykgeworLy8gICAgIGhhbGY0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBj
Lng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGhhbGYyIG9wZXJhdG9yLnh6KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmMiByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh6PShoYWxmNCB2LCBoYWxmMiBj
KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8v
ICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFs
ZjIgb3BlcmF0b3IueHcoaGFsZjQgdikgeworLy8gICAgIGhhbGYyIHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHc9KGhhbGY0IHYsIGhhbGYyIGMpIHsKKy8v
ICAgICBoYWxmNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54OworLy8gICAgIHJl
c3VsdC53ID0gYy55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMiBvcGVy
YXRvci55eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBoYWxmNCBvcGVyYXRvci55eD0oaGFsZjQgdiwgaGFsZjIgYykgeworLy8gICAgIGhh
bGY0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0Lngg
PSBjLnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYyIG9wZXJhdG9yLnl5
KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGhhbGYyIG9wZXJhdG9yLnl6KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmMiByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl6PShoYWxmNCB2LCBoYWxmMiBjKSB7
CisvLyAgICAgaGFsZjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAg
ICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjIg
b3BlcmF0b3IueXcoaGFsZjQgdikgeworLy8gICAgIGhhbGYyIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXc9KGhhbGY0IHYsIGhhbGYyIGMpIHsKKy8vICAg
ICBoYWxmNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3Vs
dC53ID0gYy55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMiBvcGVyYXRv
ci56eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBoYWxmNCBvcGVyYXRvci56eD0oaGFsZjQgdiwgaGFsZjIgYykgeworLy8gICAgIGhhbGY0
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBj
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYyIG9wZXJhdG9yLnp5KGhh
bGY0IHYpIHsKKy8vICAgICBoYWxmMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhh
bGY0IG9wZXJhdG9yLnp5PShoYWxmNCB2LCBoYWxmMiBjKSB7CisvLyAgICAgaGFsZjQgcmVzdWx0
ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjIgb3BlcmF0b3IuenooaGFsZjQgdikg
eworLy8gICAgIGhhbGYyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjIgb3Bl
cmF0b3IuencoaGFsZjQgdikgeworLy8gICAgIGhhbGYyIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gaGFsZjQgb3BlcmF0b3Iuenc9KGhhbGY0IHYsIGhhbGYyIGMpIHsKKy8vICAgICBo
YWxmNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC53
ID0gYy55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMiBvcGVyYXRvci53
eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53
OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBoYWxmNCBvcGVyYXRvci53eD0oaGFsZjQgdiwgaGFsZjIgYykgeworLy8gICAgIGhhbGY0IHJl
c3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYyIG9wZXJhdG9yLnd5KGhhbGY0
IHYpIHsKKy8vICAgICBoYWxmMiByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0
IG9wZXJhdG9yLnd5PShoYWxmNCB2LCBoYWxmMiBjKSB7CisvLyAgICAgaGFsZjQgcmVzdWx0ID0g
djsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjIgb3BlcmF0b3Iud3ooaGFsZjQgdikgewor
Ly8gICAgIGhhbGYyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1
bHQueSA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0
b3Iud3o9KGhhbGY0IHYsIGhhbGYyIGMpIHsKKy8vICAgICBoYWxmNCByZXN1bHQgPSB2OworLy8g
ICAgIHJlc3VsdC53ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBoYWxmMiBvcGVyYXRvci53dyhoYWxmNCB2KSB7CisvLyAgICAg
aGFsZjIgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0g
di53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci54eHgo
aGFsZjIgdikgeworLy8gICAgIGhhbGYzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3IueHh5KGhhbGYyIHYpIHsKKy8v
ICAgICBoYWxmMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnh5eChoYWxmMiB2KSB7CisvLyAgICAgaGFsZjMgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxm
MyBvcGVyYXRvci54eXkoaGFsZjIgdikgeworLy8gICAgIGhhbGYzIHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3IueXh4
KGhhbGYyIHYpIHsKKy8vICAgICBoYWxmMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnl4eShoYWxmMiB2KSB7Cisv
LyAgICAgaGFsZjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci55eXgoaGFsZjIgdikgeworLy8gICAgIGhhbGYzIHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFs
ZjMgb3BlcmF0b3IueXl5KGhhbGYyIHYpIHsKKy8vICAgICBoYWxmMyByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnh4
eChoYWxmMyB2KSB7CisvLyAgICAgaGFsZjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci54eHkoaGFsZjMgdikgewor
Ly8gICAgIGhhbGYzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3IueHh6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmMyBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhh
bGYzIG9wZXJhdG9yLnh5eChoYWxmMyB2KSB7CisvLyAgICAgaGFsZjMgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci54
eXkoaGFsZjMgdikgeworLy8gICAgIGhhbGYzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3IueHl6KGhhbGYzIHYpIHsK
Ky8vICAgICBoYWxmMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnh5ej0oaGFsZjMgdiwgaGFsZjMgYykgeworLy8g
ICAgIGhhbGYzIHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVz
dWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnh6eChoYWxmMyB2KSB7CisvLyAgICAgaGFsZjMg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBo
YWxmMyBvcGVyYXRvci54enkoaGFsZjMgdikgeworLy8gICAgIGhhbGYzIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3Iu
eHp5PShoYWxmMyB2LCBoYWxmMyBjKSB7CisvLyAgICAgaGFsZjMgcmVzdWx0ID0gdjsKKy8vICAg
ICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQu
eSA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3Iu
eHp6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnl4eChoYWxmMyB2KSB7
CisvLyAgICAgaGFsZjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJl
c3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci55eHkoaGFsZjMgdikgeworLy8gICAgIGhhbGYz
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
aGFsZjMgb3BlcmF0b3IueXh6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmMyByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9y
Lnl4ej0oaGFsZjMgdiwgaGFsZjMgYykgeworLy8gICAgIGhhbGYzIHJlc3VsdCA9IHY7CisvLyAg
ICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0
LnogPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9y
Lnl5eChoYWxmMyB2KSB7CisvLyAgICAgaGFsZjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci55eXkoaGFsZjMgdikg
eworLy8gICAgIGhhbGYzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3IueXl6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxm
MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGhhbGYzIG9wZXJhdG9yLnl6eChoYWxmMyB2KSB7CisvLyAgICAgaGFsZjMgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRv
ci55eng9KGhhbGYzIHYsIGhhbGYzIGMpIHsKKy8vICAgICBoYWxmMyByZXN1bHQgPSB2OworLy8g
ICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3Vs
dC54ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRv
ci55enkoaGFsZjMgdikgeworLy8gICAgIGhhbGYzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3IueXp6KGhhbGYzIHYp
IHsKKy8vICAgICBoYWxmMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnp4eChoYWxmMyB2KSB7CisvLyAgICAgaGFs
ZjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBoYWxmMyBvcGVyYXRvci56eHkoaGFsZjMgdikgeworLy8gICAgIGhhbGYzIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0
b3Iuenh5PShoYWxmMyB2LCBoYWxmMyBjKSB7CisvLyAgICAgaGFsZjMgcmVzdWx0ID0gdjsKKy8v
ICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXN1
bHQueSA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0
b3Iuenh6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnp5eChoYWxmMyB2
KSB7CisvLyAgICAgaGFsZjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAg
IHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci56eXg9KGhhbGYzIHYsIGhhbGYzIGMpIHsK
Ky8vICAgICBoYWxmMyByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAg
IHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci56eXkoaGFsZjMgdikgeworLy8gICAgIGhh
bGYzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYu
eTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaGFsZjMgb3BlcmF0b3Iuenl6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmMyByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJh
dG9yLnp6eChoYWxmMyB2KSB7CisvLyAgICAgaGFsZjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci56enkoaGFsZjMg
dikgeworLy8gICAgIGhhbGYzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3Iuenp6KGhhbGYzIHYpIHsKKy8vICAgICBo
YWxmMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGhhbGYzIG9wZXJhdG9yLnh4eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjMgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVy
YXRvci54eHkoaGFsZjQgdikgeworLy8gICAgIGhhbGYzIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3IueHh6KGhhbGY0
IHYpIHsKKy8vICAgICBoYWxmMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnh4dyhoYWxmNCB2KSB7CisvLyAgICAg
aGFsZjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0g
di54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBoYWxmMyBvcGVyYXRvci54eXgoaGFsZjQgdikgeworLy8gICAgIGhhbGYzIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3Bl
cmF0b3IueHl5KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnh5eihoYWxm
NCB2KSB7CisvLyAgICAgaGFsZjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54eXo9KGhhbGY0IHYsIGhhbGYzIGMp
IHsKKy8vICAgICBoYWxmNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54OworLy8g
ICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci54eXcoaGFsZjQgdikgeworLy8gICAg
IGhhbGYzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gaGFsZjQgb3BlcmF0b3IueHl3PShoYWxmNCB2LCBoYWxmMyBjKSB7CisvLyAgICAgaGFs
ZjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueSA9
IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gaGFsZjMgb3BlcmF0b3IueHp4KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmMyByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9w
ZXJhdG9yLnh6eShoYWxmNCB2KSB7CisvLyAgICAgaGFsZjMgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54enk9KGhh
bGY0IHYsIGhhbGYzIGMpIHsKKy8vICAgICBoYWxmNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3Vs
dC54ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC55ID0gYy56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci54enooaGFs
ZjQgdikgeworLy8gICAgIGhhbGYzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3IueHp3KGhhbGY0IHYpIHsKKy8vICAg
ICBoYWxmMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh6dz0oaGFsZjQgdiwgaGFsZjMgYykgeworLy8gICAgIGhh
bGY0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0Lnog
PSBjLnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGhhbGYzIG9wZXJhdG9yLnh3eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjMgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBv
cGVyYXRvci54d3koaGFsZjQgdikgeworLy8gICAgIGhhbGYzIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHd5PSho
YWxmNCB2LCBoYWxmMyBjKSB7CisvLyAgICAgaGFsZjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1
bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3IueHd6KGhh
bGY0IHYpIHsKKy8vICAgICBoYWxmMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh3ej0oaGFsZjQgdiwgaGFsZjMg
YykgeworLy8gICAgIGhhbGY0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7Cisv
LyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnh3dyhoYWxmNCB2KSB7CisvLyAg
ICAgaGFsZjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBoYWxmMyBvcGVyYXRvci55eHgoaGFsZjQgdikgeworLy8gICAgIGhhbGYzIHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMg
b3BlcmF0b3IueXh5KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmMyByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnl4eiho
YWxmNCB2KSB7CisvLyAgICAgaGFsZjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55eHo9KGhhbGY0IHYsIGhhbGYz
IGMpIHsKKy8vICAgICBoYWxmNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54Owor
Ly8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci55eHcoaGFsZjQgdikgeworLy8g
ICAgIGhhbGYzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXh3PShoYWxmNCB2LCBoYWxmMyBjKSB7CisvLyAgICAg
aGFsZjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQu
eCA9IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gaGFsZjMgb3BlcmF0b3IueXl4KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmMyByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYz
IG9wZXJhdG9yLnl5eShoYWxmNCB2KSB7CisvLyAgICAgaGFsZjMgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci55eXoo
aGFsZjQgdikgeworLy8gICAgIGhhbGYzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3IueXl3KGhhbGY0IHYpIHsKKy8v
ICAgICBoYWxmMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnl6eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjMgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxm
NCBvcGVyYXRvci55eng9KGhhbGY0IHYsIGhhbGYzIGMpIHsKKy8vICAgICBoYWxmNCByZXN1bHQg
PSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8g
ICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxm
MyBvcGVyYXRvci55enkoaGFsZjQgdikgeworLy8gICAgIGhhbGYzIHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3IueXp6
KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnl6dyhoYWxmNCB2KSB7Cisv
LyAgICAgaGFsZjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55enc9KGhhbGY0IHYsIGhhbGYzIGMpIHsKKy8vICAg
ICBoYWxmNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3Vs
dC56ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci55d3goaGFsZjQgdikgeworLy8gICAgIGhhbGYzIHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFs
ZjQgb3BlcmF0b3IueXd4PShoYWxmNCB2LCBoYWxmMyBjKSB7CisvLyAgICAgaGFsZjQgcmVzdWx0
ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8v
ICAgICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFs
ZjMgb3BlcmF0b3IueXd5KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmMyByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnl3
eihoYWxmNCB2KSB7CisvLyAgICAgaGFsZjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55
OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55d3o9KGhhbGY0IHYsIGhh
bGYzIGMpIHsKKy8vICAgICBoYWxmNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54
OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci55d3coaGFsZjQgdikgewor
Ly8gICAgIGhhbGYzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3Iuenh4KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmMyBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhh
bGYzIG9wZXJhdG9yLnp4eShoYWxmNCB2KSB7CisvLyAgICAgaGFsZjMgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56
eHk9KGhhbGY0IHYsIGhhbGYzIGMpIHsKKy8vICAgICBoYWxmNCByZXN1bHQgPSB2OworLy8gICAg
IHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC55
ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci56
eHooaGFsZjQgdikgeworLy8gICAgIGhhbGYzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
ejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3Iuenh3KGhhbGY0IHYpIHsK
Ky8vICAgICBoYWxmMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp4dz0oaGFsZjQgdiwgaGFsZjMgYykgeworLy8g
ICAgIGhhbGY0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVz
dWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnp5eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjMg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBo
YWxmNCBvcGVyYXRvci56eXg9KGhhbGY0IHYsIGhhbGYzIGMpIHsKKy8vICAgICBoYWxmNCByZXN1
bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55Owor
Ly8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBo
YWxmMyBvcGVyYXRvci56eXkoaGFsZjQgdikgeworLy8gICAgIGhhbGYzIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQu
eiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3Iu
enl6KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnp5dyhoYWxmNCB2KSB7
CisvLyAgICAgaGFsZjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJl
c3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56eXc9KGhhbGY0IHYsIGhhbGYzIGMpIHsKKy8v
ICAgICBoYWxmNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJl
c3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci56engoaGFsZjQgdikgeworLy8gICAgIGhhbGYz
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsK
Ky8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
aGFsZjMgb3BlcmF0b3Iuenp5KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmMyByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9y
Lnp6eihoYWxmNCB2KSB7CisvLyAgICAgaGFsZjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci56encoaGFsZjQgdikg
eworLy8gICAgIGhhbGYzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3Iuend4KGhhbGY0IHYpIHsKKy8vICAgICBoYWxm
MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGhhbGY0IG9wZXJhdG9yLnp3eD0oaGFsZjQgdiwgaGFsZjMgYykgeworLy8gICAgIGhhbGY0IHJl
c3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7
CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGhhbGYzIG9wZXJhdG9yLnp3eShoYWxmNCB2KSB7CisvLyAgICAgaGFsZjMgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3Vs
dC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRv
ci56d3k9KGhhbGY0IHYsIGhhbGYzIGMpIHsKKy8vICAgICBoYWxmNCByZXN1bHQgPSB2OworLy8g
ICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3Vs
dC55ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRv
ci56d3ooaGFsZjQgdikgeworLy8gICAgIGhhbGYzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3Iuend3KGhhbGY0IHYp
IHsKKy8vICAgICBoYWxmMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnd4eChoYWxmNCB2KSB7CisvLyAgICAgaGFs
ZjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBoYWxmMyBvcGVyYXRvci53eHkoaGFsZjQgdikgeworLy8gICAgIGhhbGYzIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0
b3Iud3h5PShoYWxmNCB2LCBoYWxmMyBjKSB7CisvLyAgICAgaGFsZjQgcmVzdWx0ID0gdjsKKy8v
ICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXN1
bHQueSA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0
b3Iud3h6KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnd4ej0oaGFsZjQg
diwgaGFsZjMgYykgeworLy8gICAgIGhhbGY0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0Lncg
PSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnd4dyhoYWxmNCB2
KSB7CisvLyAgICAgaGFsZjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAg
IHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci53eXgoaGFsZjQgdikgeworLy8gICAgIGhh
bGYzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYu
eTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaGFsZjQgb3BlcmF0b3Iud3l4PShoYWxmNCB2LCBoYWxmMyBjKSB7CisvLyAgICAgaGFsZjQg
cmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMu
eTsKKy8vICAgICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaGFsZjMgb3BlcmF0b3Iud3l5KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmMyByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJh
dG9yLnd5eihoYWxmNCB2KSB7CisvLyAgICAgaGFsZjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci53eXo9KGhhbGY0
IHYsIGhhbGYzIGMpIHsKKy8vICAgICBoYWxmNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53
ID0gYy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVyYXRvci53eXcoaGFsZjQg
dikgeworLy8gICAgIGhhbGYzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3Iud3p4KGhhbGY0IHYpIHsKKy8vICAgICBo
YWxmMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGhhbGY0IG9wZXJhdG9yLnd6eD0oaGFsZjQgdiwgaGFsZjMgYykgeworLy8gICAgIGhhbGY0
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBj
Lnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGhhbGYzIG9wZXJhdG9yLnd6eShoYWxmNCB2KSB7CisvLyAgICAgaGFsZjMgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVy
YXRvci53enk9KGhhbGY0IHYsIGhhbGYzIGMpIHsKKy8vICAgICBoYWxmNCByZXN1bHQgPSB2Owor
Ly8gICAgIHJlc3VsdC53ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJl
c3VsdC55ID0gYy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmMyBvcGVy
YXRvci53enooaGFsZjQgdikgeworLy8gICAgIGhhbGYzIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3BlcmF0b3Iud3p3KGhhbGY0
IHYpIHsKKy8vICAgICBoYWxmMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnd3eChoYWxmNCB2KSB7CisvLyAgICAg
aGFsZjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0g
di53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBoYWxmMyBvcGVyYXRvci53d3koaGFsZjQgdikgeworLy8gICAgIGhhbGYzIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICBy
ZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjMgb3Bl
cmF0b3Iud3d6KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmMyByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGYzIG9wZXJhdG9yLnd3dyhoYWxm
NCB2KSB7CisvLyAgICAgaGFsZjMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8g
ICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54eHh4KGhhbGYyIHYpIHsKKy8vICAg
ICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh4eHkoaGFsZjIg
dikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iu
eHh5eChoYWxmMiB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxm
NCBvcGVyYXRvci54eHl5KGhhbGYyIHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh5eHgoaGFsZjIgdikgeworLy8gICAgIGhhbGY0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHl4eShoYWxmMiB2KSB7CisvLyAgICAg
aGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0g
di55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54eXl4KGhhbGYyIHYp
IHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh5
eXkoaGFsZjIgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAg
ICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQg
b3BlcmF0b3IueXh4eChoYWxmMiB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0g
di54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBoYWxmNCBvcGVyYXRvci55eHh5KGhhbGYyIHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl4eXgoaGFsZjIgdikgeworLy8gICAgIGhh
bGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXh5eShoYWxmMiB2KSB7
CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJl
c3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0g
di55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55eXh4
KGhhbGYyIHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAg
cmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9w
ZXJhdG9yLnl5eHkoaGFsZjIgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYu
eDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaGFsZjQgb3BlcmF0b3IueXl5eChoYWxmMiB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55eXl5KGhhbGYyIHYpIHsKKy8vICAgICBoYWxm
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh4eHgoaGFsZjMgdikgewor
Ly8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYu
eDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHh4eSho
YWxmMyB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJl
c3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVy
YXRvci54eHh6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7
CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGhhbGY0IG9wZXJhdG9yLnh4eXgoaGFsZjMgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHh5eShoYWxmMyB2KSB7CisvLyAgICAgaGFsZjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54eHl6KGhhbGYzIHYpIHsKKy8v
ICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh4engoaGFs
ZjMgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1
bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0
b3IueHh6eShoYWxmMyB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56Owor
Ly8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBo
YWxmNCBvcGVyYXRvci54eHp6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh5eHgoaGFsZjMgdikgeworLy8gICAgIGhhbGY0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHl4eShoYWxmMyB2KSB7CisvLyAg
ICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54eXh6KGhhbGYz
IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0
LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9y
Lnh5eXgoaGFsZjMgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8v
ICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFs
ZjQgb3BlcmF0b3IueHl5eShoYWxmMyB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBoYWxmNCBvcGVyYXRvci54eXl6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh5engoaGFsZjMgdikgeworLy8gICAg
IGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHl6eShoYWxmMyB2
KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54
eXp6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0
IG9wZXJhdG9yLnh6eHgoaGFsZjMgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9
IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gaGFsZjQgb3BlcmF0b3IueHp4eShoYWxmMyB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54enh6KGhhbGYzIHYpIHsKKy8vICAgICBo
YWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh6eXgoaGFsZjMgdikg
eworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICBy
ZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9
IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHp5
eShoYWxmMyB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBv
cGVyYXRvci54enl6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGhhbGY0IG9wZXJhdG9yLnh6engoaGFsZjMgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHp6eShoYWxmMyB2KSB7CisvLyAgICAgaGFs
ZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56
OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54enp6KGhhbGYzIHYpIHsK
Ky8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2
Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl4eHgo
aGFsZjMgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3Bl
cmF0b3IueXh4eShoYWxmMyB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBoYWxmNCBvcGVyYXRvci55eHh6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl4eXgoaGFsZjMgdikgeworLy8gICAgIGhhbGY0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXh5eShoYWxmMyB2KSB7Cisv
LyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55eHl6KGhh
bGYzIHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVz
dWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJh
dG9yLnl4engoaGFsZjMgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsK
Ky8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
aGFsZjQgb3BlcmF0b3IueXh6eShoYWxmMyB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55eHp6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl5eHgoaGFsZjMgdikgeworLy8g
ICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXl4eShoYWxm
MyB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3Vs
dC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRv
ci55eXh6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhh
bGY0IG9wZXJhdG9yLnl5eXgoaGFsZjMgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQu
eiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXl5eShoYWxmMyB2KSB7CisvLyAgICAgaGFsZjQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55eXl6KGhhbGYzIHYpIHsKKy8vICAg
ICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl5engoaGFsZjMg
dikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQu
dyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iu
eXl6eShoYWxmMyB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxm
NCBvcGVyYXRvci55eXp6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl6eHgoaGFsZjMgdikgeworLy8gICAgIGhhbGY0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXp4eShoYWxmMyB2KSB7CisvLyAgICAg
aGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55enh6KGhhbGYzIHYp
IHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl6
eXgoaGFsZjMgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAg
ICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQg
b3BlcmF0b3IueXp5eShoYWxmMyB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBoYWxmNCBvcGVyYXRvci55enl6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl6engoaGFsZjMgdikgeworLy8gICAgIGhh
bGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
ejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXp6eShoYWxmMyB2KSB7
CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJl
c3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0g
di55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55enp6
KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAg
cmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9w
ZXJhdG9yLnp4eHgoaGFsZjMgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
eDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaGFsZjQgb3BlcmF0b3Iuenh4eShoYWxmMyB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56eHh6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxm
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp4eXgoaGFsZjMgdikgewor
Ly8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYu
eDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iuenh5eSho
YWxmMyB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
c3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVy
YXRvci56eHl6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGhhbGY0IG9wZXJhdG9yLnp4engoaGFsZjMgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iuenh6eShoYWxmMyB2KSB7CisvLyAgICAgaGFsZjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56eHp6KGhhbGYzIHYpIHsKKy8v
ICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp5eHgoaGFs
ZjMgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1
bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0
b3Iuenl4eShoYWxmMyB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBo
YWxmNCBvcGVyYXRvci56eXh6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp5eXgoaGFsZjMgdikgeworLy8gICAgIGhhbGY0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iuenl5eShoYWxmMyB2KSB7CisvLyAg
ICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56eXl6KGhhbGYz
IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0
LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9y
Lnp5engoaGFsZjMgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8v
ICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFs
ZjQgb3BlcmF0b3Iuenl6eShoYWxmMyB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBoYWxmNCBvcGVyYXRvci56eXp6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp6eHgoaGFsZjMgdikgeworLy8gICAg
IGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iuenp4eShoYWxmMyB2
KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56
enh6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0
IG9wZXJhdG9yLnp6eXgoaGFsZjMgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gaGFsZjQgb3BlcmF0b3Iuenp5eShoYWxmMyB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAg
IHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56enl6KGhhbGYzIHYpIHsKKy8vICAgICBo
YWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp6engoaGFsZjMgdikg
eworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9
IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iuenp6
eShoYWxmMyB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56
OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAg
IHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBv
cGVyYXRvci56enp6KGhhbGYzIHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2
Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGhhbGY0IG9wZXJhdG9yLnh4eHgoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHh4eShoYWxmNCB2KSB7CisvLyAgICAgaGFs
ZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54eHh6KGhhbGY0IHYpIHsK
Ky8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2
Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh4eHco
aGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3Bl
cmF0b3IueHh5eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55
OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBoYWxmNCBvcGVyYXRvci54eHl5KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh4eXooaGFsZjQgdikgeworLy8gICAgIGhhbGY0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHh5dyhoYWxmNCB2KSB7Cisv
LyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi53
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54eHp4KGhh
bGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVz
dWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJh
dG9yLnh4enkoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsK
Ky8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
aGFsZjQgb3BlcmF0b3IueHh6eihoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54eHp3KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh4d3goaGFsZjQgdikgeworLy8g
ICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHh3eShoYWxm
NCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8g
ICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3Vs
dC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRv
ci54eHd6KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhh
bGY0IG9wZXJhdG9yLnh4d3coaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQu
eiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHl4eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54eXh5KGhhbGY0IHYpIHsKKy8vICAg
ICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh5eHooaGFsZjQg
dikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQu
dyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iu
eHl4dyhoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8g
ICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxm
NCBvcGVyYXRvci54eXl4KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh5eXkoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHl5eihoYWxmNCB2KSB7CisvLyAgICAg
aGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0g
di55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54eXl3KGhhbGY0IHYp
IHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh5
engoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAg
ICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQg
b3BlcmF0b3IueHl6eShoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBoYWxmNCBvcGVyYXRvci54eXp6KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh5encoaGFsZjQgdikgeworLy8gICAgIGhh
bGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
eTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHl6dz0oaGFsZjQgdiwg
aGFsZjQgYykgeworLy8gICAgIGhhbGY0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBj
Lng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAg
ICAgcmVzdWx0LncgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0
IG9wZXJhdG9yLnh5d3goaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gaGFsZjQgb3BlcmF0b3IueHl3eShoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAg
IHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54eXd6KGhhbGY0IHYpIHsKKy8vICAgICBo
YWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh5d3o9KGhhbGY0IHYs
IGhhbGY0IGMpIHsKKy8vICAgICBoYWxmNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0g
Yy54OworLy8gICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8g
ICAgIHJlc3VsdC56ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxm
NCBvcGVyYXRvci54eXd3KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh6eHgoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHp4eShoYWxmNCB2KSB7CisvLyAgICAg
aGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54enh6KGhhbGY0IHYp
IHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh6
eHcoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAg
ICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQg
b3BlcmF0b3IueHp5eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBoYWxmNCBvcGVyYXRvci54enl5KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh6eXooaGFsZjQgdikgeworLy8gICAgIGhh
bGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
ejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHp5dyhoYWxmNCB2KSB7
CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJl
c3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0g
di53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54enl3
PShoYWxmNCB2LCBoYWxmNCBjKSB7CisvLyAgICAgaGFsZjQgcmVzdWx0ID0gdjsKKy8vICAgICBy
ZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQueSA9
IGMuejsKKy8vICAgICByZXN1bHQudyA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gaGFsZjQgb3BlcmF0b3IueHp6eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54enp5KGhhbGY0IHYpIHsKKy8vICAgICBo
YWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh6enooaGFsZjQgdikg
eworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICBy
ZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHp6
dyhoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAg
IHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBv
cGVyYXRvci54end4KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGhhbGY0IG9wZXJhdG9yLnh6d3koaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHp3eT0oaGFsZjQgdiwgaGFsZjQgYykgewor
Ly8gICAgIGhhbGY0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAg
cmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmVzdWx0Lnkg
PSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh6
d3ooaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAg
ICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQg
b3BlcmF0b3IueHp3dyhoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0g
di53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBoYWxmNCBvcGVyYXRvci54d3h4KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh3eHkoaGFsZjQgdikgeworLy8gICAgIGhh
bGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
dzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHd4eihoYWxmNCB2KSB7
CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJl
c3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54d3h3
KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9w
ZXJhdG9yLnh3eXgoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaGFsZjQgb3BlcmF0b3IueHd5eShoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54d3l6KGhhbGY0IHYpIHsKKy8vICAgICBoYWxm
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh3eXo9KGhhbGY0IHYsIGhh
bGY0IGMpIHsKKy8vICAgICBoYWxmNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54
OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC55ID0gYy56OworLy8gICAg
IHJlc3VsdC56ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBv
cGVyYXRvci54d3l3KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGhhbGY0IG9wZXJhdG9yLnh3engoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICBy
ZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHd6eShoYWxmNCB2KSB7CisvLyAgICAgaGFs
ZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53
OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54d3p5PShoYWxmNCB2LCBo
YWxmNCBjKSB7CisvLyAgICAgaGFsZjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMu
eDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueiA9IGMuejsKKy8vICAg
ICByZXN1bHQueSA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQg
b3BlcmF0b3IueHd6eihoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBoYWxmNCBvcGVyYXRvci54d3p3KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnh3d3goaGFsZjQgdikgeworLy8gICAgIGhh
bGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
dzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueHd3eShoYWxmNCB2KSB7
CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJl
c3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0g
di55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci54d3d6
KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAg
cmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9w
ZXJhdG9yLnh3d3coaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYu
dzsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaGFsZjQgb3BlcmF0b3IueXh4eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55eHh5KGhhbGY0IHYpIHsKKy8vICAgICBoYWxm
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl4eHooaGFsZjQgdikgewor
Ly8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXh4dyho
YWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJl
c3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVy
YXRvci55eHl4KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGhhbGY0IG9wZXJhdG9yLnl4eXkoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXh5eihoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55eHl3KGhhbGY0IHYpIHsKKy8v
ICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl4engoaGFs
ZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1
bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0
b3IueXh6eShoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56Owor
Ly8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBo
YWxmNCBvcGVyYXRvci55eHp6KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl4encoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXh6dz0oaGFsZjQgdiwgaGFsZjQg
YykgeworLy8gICAgIGhhbGY0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7Cisv
LyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmVz
dWx0LncgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJh
dG9yLnl4d3goaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsK
Ky8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
aGFsZjQgb3BlcmF0b3IueXh3eShoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3Vs
dC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55eHd6KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl4d3o9KGhhbGY0IHYsIGhhbGY0
IGMpIHsKKy8vICAgICBoYWxmNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54Owor
Ly8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJl
c3VsdC56ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVy
YXRvci55eHd3KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGhhbGY0IG9wZXJhdG9yLnl5eHgoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXl4eShoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55eXh6KGhhbGY0IHYpIHsKKy8v
ICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl5eHcoaGFs
ZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1
bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0
b3IueXl5eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBo
YWxmNCBvcGVyYXRvci55eXl5KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl5eXooaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXl5dyhoYWxmNCB2KSB7CisvLyAg
ICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi53Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55eXp4KGhhbGY0
IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0
LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9y
Lnl5enkoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8v
ICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFs
ZjQgb3BlcmF0b3IueXl6eihoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBoYWxmNCBvcGVyYXRvci55eXp3KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl5d3goaGFsZjQgdikgeworLy8gICAg
IGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXl3eShoYWxmNCB2
KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55
eXd6KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0
IG9wZXJhdG9yLnl5d3coaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gaGFsZjQgb3BlcmF0b3IueXp4eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55enh5KGhhbGY0IHYpIHsKKy8vICAgICBo
YWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl6eHooaGFsZjQgdikg
eworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXp4
dyhoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55
OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBv
cGVyYXRvci55enh3PShoYWxmNCB2LCBoYWxmNCBjKSB7CisvLyAgICAgaGFsZjQgcmVzdWx0ID0g
djsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAg
ICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXN1bHQudyA9IGMudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXp5eChoYWxmNCB2KSB7CisvLyAgICAg
aGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55enl5KGhhbGY0IHYp
IHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl6
eXooaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAg
ICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQg
b3BlcmF0b3IueXp5dyhoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBoYWxmNCBvcGVyYXRvci55enp4KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAg
cmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl6enkoaGFsZjQgdikgeworLy8gICAgIGhh
bGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
ejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXp6eihoYWxmNCB2KSB7
CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJl
c3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55enp3
KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9w
ZXJhdG9yLnl6d3goaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYu
dzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaGFsZjQgb3BlcmF0b3IueXp3eD0oaGFsZjQgdiwgaGFsZjQgYykgeworLy8gICAgIGhhbGY0
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBj
Lnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmVzdWx0LnggPSBjLnc7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl6d3koaGFsZjQgdikg
eworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXp3
eihoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55
OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAg
IHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBv
cGVyYXRvci55end3KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGhhbGY0IG9wZXJhdG9yLnl3eHgoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXd4eShoYWxmNCB2KSB7CisvLyAgICAgaGFs
ZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53
OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55d3h6KGhhbGY0IHYpIHsK
Ky8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2
Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl3eHo9
KGhhbGY0IHYsIGhhbGY0IGMpIHsKKy8vICAgICBoYWxmNCByZXN1bHQgPSB2OworLy8gICAgIHJl
c3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0g
Yy56OworLy8gICAgIHJlc3VsdC56ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBoYWxmNCBvcGVyYXRvci55d3h3KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl3eXgoaGFsZjQgdikgeworLy8gICAgIGhh
bGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
dzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXd5eShoYWxmNCB2KSB7
CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJl
c3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0g
di55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55d3l6
KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9w
ZXJhdG9yLnl3eXcoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaGFsZjQgb3BlcmF0b3IueXd6eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJl
c3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55d3p4PShoYWxmNCB2LCBoYWxmNCBjKSB7Cisv
LyAgICAgaGFsZjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICBy
ZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueiA9IGMuejsKKy8vICAgICByZXN1bHQueCA9
IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXd6
eShoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55
OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAg
IHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBv
cGVyYXRvci55d3p6KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2
Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGhhbGY0IG9wZXJhdG9yLnl3encoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICBy
ZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3IueXd3eChoYWxmNCB2KSB7CisvLyAgICAgaGFs
ZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53
OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci55d3d5KGhhbGY0IHYpIHsK
Ky8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnl3d3oo
aGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICBy
ZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3Bl
cmF0b3IueXd3dyhoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53
OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBoYWxmNCBvcGVyYXRvci56eHh4KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp4eHkoaGFsZjQgdikgeworLy8gICAgIGhhbGY0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iuenh4eihoYWxmNCB2KSB7Cisv
LyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56eHh3KGhh
bGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJh
dG9yLnp4eXgoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsK
Ky8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
aGFsZjQgb3BlcmF0b3Iuenh5eShoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3Vs
dC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56eHl6KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp4eXcoaGFsZjQgdikgeworLy8g
ICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iuenh5dz0oaGFs
ZjQgdiwgaGFsZjQgYykgeworLy8gICAgIGhhbGY0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0
LnogPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7
CisvLyAgICAgcmVzdWx0LncgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGhhbGY0IG9wZXJhdG9yLnp4engoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iuenh6eShoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56eHp6KGhhbGY0IHYpIHsKKy8v
ICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp4encoaGFs
ZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1
bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0
b3Iuenh3eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53Owor
Ly8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBo
YWxmNCBvcGVyYXRvci56eHd5KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp4d3k9KGhhbGY0IHYsIGhhbGY0IGMpIHsKKy8vICAg
ICBoYWxmNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3Vs
dC54ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJlc3VsdC55ID0gYy53
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56eHd6KGhh
bGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVz
dWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJh
dG9yLnp4d3coaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsK
Ky8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
aGFsZjQgb3BlcmF0b3Iuenl4eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56eXh5KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp5eHooaGFsZjQgdikgeworLy8g
ICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iuenl4dyhoYWxm
NCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3Vs
dC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRv
ci56eXh3PShoYWxmNCB2LCBoYWxmNCBjKSB7CisvLyAgICAgaGFsZjQgcmVzdWx0ID0gdjsKKy8v
ICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1
bHQueCA9IGMuejsKKy8vICAgICByZXN1bHQudyA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iuenl5eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55Owor
Ly8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56eXl5KGhhbGY0IHYpIHsKKy8v
ICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp5eXooaGFs
ZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1
bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0
b3Iuenl5dyhoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBo
YWxmNCBvcGVyYXRvci56eXp4KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp5enkoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iuenl6eihoYWxmNCB2KSB7CisvLyAg
ICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56eXp3KGhhbGY0
IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0
LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9y
Lnp5d3goaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8v
ICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFs
ZjQgb3BlcmF0b3Iuenl3eD0oaGFsZjQgdiwgaGFsZjQgYykgeworLy8gICAgIGhhbGY0IHJlc3Vs
dCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7Cisv
LyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmVzdWx0LnggPSBjLnc7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp5d3koaGFsZjQgdikgeworLy8g
ICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iuenl3eihoYWxm
NCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3Vs
dC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRv
ci56eXd3KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhh
bGY0IG9wZXJhdG9yLnp6eHgoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gaGFsZjQgb3BlcmF0b3Iuenp4eShoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56enh6KGhhbGY0IHYpIHsKKy8vICAg
ICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp6eHcoaGFsZjQg
dikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQu
dyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iu
enp5eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxm
NCBvcGVyYXRvci56enl5KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp6eXooaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iuenp5dyhoYWxmNCB2KSB7CisvLyAgICAg
aGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56enp4KGhhbGY0IHYp
IHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp6
enkoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
ejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAg
ICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQg
b3BlcmF0b3Iuenp6eihoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBoYWxmNCBvcGVyYXRvci56enp3KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAg
cmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp6d3goaGFsZjQgdikgeworLy8gICAgIGhh
bGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYu
ejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iuenp3eShoYWxmNCB2KSB7
CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJl
c3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0g
di55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56end6
KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAg
cmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9w
ZXJhdG9yLnp6d3coaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYu
dzsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaGFsZjQgb3BlcmF0b3Iuend4eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56d3h5KGhhbGY0IHYpIHsKKy8vICAgICBoYWxm
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp3eHk9KGhhbGY0IHYsIGhh
bGY0IGMpIHsKKy8vICAgICBoYWxmNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54
OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAg
IHJlc3VsdC55ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBv
cGVyYXRvci56d3h6KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2
Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGhhbGY0IG9wZXJhdG9yLnp3eHcoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iuend5eChoYWxmNCB2KSB7CisvLyAgICAgaGFs
ZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56d3l4PShoYWxmNCB2LCBo
YWxmNCBjKSB7CisvLyAgICAgaGFsZjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMu
eDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAg
ICByZXN1bHQueCA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQg
b3BlcmF0b3Iuend5eShoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBoYWxmNCBvcGVyYXRvci56d3l6KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp3eXcoaGFsZjQgdikgeworLy8gICAgIGhh
bGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYu
dzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iuend6eChoYWxmNCB2KSB7
CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJl
c3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0g
di54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56d3p5
KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9w
ZXJhdG9yLnp3enooaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYu
ejsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gaGFsZjQgb3BlcmF0b3Iuend6dyhoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJl
c3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci56d3d4KGhhbGY0IHYpIHsKKy8vICAgICBoYWxm
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnp3d3koaGFsZjQgdikgewor
Ly8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1
bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iuend3eiho
YWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJl
c3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVy
YXRvci56d3d3KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGhhbGY0IG9wZXJhdG9yLnd4eHgoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iud3h4eShoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci53eHh6KGhhbGY0IHYpIHsKKy8v
ICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnd4eHcoaGFs
ZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1
bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0
b3Iud3h5eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBo
YWxmNCBvcGVyYXRvci53eHl5KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnd4eXooaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iud3h5ej0oaGFsZjQgdiwgaGFsZjQg
YykgeworLy8gICAgIGhhbGY0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7Cisv
LyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmVz
dWx0LnogPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJh
dG9yLnd4eXcoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsK
Ky8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
aGFsZjQgb3BlcmF0b3Iud3h6eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci53eHp5KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnd4enk9KGhhbGY0IHYsIGhhbGY0
IGMpIHsKKy8vICAgICBoYWxmNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54Owor
Ly8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8gICAgIHJl
c3VsdC55ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVy
YXRvci53eHp6KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7
CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGhhbGY0IG9wZXJhdG9yLnd4encoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iud3h3eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci53eHd5KGhhbGY0IHYpIHsKKy8v
ICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnd4d3ooaGFs
ZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1
bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0
b3Iud3h3dyhoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53Owor
Ly8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBo
YWxmNCBvcGVyYXRvci53eXh4KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnd5eHkoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iud3l4eihoYWxmNCB2KSB7CisvLyAg
ICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci53eXh6PShoYWxm
NCB2LCBoYWxmNCBjKSB7CisvLyAgICAgaGFsZjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQu
dyA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQueCA9IGMuejsK
Ky8vICAgICByZXN1bHQueiA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
aGFsZjQgb3BlcmF0b3Iud3l4dyhoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci53eXl4KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnd5eXkoaGFsZjQgdikgeworLy8g
ICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iud3l5eihoYWxm
NCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3Vs
dC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRv
ci53eXl3KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhh
bGY0IG9wZXJhdG9yLnd5engoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQu
eiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gaGFsZjQgb3BlcmF0b3Iud3l6eD0oaGFsZjQgdiwgaGFsZjQgYykgeworLy8gICAg
IGhhbGY0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0
LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmVzdWx0LnggPSBjLnc7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnd5enkoaGFs
ZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1
bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0
b3Iud3l6eihoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56Owor
Ly8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBo
YWxmNCBvcGVyYXRvci53eXp3KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnd5d3goaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iud3l3eShoYWxmNCB2KSB7CisvLyAg
ICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci53eXd6KGhhbGY0
IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0
LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9y
Lnd5d3coaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8v
ICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFs
ZjQgb3BlcmF0b3Iud3p4eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBoYWxmNCBvcGVyYXRvci53enh5KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnd6eHk9KGhhbGY0IHYsIGhhbGY0IGMp
IHsKKy8vICAgICBoYWxmNCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54OworLy8g
ICAgIHJlc3VsdC56ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJlc3Vs
dC55ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRv
ci53enh6KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhh
bGY0IG9wZXJhdG9yLnd6eHcoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gaGFsZjQgb3BlcmF0b3Iud3p5eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8g
ICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci53enl4PShoYWxmNCB2LCBoYWxmNCBj
KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8v
ICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXN1
bHQueCA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0
b3Iud3p5eShoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBo
YWxmNCBvcGVyYXRvci53enl6KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnd6eXcoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iud3p6eChoYWxmNCB2KSB7CisvLyAg
ICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55
ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci53enp5KGhhbGY0
IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0
LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9y
Lnd6enooaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8v
ICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFs
ZjQgb3BlcmF0b3Iud3p6dyhoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBoYWxmNCBvcGVyYXRvci53end4KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnd6d3koaGFsZjQgdikgeworLy8gICAg
IGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iud3p3eihoYWxmNCB2
KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci53
end3KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0
IG9wZXJhdG9yLnd3eHgoaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9
IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gaGFsZjQgb3BlcmF0b3Iud3d4eShoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci53d3h6KGhhbGY0IHYpIHsKKy8vICAgICBo
YWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnd3eHcoaGFsZjQgdikg
eworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9
IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iud3d5
eChoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53
OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBv
cGVyYXRvci53d3l5KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGhhbGY0IG9wZXJhdG9yLnd3eXooaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICBy
ZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iud3d5dyhoYWxmNCB2KSB7CisvLyAgICAgaGFs
ZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci53d3p4KGhhbGY0IHYpIHsK
Ky8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnd3enko
aGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsK
Ky8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3Bl
cmF0b3Iud3d6eihoYWxmNCB2KSB7CisvLyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56
OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBoYWxmNCBvcGVyYXRvci53d3p3KGhhbGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJhdG9yLnd3d3goaGFsZjQgdikgeworLy8gICAgIGhhbGY0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsK
Ky8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gaGFsZjQgb3BlcmF0b3Iud3d3eShoYWxmNCB2KSB7Cisv
LyAgICAgaGFsZjQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3Vs
dC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBoYWxmNCBvcGVyYXRvci53d3d6KGhh
bGY0IHYpIHsKKy8vICAgICBoYWxmNCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVz
dWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGhhbGY0IG9wZXJh
dG9yLnd3d3coaGFsZjQgdikgeworLy8gICAgIGhhbGY0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsK
Ky8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
ZmxvYXQyIG9wZXJhdG9yLnh4KGZsb2F0MiB2KSB7CisvLyAgICAgZmxvYXQyIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQyIG9wZXJhdG9yLnh5KGZsb2F0MiB2KSB7CisvLyAg
ICAgZmxvYXQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQyIG9wZXJhdG9y
Lnh5PShmbG9hdDIgdiwgZmxvYXQyIGMpIHsKKy8vICAgICBmbG9hdDIgcmVzdWx0ID0gdjsKKy8v
ICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQyIG9wZXJhdG9yLnl4KGZsb2F0MiB2KSB7CisvLyAg
ICAgZmxvYXQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQyIG9wZXJhdG9y
Lnl4PShmbG9hdDIgdiwgZmxvYXQyIGMpIHsKKy8vICAgICBmbG9hdDIgcmVzdWx0ID0gdjsKKy8v
ICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQyIG9wZXJhdG9yLnl5KGZsb2F0MiB2KSB7CisvLyAg
ICAgZmxvYXQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQyIG9wZXJhdG9y
Lnh4KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gZmxvYXQyIG9wZXJhdG9yLnh5KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQyIHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnh5PShmbG9hdDMgdiwg
ZmxvYXQyIGMpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9
IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gZmxvYXQyIG9wZXJhdG9yLnh6KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQyIHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnh6PShmbG9hdDMgdiwg
ZmxvYXQyIGMpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9
IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gZmxvYXQyIG9wZXJhdG9yLnl4KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQyIHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnl4PShmbG9hdDMgdiwg
ZmxvYXQyIGMpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9
IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gZmxvYXQyIG9wZXJhdG9yLnl5KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQyIHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQyIG9wZXJhdG9yLnl6KGZsb2F0MyB2KSB7
CisvLyAgICAgZmxvYXQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9w
ZXJhdG9yLnl6PShmbG9hdDMgdiwgZmxvYXQyIGMpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0ID0g
djsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQyIG9wZXJhdG9yLnp4KGZsb2F0MyB2KSB7
CisvLyAgICAgZmxvYXQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9w
ZXJhdG9yLnp4PShmbG9hdDMgdiwgZmxvYXQyIGMpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0ID0g
djsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQyIG9wZXJhdG9yLnp5KGZsb2F0MyB2KSB7
CisvLyAgICAgZmxvYXQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9w
ZXJhdG9yLnp5PShmbG9hdDMgdiwgZmxvYXQyIGMpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0ID0g
djsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQyIG9wZXJhdG9yLnp6KGZsb2F0MyB2KSB7
CisvLyAgICAgZmxvYXQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQyIG9w
ZXJhdG9yLnh4KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQyIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gZmxvYXQyIG9wZXJhdG9yLnh5KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQy
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh5PShmbG9h
dDQgdiwgZmxvYXQyIGMpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1
bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gZmxvYXQyIG9wZXJhdG9yLnh6KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQy
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh6PShmbG9h
dDQgdiwgZmxvYXQyIGMpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1
bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gZmxvYXQyIG9wZXJhdG9yLnh3KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQy
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh3PShmbG9h
dDQgdiwgZmxvYXQyIGMpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1
bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gZmxvYXQyIG9wZXJhdG9yLnl4KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQy
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl4PShmbG9h
dDQgdiwgZmxvYXQyIGMpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1
bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gZmxvYXQyIG9wZXJhdG9yLnl5KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQy
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQyIG9wZXJhdG9yLnl6KGZsb2F0
NCB2KSB7CisvLyAgICAgZmxvYXQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxv
YXQ0IG9wZXJhdG9yLnl6PShmbG9hdDQgdiwgZmxvYXQyIGMpIHsKKy8vICAgICBmbG9hdDQgcmVz
dWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQyIG9wZXJhdG9yLnl3KGZsb2F0
NCB2KSB7CisvLyAgICAgZmxvYXQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxv
YXQ0IG9wZXJhdG9yLnl3PShmbG9hdDQgdiwgZmxvYXQyIGMpIHsKKy8vICAgICBmbG9hdDQgcmVz
dWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQyIG9wZXJhdG9yLnp4KGZsb2F0
NCB2KSB7CisvLyAgICAgZmxvYXQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8v
ICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxv
YXQ0IG9wZXJhdG9yLnp4PShmbG9hdDQgdiwgZmxvYXQyIGMpIHsKKy8vICAgICBmbG9hdDQgcmVz
dWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQyIG9wZXJhdG9yLnp5KGZsb2F0
NCB2KSB7CisvLyAgICAgZmxvYXQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxv
YXQ0IG9wZXJhdG9yLnp5PShmbG9hdDQgdiwgZmxvYXQyIGMpIHsKKy8vICAgICBmbG9hdDQgcmVz
dWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQyIG9wZXJhdG9yLnp6KGZsb2F0
NCB2KSB7CisvLyAgICAgZmxvYXQyIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8v
ICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxv
YXQyIG9wZXJhdG9yLnp3KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQyIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp3PShmbG9hdDQgdiwgZmxvYXQyIGMp
IHsKKy8vICAgICBmbG9hdDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8v
ICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxv
YXQyIG9wZXJhdG9yLnd4KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQyIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnd4PShmbG9hdDQgdiwgZmxvYXQyIGMp
IHsKKy8vICAgICBmbG9hdDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8v
ICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxv
YXQyIG9wZXJhdG9yLnd5KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQyIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnd5PShmbG9hdDQgdiwgZmxvYXQyIGMp
IHsKKy8vICAgICBmbG9hdDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8v
ICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxv
YXQyIG9wZXJhdG9yLnd6KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQyIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnd6PShmbG9hdDQgdiwgZmxvYXQyIGMp
IHsKKy8vICAgICBmbG9hdDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8v
ICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxv
YXQyIG9wZXJhdG9yLnd3KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQyIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnh4eChmbG9hdDIgdikgeworLy8gICAg
IGZsb2F0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGZsb2F0MyBvcGVyYXRvci54eHkoZmxvYXQyIHYpIHsKKy8vICAgICBmbG9hdDMgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8g
ICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9h
dDMgb3BlcmF0b3IueHl4KGZsb2F0MiB2KSB7CisvLyAgICAgZmxvYXQzIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQu
eiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJhdG9y
Lnh5eShmbG9hdDIgdikgeworLy8gICAgIGZsb2F0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci55eHgoZmxvYXQy
IHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8g
ICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0b3IueXh5KGZsb2F0MiB2KSB7CisvLyAg
ICAgZmxvYXQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnl5eChmbG9hdDIgdikgeworLy8gICAgIGZsb2F0MyBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZs
b2F0MyBvcGVyYXRvci55eXkoZmxvYXQyIHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3Vs
dC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0
b3IueHh4KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnh4eShmbG9h
dDMgdikgeworLy8gICAgIGZsb2F0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci54eHooZmxvYXQzIHYpIHsKKy8v
ICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0b3IueHl4KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQz
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
ZmxvYXQzIG9wZXJhdG9yLnh5eShmbG9hdDMgdikgeworLy8gICAgIGZsb2F0MyByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVy
YXRvci54eXooZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0b3IueHl6PShm
bG9hdDMgdiwgZmxvYXQzIGMpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0ID0gdjsKKy8vICAgICBy
ZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQueiA9
IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnh6
eChmbG9hdDMgdikgeworLy8gICAgIGZsb2F0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci54enkoZmxvYXQzIHYp
IHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0b3IueHp5PShmbG9hdDMgdiwgZmxvYXQzIGMp
IHsKKy8vICAgICBmbG9hdDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8v
ICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnh6eihmbG9hdDMgdikgeworLy8g
ICAgIGZsb2F0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci55eHgoZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDMg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBm
bG9hdDMgb3BlcmF0b3IueXh5KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQzIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJh
dG9yLnl4eihmbG9hdDMgdikgeworLy8gICAgIGZsb2F0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci55eHo9KGZs
b2F0MyB2LCBmbG9hdDMgYykgeworLy8gICAgIGZsb2F0MyByZXN1bHQgPSB2OworLy8gICAgIHJl
c3VsdC55ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0g
Yy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0b3IueXl4
KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnl5eShmbG9hdDMgdikg
eworLy8gICAgIGZsb2F0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci55eXooZmxvYXQzIHYpIHsKKy8vICAgICBm
bG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBmbG9hdDMgb3BlcmF0b3IueXp4KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQzIHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQz
IG9wZXJhdG9yLnl6eD0oZmxvYXQzIHYsIGZsb2F0MyBjKSB7CisvLyAgICAgZmxvYXQzIHJlc3Vs
dCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7Cisv
LyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZs
b2F0MyBvcGVyYXRvci55enkoZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3Vs
dC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0
b3IueXp6KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnp4eChmbG9h
dDMgdikgeworLy8gICAgIGZsb2F0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci56eHkoZmxvYXQzIHYpIHsKKy8v
ICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0b3Iuenh5PShmbG9hdDMgdiwgZmxvYXQzIGMpIHsKKy8v
ICAgICBmbG9hdDMgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICBy
ZXN1bHQueCA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnp4eihmbG9hdDMgdikgeworLy8gICAgIGZs
b2F0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGZsb2F0MyBvcGVyYXRvci56eXgoZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAg
IHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDMg
b3BlcmF0b3Iuenl4PShmbG9hdDMgdiwgZmxvYXQzIGMpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0
ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8v
ICAgICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxv
YXQzIG9wZXJhdG9yLnp5eShmbG9hdDMgdikgeworLy8gICAgIGZsb2F0MyByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRv
ci56eXooZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0b3Iuenp4KGZsb2F0
MyB2KSB7CisvLyAgICAgZmxvYXQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8v
ICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnp6eShmbG9hdDMgdikgeworLy8g
ICAgIGZsb2F0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci56enooZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDMg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBm
bG9hdDMgb3BlcmF0b3IueHh4KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQzIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJh
dG9yLnh4eShmbG9hdDQgdikgeworLy8gICAgIGZsb2F0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci54eHooZmxv
YXQ0IHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0b3IueHh3KGZsb2F0NCB2KSB7Cisv
LyAgICAgZmxvYXQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnh5eChmbG9hdDQgdikgeworLy8gICAgIGZsb2F0
MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGZsb2F0MyBvcGVyYXRvci54eXkoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDMgb3Bl
cmF0b3IueHl6KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQzIHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh5ej0o
ZmxvYXQ0IHYsIGZsb2F0MyBjKSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdCA9IHY7CisvLyAgICAg
cmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0Lnog
PSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci54
eXcoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHl3PShmbG9hdDQg
diwgZmxvYXQzIGMpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQu
eCA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnh6eChmbG9h
dDQgdikgeworLy8gICAgIGZsb2F0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci54enkoZmxvYXQ0IHYpIHsKKy8v
ICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHp5PShmbG9hdDQgdiwgZmxvYXQzIGMpIHsKKy8v
ICAgICBmbG9hdDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICBy
ZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnh6eihmbG9hdDQgdikgeworLy8gICAgIGZs
b2F0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGZsb2F0MyBvcGVyYXRvci54encoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAg
IHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQg
b3BlcmF0b3IueHp3PShmbG9hdDQgdiwgZmxvYXQzIGMpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0
ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8v
ICAgICByZXN1bHQudyA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxv
YXQzIG9wZXJhdG9yLnh3eChmbG9hdDQgdikgeworLy8gICAgIGZsb2F0MyByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRv
ci54d3koZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHd5PShmbG9h
dDQgdiwgZmxvYXQzIGMpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1
bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnh3eihm
bG9hdDQgdikgeworLy8gICAgIGZsb2F0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54d3o9KGZsb2F0NCB2LCBm
bG9hdDMgYykgeworLy8gICAgIGZsb2F0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0g
Yy54OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0b3IueHd3KGZsb2F0NCB2
KSB7CisvLyAgICAgZmxvYXQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnl4eChmbG9hdDQgdikgeworLy8gICAg
IGZsb2F0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGZsb2F0MyBvcGVyYXRvci55eHkoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDMgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8g
ICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9h
dDMgb3BlcmF0b3IueXh6KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQzIHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQu
eiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9y
Lnl4ej0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdCA9IHY7Cisv
LyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVz
dWx0LnogPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVy
YXRvci55eHcoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueXh3PShm
bG9hdDQgdiwgZmxvYXQzIGMpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0ID0gdjsKKy8vICAgICBy
ZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXN1bHQudyA9
IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnl5
eChmbG9hdDQgdikgeworLy8gICAgIGZsb2F0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci55eXkoZmxvYXQ0IHYp
IHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0b3IueXl6KGZsb2F0NCB2KSB7CisvLyAgICAg
ZmxvYXQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gZmxvYXQzIG9wZXJhdG9yLnl5dyhmbG9hdDQgdikgeworLy8gICAgIGZsb2F0MyByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0
MyBvcGVyYXRvci55engoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iu
eXp4PShmbG9hdDQgdiwgZmxvYXQzIGMpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0ID0gdjsKKy8v
ICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1
bHQueCA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJh
dG9yLnl6eShmbG9hdDQgdikgeworLy8gICAgIGZsb2F0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci55enooZmxv
YXQ0IHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0b3IueXp3KGZsb2F0NCB2KSB7Cisv
LyAgICAgZmxvYXQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl6dz0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7Cisv
LyAgICAgZmxvYXQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAg
cmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci55d3goZmxvYXQ0IHYpIHsKKy8vICAgICBm
bG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di53OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBmbG9hdDQgb3BlcmF0b3IueXd4PShmbG9hdDQgdiwgZmxvYXQzIGMpIHsKKy8vICAgICBm
bG9hdDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQu
dyA9IGMueTsKKy8vICAgICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnl3eShmbG9hdDQgdikgeworLy8gICAgIGZsb2F0MyBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZs
b2F0MyBvcGVyYXRvci55d3ooZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3Vs
dC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0
b3IueXd6PShmbG9hdDQgdiwgZmxvYXQzIGMpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0ID0gdjsK
Ky8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICBy
ZXN1bHQueiA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9w
ZXJhdG9yLnl3dyhmbG9hdDQgdikgeworLy8gICAgIGZsb2F0MyByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci56eHgo
ZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56
OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0b3Iuenh5KGZsb2F0NCB2KSB7
CisvLyAgICAgZmxvYXQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp4eT0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7
CisvLyAgICAgZmxvYXQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAg
ICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci56eHooZmxvYXQ0IHYpIHsKKy8vICAg
ICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55
ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBmbG9hdDMgb3BlcmF0b3Iuenh3KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQzIHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8v
ICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxv
YXQ0IG9wZXJhdG9yLnp4dz0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7CisvLyAgICAgZmxvYXQ0IHJl
c3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7
CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGZsb2F0MyBvcGVyYXRvci56eXgoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3Bl
cmF0b3Iuenl4PShmbG9hdDQgdiwgZmxvYXQzIGMpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0ID0g
djsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAg
ICByZXN1bHQueCA9IGMuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQz
IG9wZXJhdG9yLnp5eShmbG9hdDQgdikgeworLy8gICAgIGZsb2F0MyByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci56
eXooZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0b3Iuenl3KGZsb2F0NCB2
KSB7CisvLyAgICAgZmxvYXQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAg
ICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp5dz0oZmxvYXQ0IHYsIGZsb2F0MyBj
KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7Cisv
LyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LncgPSBjLno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci56engoZmxvYXQ0IHYpIHsKKy8v
ICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3Vs
dC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0b3Iuenp5KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQz
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsK
Ky8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
ZmxvYXQzIG9wZXJhdG9yLnp6eihmbG9hdDQgdikgeworLy8gICAgIGZsb2F0MyByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVy
YXRvci56encoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0b3Iuend4KGZs
b2F0NCB2KSB7CisvLyAgICAgZmxvYXQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp3eD0oZmxvYXQ0IHYsIGZs
b2F0MyBjKSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBj
Lng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci56d3koZmxvYXQ0IHYp
IHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAg
IHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuend5PShmbG9hdDQgdiwgZmxvYXQzIGMp
IHsKKy8vICAgICBmbG9hdDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsKKy8v
ICAgICByZXN1bHQudyA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnp3eihmbG9hdDQgdikgeworLy8g
ICAgIGZsb2F0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci56d3coZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDMg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53Owor
Ly8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBm
bG9hdDMgb3BlcmF0b3Iud3h4KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQzIHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJh
dG9yLnd4eShmbG9hdDQgdikgeworLy8gICAgIGZsb2F0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci53eHk9KGZs
b2F0NCB2LCBmbG9hdDMgYykgeworLy8gICAgIGZsb2F0NCByZXN1bHQgPSB2OworLy8gICAgIHJl
c3VsdC53ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC55ID0g
Yy56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0b3Iud3h6
KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
dzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnd4ej0oZmxvYXQ0IHYs
IGZsb2F0MyBjKSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0Lncg
PSBjLng7CisvLyAgICAgcmVzdWx0LnggPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci53eHcoZmxvYXQ0
IHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8g
ICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0b3Iud3l4KGZsb2F0NCB2KSB7CisvLyAg
ICAgZmxvYXQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnd5eD0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7CisvLyAg
ICAgZmxvYXQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVz
dWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci53eXkoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9h
dDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55
OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBmbG9hdDMgb3BlcmF0b3Iud3l6KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQzIHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICBy
ZXN1bHQueiA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9w
ZXJhdG9yLnd5ej0oZmxvYXQ0IHYsIGZsb2F0MyBjKSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdCA9
IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAg
ICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0
MyBvcGVyYXRvci53eXcoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0b3Iu
d3p4KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnd6eD0oZmxvYXQ0
IHYsIGZsb2F0MyBjKSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0
LncgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci53enkoZmxv
YXQ0IHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53Owor
Ly8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iud3p5PShmbG9hdDQgdiwgZmxv
YXQzIGMpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMu
eDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQzIG9wZXJhdG9yLnd6eihmbG9hdDQgdikg
eworLy8gICAgIGZsb2F0MyByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci53encoZmxvYXQ0IHYpIHsKKy8vICAgICBm
bG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBmbG9hdDMgb3BlcmF0b3Iud3d4KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQzIHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQz
IG9wZXJhdG9yLnd3eShmbG9hdDQgdikgeworLy8gICAgIGZsb2F0MyByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0MyBvcGVyYXRvci53
d3ooZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDMgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDMgb3BlcmF0b3Iud3d3KGZsb2F0NCB2
KSB7CisvLyAgICAgZmxvYXQzIHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAg
ICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh4eHgoZmxvYXQyIHYpIHsKKy8vICAg
ICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHh4eShmbG9h
dDIgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVy
YXRvci54eHl4KGZsb2F0MiB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gZmxvYXQ0IG9wZXJhdG9yLnh4eXkoZmxvYXQyIHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAg
IHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHl4eChmbG9hdDIgdikgeworLy8gICAg
IGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54eXh5KGZsb2F0
MiB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1
bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJh
dG9yLnh5eXgoZmxvYXQyIHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55
OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBmbG9hdDQgb3BlcmF0b3IueHl5eShmbG9hdDIgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci55eHh4KGZsb2F0MiB2KSB7CisvLyAgICAg
ZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl4eHkoZmxvYXQy
IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8g
ICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3Vs
dC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0
b3IueXh5eChmbG9hdDIgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGZsb2F0NCBvcGVyYXRvci55eHl5KGZsb2F0MiB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICBy
ZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl5eHgoZmxvYXQyIHYpIHsKKy8vICAgICBm
bG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueXl4eShmbG9hdDIg
dikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0
LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRv
ci55eXl4KGZsb2F0MiB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsK
Ky8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
ZmxvYXQ0IG9wZXJhdG9yLnl5eXkoZmxvYXQyIHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHh4eChmbG9hdDMgdikgeworLy8gICAgIGZs
b2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54eHh5KGZsb2F0MyB2
KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9y
Lnh4eHooZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBm
bG9hdDQgb3BlcmF0b3IueHh5eChmbG9hdDMgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54eHl5KGZsb2F0MyB2KSB7CisvLyAgICAgZmxv
YXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh4eXooZmxvYXQzIHYp
IHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iu
eHh6eChmbG9hdDMgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZs
b2F0NCBvcGVyYXRvci54eHp5KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1
bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh4enooZmxvYXQzIHYpIHsKKy8vICAgICBmbG9h
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54
OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHl4eChmbG9hdDMgdikg
eworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54
eXh5KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8v
ICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxv
YXQ0IG9wZXJhdG9yLnh5eHooZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHl5eChmbG9hdDMgdikgeworLy8gICAgIGZsb2F0
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54eXl5KGZsb2F0MyB2KSB7
CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh5
eXooZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9h
dDQgb3BlcmF0b3IueHl6eChmbG9hdDMgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54eXp5KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsK
Ky8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh5enooZmxvYXQzIHYpIHsK
Ky8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJl
c3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHp4
eChmbG9hdDMgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0
NCBvcGVyYXRvci54enh5KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh6eHooZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHp5eChmbG9hdDMgdikgewor
Ly8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54enl5
KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAg
ICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0
IG9wZXJhdG9yLnh6eXooZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHp6eChmbG9hdDMgdikgeworLy8gICAgIGZsb2F0NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54enp5KGZsb2F0MyB2KSB7Cisv
LyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1
bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh6enoo
ZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAg
IHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQg
b3BlcmF0b3IueXh4eChmbG9hdDMgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGZsb2F0NCBvcGVyYXRvci55eHh5KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl4eHooZmxvYXQzIHYpIHsKKy8v
ICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueXh5eChm
bG9hdDMgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBv
cGVyYXRvci55eHl5KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl4eXooZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8g
ICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueXh6eChmbG9hdDMgdikgeworLy8g
ICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci55eHp5KGZs
b2F0MyB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9w
ZXJhdG9yLnl4enooZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBmbG9hdDQgb3BlcmF0b3IueXl4eChmbG9hdDMgdikgeworLy8gICAgIGZsb2F0NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci55eXh5KGZsb2F0MyB2KSB7CisvLyAg
ICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl5eHooZmxv
YXQzIHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJl
c3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3Bl
cmF0b3IueXl5eChmbG9hdDMgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGZsb2F0NCBvcGVyYXRvci55eXl5KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAg
ICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl5eXooZmxvYXQzIHYpIHsKKy8vICAg
ICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueXl6eChmbG9h
dDMgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVz
dWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVy
YXRvci55eXp5KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYu
ejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gZmxvYXQ0IG9wZXJhdG9yLnl5enooZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAg
IHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueXp4eChmbG9hdDMgdikgeworLy8gICAg
IGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci55enh5KGZsb2F0
MyB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1
bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJh
dG9yLnl6eHooZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBmbG9hdDQgb3BlcmF0b3IueXp5eChmbG9hdDMgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAg
cmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci55enl5KGZsb2F0MyB2KSB7CisvLyAgICAg
ZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl6eXooZmxvYXQz
IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8g
ICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3Vs
dC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0
b3IueXp6eChmbG9hdDMgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7
CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGZsb2F0NCBvcGVyYXRvci55enp5KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl6enooZmxvYXQzIHYpIHsKKy8vICAgICBm
bG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuenh4eChmbG9hdDMg
dikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0
LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRv
ci56eHh5KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
ZmxvYXQ0IG9wZXJhdG9yLnp4eHooZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJl
c3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuenh5eChmbG9hdDMgdikgeworLy8gICAgIGZs
b2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci56eHl5KGZsb2F0MyB2
KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAg
ICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9y
Lnp4eXooZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBm
bG9hdDQgb3BlcmF0b3Iuenh6eChmbG9hdDMgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci56eHp5KGZsb2F0MyB2KSB7CisvLyAgICAgZmxv
YXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYu
eDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp4enooZmxvYXQzIHYp
IHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAg
IHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iu
enl4eChmbG9hdDMgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZs
b2F0NCBvcGVyYXRvci56eXh5KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp5eHooZmxvYXQzIHYpIHsKKy8vICAgICBmbG9h
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55
OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuenl5eChmbG9hdDMgdikg
eworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci56
eXl5KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8v
ICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxv
YXQ0IG9wZXJhdG9yLnp5eXooZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3Vs
dC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuenl6eChmbG9hdDMgdikgeworLy8gICAgIGZsb2F0
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci56eXp5KGZsb2F0MyB2KSB7
CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICBy
ZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9
IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp5
enooZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9h
dDQgb3BlcmF0b3Iuenp4eChmbG9hdDMgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0
LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci56enh5KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsK
Ky8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp6eHooZmxvYXQzIHYpIHsK
Ky8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJl
c3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuenp5
eChmbG9hdDMgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0
NCBvcGVyYXRvci56enl5KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQu
eiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp6eXooZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56Owor
Ly8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuenp6eChmbG9hdDMgdikgewor
Ly8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci56enp5
KGZsb2F0MyB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
ejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAg
ICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0
IG9wZXJhdG9yLnp6enooZmxvYXQzIHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56
ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHh4eChmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54eHh5KGZsb2F0NCB2KSB7Cisv
LyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh4eHoo
ZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54
OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQg
b3BlcmF0b3IueHh4dyhmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGZsb2F0NCBvcGVyYXRvci54eHl4KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh4eXkoZmxvYXQ0IHYpIHsKKy8v
ICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHh5eihm
bG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBv
cGVyYXRvci54eHl3KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh4engoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8g
ICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHh6eShmbG9hdDQgdikgeworLy8g
ICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54eHp6KGZs
b2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsK
Ky8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9w
ZXJhdG9yLnh4encoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBmbG9hdDQgb3BlcmF0b3IueHh3eChmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54eHd5KGZsb2F0NCB2KSB7CisvLyAg
ICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQu
eSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh4d3ooZmxv
YXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54Owor
Ly8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJl
c3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3Bl
cmF0b3IueHh3dyhmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2
Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGZsb2F0NCBvcGVyYXRvci54eXh4KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh5eHkoZmxvYXQ0IHYpIHsKKy8vICAg
ICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHl4eihmbG9h
dDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVz
dWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVy
YXRvci54eXh3KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYu
eDsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gZmxvYXQ0IG9wZXJhdG9yLnh5eXgoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAg
IHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHl5eShmbG9hdDQgdikgeworLy8gICAg
IGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54eXl6KGZsb2F0
NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1
bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJh
dG9yLnh5eXcoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55
OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBmbG9hdDQgb3BlcmF0b3IueHl6eChmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54eXp5KGZsb2F0NCB2KSB7CisvLyAgICAg
ZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9
IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh5enooZmxvYXQ0
IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3Vs
dC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0
b3IueHl6dyhmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGZsb2F0NCBvcGVyYXRvci54eXp3PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKKy8vICAgICBmbG9h
dDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueSA9
IGMueTsKKy8vICAgICByZXN1bHQueiA9IGMuejsKKy8vICAgICByZXN1bHQudyA9IGMudzsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh5d3goZmxvYXQ0
IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8g
ICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3Vs
dC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0
b3IueHl3eShmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGZsb2F0NCBvcGVyYXRvci54eXd6KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICBy
ZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh5d3o9KGZsb2F0NCB2LCBmbG9hdDQgYykg
eworLy8gICAgIGZsb2F0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC54ID0gYy54OworLy8g
ICAgIHJlc3VsdC55ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJlc3Vs
dC56ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0
b3IueHl3dyhmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGZsb2F0NCBvcGVyYXRvci54enh4KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh6eHkoZmxvYXQ0IHYpIHsKKy8vICAgICBm
bG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHp4eihmbG9hdDQg
dikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0
LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRv
ci54enh3KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
ZmxvYXQ0IG9wZXJhdG9yLnh6eXgoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHp5eShmbG9hdDQgdikgeworLy8gICAgIGZs
b2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54enl6KGZsb2F0NCB2
KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQu
dyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9y
Lnh6eXcoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55Owor
Ly8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBm
bG9hdDQgb3BlcmF0b3IueHp5dz0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7CisvLyAgICAgZmxvYXQ0
IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBj
Lnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmVzdWx0LncgPSBjLnc7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54enp4KGZsb2F0NCB2
KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQu
dyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9y
Lnh6enkoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56Owor
Ly8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBm
bG9hdDQgb3BlcmF0b3IueHp6eihmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54enp3KGZsb2F0NCB2KSB7CisvLyAgICAgZmxv
YXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYu
ejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh6d3goZmxvYXQ0IHYp
IHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53
ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iu
eHp3eShmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZs
b2F0NCBvcGVyYXRvci54end5PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKKy8vICAgICBmbG9hdDQg
cmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueCA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMu
eTsKKy8vICAgICByZXN1bHQudyA9IGMuejsKKy8vICAgICByZXN1bHQueSA9IGMudzsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh6d3ooZmxvYXQ0IHYp
IHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAg
IHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53
ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iu
eHp3dyhmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZs
b2F0NCBvcGVyYXRvci54d3h4KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1
bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh3eHkoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9h
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53
OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHd4eihmbG9hdDQgdikg
eworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54
d3h3KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8v
ICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxv
YXQ0IG9wZXJhdG9yLnh3eXgoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3Vs
dC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHd5eShmbG9hdDQgdikgeworLy8gICAgIGZsb2F0
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54d3l6KGZsb2F0NCB2KSB7
CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh3
eXo9KGZsb2F0NCB2LCBmbG9hdDQgYykgeworLy8gICAgIGZsb2F0NCByZXN1bHQgPSB2OworLy8g
ICAgIHJlc3VsdC54ID0gYy54OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3Vs
dC55ID0gYy56OworLy8gICAgIHJlc3VsdC56ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHd5dyhmbG9hdDQgdikgeworLy8gICAgIGZsb2F0
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54d3p4KGZsb2F0NCB2KSB7
CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9
IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh3
enkoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9h
dDQgb3BlcmF0b3IueHd6eT0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7CisvLyAgICAgZmxvYXQ0IHJl
c3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnggPSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7
CisvLyAgICAgcmVzdWx0LnogPSBjLno7CisvLyAgICAgcmVzdWx0LnkgPSBjLnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54d3p6KGZsb2F0NCB2KSB7
CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9
IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh3
encoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di54OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8g
ICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9h
dDQgb3BlcmF0b3IueHd3eChmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci54d3d5KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueDsKKy8vICAgICByZXN1bHQueSA9IHYudzsK
Ky8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnh3d3ooZmxvYXQ0IHYpIHsK
Ky8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi54OworLy8gICAgIHJl
c3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0g
di56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueHd3
dyhmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lng7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0
NCBvcGVyYXRvci55eHh4KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQu
eiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl4eHkoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueXh4eihmbG9hdDQgdikgewor
Ly8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2
Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci55eHh3
KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
eTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAg
ICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0
IG9wZXJhdG9yLnl4eXgoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueXh5eShmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci55eHl6KGZsb2F0NCB2KSB7Cisv
LyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl4eXco
ZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55
OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQg
b3BlcmF0b3IueXh6eChmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGZsb2F0NCBvcGVyYXRvci55eHp5KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl4enooZmxvYXQ0IHYpIHsKKy8v
ICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueXh6dyhm
bG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBv
cGVyYXRvci55eHp3PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0
ID0gdjsKKy8vICAgICByZXN1bHQueSA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8v
ICAgICByZXN1bHQueiA9IGMuejsKKy8vICAgICByZXN1bHQudyA9IGMudzsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl4d3goZmxvYXQ0IHYpIHsKKy8v
ICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3Vs
dC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueXh3eShm
bG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBv
cGVyYXRvci55eHd6KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9
IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl4d3o9KGZsb2F0NCB2LCBmbG9hdDQgYykgeworLy8gICAg
IGZsb2F0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55ID0gYy54OworLy8gICAgIHJlc3Vs
dC54ID0gYy55OworLy8gICAgIHJlc3VsdC53ID0gYy56OworLy8gICAgIHJlc3VsdC56ID0gYy53
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueXh3dyhm
bG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBv
cGVyYXRvci55eXh4KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl5eHkoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueXl4eihmbG9hdDQgdikgeworLy8g
ICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci55eXh3KGZs
b2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsK
Ky8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9w
ZXJhdG9yLnl5eXgoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBmbG9hdDQgb3BlcmF0b3IueXl5eShmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci55eXl6KGZsb2F0NCB2KSB7CisvLyAg
ICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYuejsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl5eXcoZmxv
YXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55Owor
Ly8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJl
c3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3Bl
cmF0b3IueXl6eChmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2
Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGZsb2F0NCBvcGVyYXRvci55eXp5KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAg
ICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl5enooZmxvYXQ0IHYpIHsKKy8vICAg
ICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55
ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueXl6dyhmbG9h
dDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVy
YXRvci55eXd4KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYu
dzsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gZmxvYXQ0IG9wZXJhdG9yLnl5d3koZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAg
IHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueXl3eihmbG9hdDQgdikgeworLy8gICAg
IGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci55eXd3KGZsb2F0
NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8v
ICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1
bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJh
dG9yLnl6eHgoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBmbG9hdDQgb3BlcmF0b3IueXp4eShmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci55enh6KGZsb2F0NCB2KSB7CisvLyAgICAg
ZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl6eHcoZmxvYXQ0
IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8g
ICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3Vs
dC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0
b3IueXp4dz0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdCA9IHY7
CisvLyAgICAgcmVzdWx0LnkgPSBjLng7CisvLyAgICAgcmVzdWx0LnogPSBjLnk7CisvLyAgICAg
cmVzdWx0LnggPSBjLno7CisvLyAgICAgcmVzdWx0LncgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci55enl4KGZsb2F0NCB2KSB7CisvLyAgICAg
ZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl6eXkoZmxvYXQ0
IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8g
ICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3Vs
dC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0
b3IueXp5eihmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGZsb2F0NCBvcGVyYXRvci55enl3KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl6engoZmxvYXQ0IHYpIHsKKy8vICAgICBm
bG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueXp6eShmbG9hdDQg
dikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0
LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRv
ci55enp6KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsK
Ky8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
ZmxvYXQ0IG9wZXJhdG9yLnl6encoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJl
c3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueXp3eChmbG9hdDQgdikgeworLy8gICAgIGZs
b2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci55end4PShmbG9hdDQg
diwgZmxvYXQ0IGMpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQu
eSA9IGMueDsKKy8vICAgICByZXN1bHQueiA9IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMuejsK
Ky8vICAgICByZXN1bHQueCA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
ZmxvYXQ0IG9wZXJhdG9yLnl6d3koZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJl
c3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueXp3eihmbG9hdDQgdikgeworLy8gICAgIGZs
b2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci55end3KGZsb2F0NCB2
KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAg
ICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQu
dyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9y
Lnl3eHgoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54Owor
Ly8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBm
bG9hdDQgb3BlcmF0b3IueXd4eShmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci55d3h6KGZsb2F0NCB2KSB7CisvLyAgICAgZmxv
YXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
dzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl3eHo9KGZsb2F0NCB2
LCBmbG9hdDQgYykgeworLy8gICAgIGZsb2F0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC55
ID0gYy54OworLy8gICAgIHJlc3VsdC53ID0gYy55OworLy8gICAgIHJlc3VsdC54ID0gYy56Owor
Ly8gICAgIHJlc3VsdC56ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBm
bG9hdDQgb3BlcmF0b3IueXd4dyhmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci55d3l4KGZsb2F0NCB2KSB7CisvLyAgICAgZmxv
YXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYu
dzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl3eXkoZmxvYXQ0IHYp
IHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAg
IHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53
ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iu
eXd5eihmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZs
b2F0NCBvcGVyYXRvci55d3l3KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1
bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl3engoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9h
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53
OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueXd6eD0oZmxvYXQ0IHYs
IGZsb2F0NCBjKSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0Lnkg
PSBjLng7CisvLyAgICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmVzdWx0LnogPSBjLno7Cisv
LyAgICAgcmVzdWx0LnggPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZs
b2F0NCBvcGVyYXRvci55d3p5KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1
bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnl3enooZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9h
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53
OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueXd6dyhmbG9hdDQgdikg
eworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci55
d3d4KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYueTsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8v
ICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxv
YXQ0IG9wZXJhdG9yLnl3d3koZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi55OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3Vs
dC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3IueXd3eihmbG9hdDQgdikgeworLy8gICAgIGZsb2F0
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnk7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci55d3d3KGZsb2F0NCB2KSB7
CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYueTsKKy8vICAgICBy
ZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9
IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp4
eHgoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8g
ICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9h
dDQgb3BlcmF0b3Iuenh4eShmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci56eHh6KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp4eHcoZmxvYXQ0IHYpIHsK
Ky8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJl
c3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0g
di53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuenh5
eChmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0
NCBvcGVyYXRvci56eHl5KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQu
eiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp4eXooZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuenh5dyhmbG9hdDQgdikgewor
Ly8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci56eHl3
PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0ID0gdjsKKy8vICAg
ICByZXN1bHQueiA9IGMueDsKKy8vICAgICByZXN1bHQueCA9IGMueTsKKy8vICAgICByZXN1bHQu
eSA9IGMuejsKKy8vICAgICByZXN1bHQudyA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp4engoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuenh6eShmbG9hdDQgdikgewor
Ly8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2
Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci56eHp6
KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
ejsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAg
ICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0
IG9wZXJhdG9yLnp4encoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56
ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuenh3eChmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci56eHd5KGZsb2F0NCB2KSB7Cisv
LyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYu
eTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp4d3k9
KGZsb2F0NCB2LCBmbG9hdDQgYykgeworLy8gICAgIGZsb2F0NCByZXN1bHQgPSB2OworLy8gICAg
IHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC53
ID0gYy56OworLy8gICAgIHJlc3VsdC55ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuenh3eihmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci56eHd3KGZsb2F0NCB2KSB7Cisv
LyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1
bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYu
dzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp5eHgo
ZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAg
IHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQg
b3BlcmF0b3Iuenl4eShmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGZsb2F0NCBvcGVyYXRvci56eXh6KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp5eHcoZmxvYXQ0IHYpIHsKKy8v
ICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi53
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuenl4dz0o
ZmxvYXQ0IHYsIGZsb2F0NCBjKSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdCA9IHY7CisvLyAgICAg
cmVzdWx0LnogPSBjLng7CisvLyAgICAgcmVzdWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0Lngg
PSBjLno7CisvLyAgICAgcmVzdWx0LncgPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGZsb2F0NCBvcGVyYXRvci56eXl4KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp5eXkoZmxvYXQ0IHYpIHsKKy8v
ICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi55
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuenl5eihm
bG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAg
cmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBv
cGVyYXRvci56eXl3KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp5engoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuenl6eShmbG9hdDQgdikgeworLy8g
ICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci56eXp6KGZs
b2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsK
Ky8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICBy
ZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9w
ZXJhdG9yLnp5encoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0g
di56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBmbG9hdDQgb3BlcmF0b3Iuenl3eChmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci56eXd4PShmbG9hdDQgdiwgZmxvYXQ0
IGMpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQueiA9IGMueDsK
Ky8vICAgICByZXN1bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQudyA9IGMuejsKKy8vICAgICBy
ZXN1bHQueCA9IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9w
ZXJhdG9yLnp5d3koZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0g
di53OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBmbG9hdDQgb3BlcmF0b3Iuenl3eihmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci56eXd3KGZsb2F0NCB2KSB7CisvLyAg
ICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQu
eSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYudzsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp6eHgoZmxv
YXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56Owor
Ly8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJl
c3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3Bl
cmF0b3Iuenp4eShmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2
Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGZsb2F0NCBvcGVyYXRvci56enh6KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp6eHcoZmxvYXQ0IHYpIHsKKy8vICAg
ICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55
ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi53Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuenp5eChmbG9h
dDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVz
dWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVy
YXRvci56enl5KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYu
eTsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gZmxvYXQ0IG9wZXJhdG9yLnp6eXooZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAg
IHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuenp5dyhmbG9hdDQgdikgeworLy8gICAg
IGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci56enp4KGZsb2F0
NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8v
ICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1
bHQudyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJh
dG9yLnp6enkoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56
OworLy8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBmbG9hdDQgb3BlcmF0b3Iuenp6eihmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAg
cmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci56enp3KGZsb2F0NCB2KSB7CisvLyAgICAg
ZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9
IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp6d3goZmxvYXQ0
IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8g
ICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3Vs
dC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0
b3Iuenp3eShmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7
CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGZsb2F0NCBvcGVyYXRvci56end6KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICBy
ZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp6d3coZmxvYXQ0IHYpIHsKKy8vICAgICBm
bG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0g
di56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuend4eChmbG9hdDQg
dikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0
LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRv
ci56d3h5KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
ZmxvYXQ0IG9wZXJhdG9yLnp3eHk9KGZsb2F0NCB2LCBmbG9hdDQgYykgeworLy8gICAgIGZsb2F0
NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC56ID0gYy54OworLy8gICAgIHJlc3VsdC53ID0g
Yy55OworLy8gICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJlc3VsdC55ID0gYy53OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuend4eihmbG9hdDQg
dikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0
LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRv
ci56d3h3KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsK
Ky8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
ZmxvYXQ0IG9wZXJhdG9yLnp3eXgoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuend5eD0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7
CisvLyAgICAgZmxvYXQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LnogPSBjLng7CisvLyAg
ICAgcmVzdWx0LncgPSBjLnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmVzdWx0
LnggPSBjLnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRv
ci56d3l5KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsK
Ky8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
ZmxvYXQ0IG9wZXJhdG9yLnp3eXooZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJl
c3VsdC56ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iuend5dyhmbG9hdDQgdikgeworLy8gICAgIGZs
b2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci56d3p4KGZsb2F0NCB2
KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAg
ICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQu
dyA9IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9y
Lnp3enkoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi56Owor
Ly8gICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBm
bG9hdDQgb3BlcmF0b3Iuend6eihmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci56d3p3KGZsb2F0NCB2KSB7CisvLyAgICAgZmxv
YXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYu
dzsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAg
ICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp3d3goZmxvYXQ0IHYp
IHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAg
IHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53
ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iu
end3eShmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0Lngg
PSB2Lno7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZs
b2F0NCBvcGVyYXRvci56d3d6KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8v
ICAgICByZXN1bHQueCA9IHYuejsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1
bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0
OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnp3d3coZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9h
dDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi56OworLy8gICAgIHJlc3VsdC55ID0gdi53
OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAg
IHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iud3h4eChmbG9hdDQgdikg
eworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0Lncg
PSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci53
eHh5KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9
IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8v
ICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxv
YXQ0IG9wZXJhdG9yLnd4eHooZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8g
ICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3Vs
dC56ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7
CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iud3h4dyhmbG9hdDQgdikgeworLy8gICAgIGZsb2F0
NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7
CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAg
cmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci53eHl4KGZsb2F0NCB2KSB7
CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICBy
ZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9
IHYueDsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnd4
eXkoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9h
dDQgb3BlcmF0b3Iud3h5eihmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci53eHl6PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKKy8v
ICAgICBmbG9hdDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICBy
ZXN1bHQueCA9IGMueTsKKy8vICAgICByZXN1bHQueSA9IGMuejsKKy8vICAgICByZXN1bHQueiA9
IGMudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnd4
eXcoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0g
di53OworLy8gICAgIHJlc3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8g
ICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9h
dDQgb3BlcmF0b3Iud3h6eChmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci53eHp5KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueTsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnd4enk9KGZsb2F0NCB2LCBm
bG9hdDQgYykgeworLy8gICAgIGZsb2F0NCByZXN1bHQgPSB2OworLy8gICAgIHJlc3VsdC53ID0g
Yy54OworLy8gICAgIHJlc3VsdC54ID0gYy55OworLy8gICAgIHJlc3VsdC56ID0gYy56OworLy8g
ICAgIHJlc3VsdC55ID0gYy53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9h
dDQgb3BlcmF0b3Iud3h6eihmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAg
ICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0
LnogPSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsK
Ky8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci53eHp3KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0
IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsK
Ky8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICBy
ZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnd4d3goZmxvYXQ0IHYpIHsK
Ky8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJl
c3VsdC55ID0gdi54OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0g
di54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iud3h3
eShmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lng7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0
NCBvcGVyYXRvci53eHd6KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAg
ICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueDsKKy8vICAgICByZXN1bHQu
eiA9IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0Owor
Ly8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnd4d3coZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQg
cmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi54Owor
Ly8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJl
dHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iud3l4eChmbG9hdDQgdikgewor
Ly8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2
Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci53eXh5
KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
dzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAg
ICByZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0
IG9wZXJhdG9yLnd5eHooZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi54OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iud3l4ej0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7CisvLyAg
ICAgZmxvYXQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVz
dWx0LnkgPSBjLnk7CisvLyAgICAgcmVzdWx0LnggPSBjLno7CisvLyAgICAgcmVzdWx0LnogPSBj
Lnc7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci53eXh3
KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYu
dzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAg
ICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0
IG9wZXJhdG9yLnd5eXgoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAg
IHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56
ID0gdi55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7Cisv
LyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iud3l5eShmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCBy
ZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7Cisv
LyAgICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0
dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci53eXl6KGZsb2F0NCB2KSB7Cisv
LyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1
bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYu
ejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnd5eXco
ZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAg
IHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQg
b3BlcmF0b3Iud3l6eChmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGZsb2F0NCBvcGVyYXRvci53eXp4PShmbG9hdDQgdiwgZmxvYXQ0IGMpIHsKKy8vICAg
ICBmbG9hdDQgcmVzdWx0ID0gdjsKKy8vICAgICByZXN1bHQudyA9IGMueDsKKy8vICAgICByZXN1
bHQueSA9IGMueTsKKy8vICAgICByZXN1bHQueiA9IGMuejsKKy8vICAgICByZXN1bHQueCA9IGMu
dzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnd5enko
ZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53
OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAg
IHJlc3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQg
b3BlcmF0b3Iud3l6eihmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAg
cmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0Lnog
PSB2Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8v
IH0KKy8vIGZsb2F0NCBvcGVyYXRvci53eXp3KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJl
c3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8v
ICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1
cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnd5d3goZmxvYXQ0IHYpIHsKKy8v
ICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3Vs
dC55ID0gdi55OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54
OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iud3l3eShm
bG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7
CisvLyAgICAgcmVzdWx0LnkgPSB2Lnk7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAg
cmVzdWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBv
cGVyYXRvci53eXd6KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICBy
ZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYueTsKKy8vICAgICByZXN1bHQueiA9
IHYudzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8g
fQorLy8gZmxvYXQ0IG9wZXJhdG9yLnd5d3coZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVz
dWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi55OworLy8g
ICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iud3p4eChmbG9hdDQgdikgeworLy8g
ICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci53enh5KGZs
b2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsK
Ky8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9w
ZXJhdG9yLnd6eHk9KGZsb2F0NCB2LCBmbG9hdDQgYykgeworLy8gICAgIGZsb2F0NCByZXN1bHQg
PSB2OworLy8gICAgIHJlc3VsdC53ID0gYy54OworLy8gICAgIHJlc3VsdC56ID0gYy55OworLy8g
ICAgIHJlc3VsdC54ID0gYy56OworLy8gICAgIHJlc3VsdC55ID0gYy53OworLy8gICAgIHJldHVy
biByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iud3p4eihmbG9hdDQgdikgeworLy8g
ICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0
LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci53enh3KGZs
b2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsK
Ky8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICBy
ZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9w
ZXJhdG9yLnd6eXgoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBmbG9hdDQgb3BlcmF0b3Iud3p5eD0oZmxvYXQ0IHYsIGZsb2F0NCBjKSB7CisvLyAgICAg
ZmxvYXQ0IHJlc3VsdCA9IHY7CisvLyAgICAgcmVzdWx0LncgPSBjLng7CisvLyAgICAgcmVzdWx0
LnogPSBjLnk7CisvLyAgICAgcmVzdWx0LnkgPSBjLno7CisvLyAgICAgcmVzdWx0LnggPSBjLnc7
CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci53enl5KGZs
b2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsK
Ky8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICBy
ZXN1bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9w
ZXJhdG9yLnd6eXooZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJl
c3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0g
di55OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9
CisvLyBmbG9hdDQgb3BlcmF0b3Iud3p5dyhmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1
bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAg
ICAgcmVzdWx0LnogPSB2Lnk7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJu
IHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci53enp4KGZsb2F0NCB2KSB7CisvLyAg
ICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQu
eSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYueDsK
Ky8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnd6enkoZmxv
YXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53Owor
Ly8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJl
c3VsdC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3Bl
cmF0b3Iud3p6eihmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVz
dWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2
Lno7CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0K
Ky8vIGZsb2F0NCBvcGVyYXRvci53enp3KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3Vs
dDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAg
ICByZXN1bHQueiA9IHYuejsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4g
cmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnd6d3goZmxvYXQ0IHYpIHsKKy8vICAg
ICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55
ID0gdi56OworLy8gICAgIHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi54Owor
Ly8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iud3p3eShmbG9h
dDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7Cisv
LyAgICAgcmVzdWx0LnkgPSB2Lno7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVz
dWx0LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVy
YXRvci53end6KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1
bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYuejsKKy8vICAgICByZXN1bHQueiA9IHYu
dzsKKy8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQor
Ly8gZmxvYXQ0IG9wZXJhdG9yLnd6d3coZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0
OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi56OworLy8gICAg
IHJlc3VsdC56ID0gdi53OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiBy
ZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iud3d4eChmbG9hdDQgdikgeworLy8gICAg
IGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0Lnkg
PSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7Cisv
LyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci53d3h5KGZsb2F0
NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8v
ICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueDsKKy8vICAgICByZXN1
bHQudyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJh
dG9yLnd3eHooZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3Vs
dC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi54
OworLy8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9Cisv
LyBmbG9hdDQgb3BlcmF0b3Iud3d4dyhmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7
CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAg
cmVzdWx0LnogPSB2Lng7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJl
c3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci53d3l4KGZsb2F0NCB2KSB7CisvLyAgICAg
ZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9
IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYueDsKKy8v
ICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnd3eXkoZmxvYXQ0
IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8g
ICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi55OworLy8gICAgIHJlc3Vs
dC53ID0gdi55OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0
b3Iud3d5eihmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0
LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnk7
CisvLyAgICAgcmVzdWx0LncgPSB2Lno7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8v
IGZsb2F0NCBvcGVyYXRvci53d3l3KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsK
Ky8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICBy
ZXN1bHQueiA9IHYueTsKKy8vICAgICByZXN1bHQudyA9IHYudzsKKy8vICAgICByZXR1cm4gcmVz
dWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9yLnd3engoZmxvYXQ0IHYpIHsKKy8vICAgICBm
bG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0g
di53OworLy8gICAgIHJlc3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi54OworLy8g
ICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iud3d6eShmbG9hdDQg
dikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAg
ICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lno7CisvLyAgICAgcmVzdWx0
LncgPSB2Lnk7CisvLyAgICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRv
ci53d3p6KGZsb2F0NCB2KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQu
eCA9IHYudzsKKy8vICAgICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYuejsK
Ky8vICAgICByZXN1bHQudyA9IHYuejsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8g
ZmxvYXQ0IG9wZXJhdG9yLnd3encoZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0Owor
Ly8gICAgIHJlc3VsdC54ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJl
c3VsdC56ID0gdi56OworLy8gICAgIHJlc3VsdC53ID0gdi53OworLy8gICAgIHJldHVybiByZXN1
bHQ7CisvLyB9CisvLyBmbG9hdDQgb3BlcmF0b3Iud3d3eChmbG9hdDQgdikgeworLy8gICAgIGZs
b2F0NCByZXN1bHQ7CisvLyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2
Lnc7CisvLyAgICAgcmVzdWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lng7CisvLyAg
ICAgcmV0dXJuIHJlc3VsdDsKKy8vIH0KKy8vIGZsb2F0NCBvcGVyYXRvci53d3d5KGZsb2F0NCB2
KSB7CisvLyAgICAgZmxvYXQ0IHJlc3VsdDsKKy8vICAgICByZXN1bHQueCA9IHYudzsKKy8vICAg
ICByZXN1bHQueSA9IHYudzsKKy8vICAgICByZXN1bHQueiA9IHYudzsKKy8vICAgICByZXN1bHQu
dyA9IHYueTsKKy8vICAgICByZXR1cm4gcmVzdWx0OworLy8gfQorLy8gZmxvYXQ0IG9wZXJhdG9y
Lnd3d3ooZmxvYXQ0IHYpIHsKKy8vICAgICBmbG9hdDQgcmVzdWx0OworLy8gICAgIHJlc3VsdC54
ID0gdi53OworLy8gICAgIHJlc3VsdC55ID0gdi53OworLy8gICAgIHJlc3VsdC56ID0gdi53Owor
Ly8gICAgIHJlc3VsdC53ID0gdi56OworLy8gICAgIHJldHVybiByZXN1bHQ7CisvLyB9CisvLyBm
bG9hdDQgb3BlcmF0b3Iud3d3dyhmbG9hdDQgdikgeworLy8gICAgIGZsb2F0NCByZXN1bHQ7Cisv
LyAgICAgcmVzdWx0LnggPSB2Lnc7CisvLyAgICAgcmVzdWx0LnkgPSB2Lnc7CisvLyAgICAgcmVz
dWx0LnogPSB2Lnc7CisvLyAgICAgcmVzdWx0LncgPSB2Lnc7CisvLyAgICAgcmV0dXJuIHJlc3Vs
dDsKKy8vIH0KKworbmF0aXZlIGZsb2F0IGNvcyhmbG9hdCk7CitoYWxmIGNvcyhoYWxmIHgpIHsK
KyAgICByZXR1cm4gaGFsZihjb3MoZmxvYXQoeCkpKTsKK30KK25hdGl2ZSBmbG9hdCBzaW4oZmxv
YXQpOworaGFsZiBzaW4oaGFsZiB4KSB7CisgICAgcmV0dXJuIGhhbGYoc2luKGZsb2F0KHgpKSk7
Cit9CituYXRpdmUgZmxvYXQgdGFuKGZsb2F0KTsKK2hhbGYgdGFuKGhhbGYgeCkgeworICAgIHJl
dHVybiBoYWxmKHRhbihmbG9hdCh4KSkpOworfQorbmF0aXZlIGZsb2F0IGFjb3MoZmxvYXQpOwor
aGFsZiBhY29zKGhhbGYgeCkgeworICAgIHJldHVybiBoYWxmKGFjb3MoZmxvYXQoeCkpKTsKK30K
K25hdGl2ZSBmbG9hdCBhc2luKGZsb2F0KTsKK2hhbGYgYXNpbihoYWxmIHgpIHsKKyAgICByZXR1
cm4gaGFsZihhc2luKGZsb2F0KHgpKSk7Cit9CituYXRpdmUgZmxvYXQgYXRhbihmbG9hdCk7Cito
YWxmIGF0YW4oaGFsZiB4KSB7CisgICAgcmV0dXJuIGhhbGYoYXRhbihmbG9hdCh4KSkpOworfQor
bmF0aXZlIGZsb2F0IGNvc2goZmxvYXQpOworaGFsZiBjb3NoKGhhbGYgeCkgeworICAgIHJldHVy
biBoYWxmKGNvc2goZmxvYXQoeCkpKTsKK30KK25hdGl2ZSBmbG9hdCBzaW5oKGZsb2F0KTsKK2hh
bGYgc2luaChoYWxmIHgpIHsKKyAgICByZXR1cm4gaGFsZihzaW5oKGZsb2F0KHgpKSk7Cit9Citu
YXRpdmUgZmxvYXQgdGFuaChmbG9hdCk7CitoYWxmIHRhbmgoaGFsZiB4KSB7CisgICAgcmV0dXJu
IGhhbGYodGFuaChmbG9hdCh4KSkpOworfQorbmF0aXZlIGZsb2F0IGNlaWwoZmxvYXQpOworaGFs
ZiBjZWlsKGhhbGYgeCkgeworICAgIHJldHVybiBoYWxmKGNlaWwoZmxvYXQoeCkpKTsKK30KK25h
dGl2ZSBmbG9hdCBleHAoZmxvYXQpOworaGFsZiBleHAoaGFsZiB4KSB7CisgICAgcmV0dXJuIGhh
bGYoZXhwKGZsb2F0KHgpKSk7Cit9CituYXRpdmUgZmxvYXQgZmxvb3IoZmxvYXQpOworaGFsZiBm
bG9vcihoYWxmIHgpIHsKKyAgICByZXR1cm4gaGFsZihmbG9vcihmbG9hdCh4KSkpOworfQorbmF0
aXZlIGZsb2F0IGxvZyhmbG9hdCk7CitoYWxmIGxvZyhoYWxmIHgpIHsKKyAgICByZXR1cm4gaGFs
Zihsb2coZmxvYXQoeCkpKTsKK30KK25hdGl2ZSBmbG9hdCByb3VuZChmbG9hdCk7CitoYWxmIHJv
dW5kKGhhbGYgeCkgeworICAgIHJldHVybiBoYWxmKHJvdW5kKGZsb2F0KHgpKSk7Cit9CituYXRp
dmUgZmxvYXQgdHJ1bmMoZmxvYXQpOworaGFsZiB0cnVuYyhoYWxmIHgpIHsKKyAgICByZXR1cm4g
aGFsZih0cnVuYyhmbG9hdCh4KSkpOworfQorbmF0aXZlIGZsb2F0IGRkeChmbG9hdCk7CitoYWxm
IGRkeChoYWxmIHgpIHsKKyAgICByZXR1cm4gaGFsZihkZHgoZmxvYXQoeCkpKTsKK30KK25hdGl2
ZSBmbG9hdCBkZHkoZmxvYXQpOworaGFsZiBkZHkoaGFsZiB4KSB7CisgICAgcmV0dXJuIGhhbGYo
ZGR5KGZsb2F0KHgpKSk7Cit9CitoYWxmIHNxcnQoaGFsZiB4KSB7CisgICAgcmV0dXJuIHBvdyh4
LCAwLjUpOworfQoraGFsZiBsb2cyKGhhbGYgeCkgeworICAgIHJldHVybiBsb2coeCkgLyBsb2co
Mik7Cit9CitoYWxmIGxvZzEwKGhhbGYgeCkgeworICAgIHJldHVybiBsb2coeCkgLyBsb2coMTAp
OworfQoraGFsZiBmcmFjKGhhbGYgeCkgeworICAgIHJldHVybiB4IC0gZmxvb3IoeCk7Cit9Cito
YWxmIGV4cDIoaGFsZiB4KSB7CisgICAgcmV0dXJuIGV4cCh4ICogbG9nKDIpKTsKK30KK2hhbGYg
ZGVncmVlcyhoYWxmIHgpIHsKKyAgICByZXR1cm4geCAqIDE4MCAvIDMuMTQxNTk7Cit9CitoYWxm
IHJhZGlhbnMoaGFsZiB4KSB7CisgICAgcmV0dXJuIHggKiAzLjE0MTU5IC8gMTgwOworfQoraGFs
ZiByY3AoaGFsZiB4KSB7CisgICAgcmV0dXJuIDEgLyB4OworfQoraGFsZiByc3FydChoYWxmIHgp
IHsKKyAgICByZXR1cm4gMSAvIHNxcnQoeCk7Cit9CitoYWxmIHNhdHVyYXRlKGhhbGYgeCkgewor
ICAgIHJldHVybiBjbGFtcCh4LCAwLCAxKTsKK30KK2hhbGYgZGR4X2NvYXJzZShoYWxmIHgpIHsK
KyAgICByZXR1cm4gZGR4KHgpOworfQoraGFsZiBkZHhfZmluZShoYWxmIHgpIHsKKyAgICByZXR1
cm4gZGR4KHgpOworfQoraGFsZiBkZHlfY29hcnNlKGhhbGYgeCkgeworICAgIHJldHVybiBkZHko
eCk7Cit9CitoYWxmIGRkeV9maW5lKGhhbGYgeCkgeworICAgIHJldHVybiBkZHkoeCk7Cit9Cito
YWxmIGZ3aWR0aChoYWxmIHgpIHsKKyAgICByZXR1cm4gYWJzKGRkeCh4KSkgKyBhYnMoZGR5KHgp
KTsKK30KK2hhbGYyIGNvcyhoYWxmMiB4KSB7CisgICAgaGFsZjIgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IGNvcyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjb3MoeFsxXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYzIGNvcyhoYWxmMyB4KSB7CisgICAgaGFsZjMgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IGNvcyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjb3MoeFsxXSk7CisgICAg
cmVzdWx0WzJdID0gY29zKHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNCBjb3Mo
aGFsZjQgeCkgeworICAgIGhhbGY0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBjb3MoeFswXSk7
CisgICAgcmVzdWx0WzFdID0gY29zKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGNvcyh4WzJdKTsK
KyAgICByZXN1bHRbM10gPSBjb3MoeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYy
eDIgY29zKGhhbGYyeDIgeCkgeworICAgIGhhbGYyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFd
WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4MyBjb3MoaGFsZjJ4MyB4KSB7Cisg
ICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3MoeFsxXVsyXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgY29zKGhhbGYyeDQgeCkgeworICAgIGhhbGYyeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjb3MoeFsx
XVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBjb3MoeFsxXVszXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgY29zKGhhbGYzeDIgeCkgeworICAgIGhhbGYzeDIg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsy
XVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitoYWxmM3gzIGNvcyhoYWxmM3gzIHgpIHsKKyAgICBoYWxmM3gzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zKHhb
MF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsy
XVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGNvcyh4WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4NCBjb3MoaGFs
ZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY29zKHhb
MF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY29zKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVsz
XSA9IGNvcyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGNvcyh4WzJd
WzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBjb3MoeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGY0eDIgY29zKGhhbGY0eDIgeCkgeworICAgIGhhbGY0eDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVswXSA9IGNvcyh4WzNd
WzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBjb3MoeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGY0eDMgY29zKGhhbGY0eDMgeCkgeworICAgIGhhbGY0eDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGNvcyh4WzJd
WzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjb3MoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gY29zKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVswXSA9IGNvcyh4WzNdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSBjb3MoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gY29zKHhbM11b
Ml0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHg0IGNvcyhoYWxmNHg0IHgpIHsKKyAg
ICBoYWxmNHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBjb3MoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBjb3MoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY29zKHhbMV1b
M10pOworICAgIHJlc3VsdFsyXVswXSA9IGNvcyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBjb3MoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY29zKHhbMl1bMl0pOworICAgIHJl
c3VsdFsyXVszXSA9IGNvcyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMF0gPSBjb3MoeFszXVsw
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gY29zKHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9
IGNvcyh4WzNdWzJdKTsKKyAgICByZXN1bHRbM11bM10gPSBjb3MoeFszXVszXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2hhbGYyIHNpbihoYWxmMiB4KSB7CisgICAgaGFsZjIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IHNpbih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBzaW4oeFsxXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIHNpbihoYWxmMyB4KSB7CisgICAgaGFsZjMgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IHNpbih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBzaW4oeFsx
XSk7CisgICAgcmVzdWx0WzJdID0gc2luKHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cito
YWxmNCBzaW4oaGFsZjQgeCkgeworICAgIGhhbGY0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBz
aW4oeFswXSk7CisgICAgcmVzdWx0WzFdID0gc2luKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHNp
bih4WzJdKTsKKyAgICByZXN1bHRbM10gPSBzaW4oeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2hhbGYyeDIgc2luKGhhbGYyeDIgeCkgeworICAgIGhhbGYyeDIgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9
IHNpbih4WzFdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4MyBzaW4oaGFsZjJ4
MyB4KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsy
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgc2luKGhhbGYyeDQgeCkgeworICAg
IGhhbGYyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IHNpbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOworICAgIHJl
c3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzaW4oeFsxXVsz
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgc2luKGhhbGYzeDIgeCkgeworICAg
IGhhbGYzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1b
MF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitoYWxmM3gzIHNpbihoYWxmM3gzIHgpIHsKKyAgICBoYWxmM3gzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gc2luKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbih4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1b
MV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOworICAgIHJl
c3VsdFsyXVsyXSA9IHNpbih4WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4
NCBzaW4oaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gc2luKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2luKHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBzaW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOworICAgIHJl
c3VsdFsxXVszXSA9IHNpbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVsw
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9
IHNpbih4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzaW4oeFsyXVszXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgc2luKGhhbGY0eDIgeCkgeworICAgIGhhbGY0eDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVsw
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVswXSA9
IHNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW4oeFszXVsxXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMgc2luKGhhbGY0eDMgeCkgeworICAgIGhhbGY0eDMgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsx
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9
IHNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzaW4oeFsyXVsxXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gc2luKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVswXSA9IHNpbih4WzNdWzBd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
c2luKHhbM11bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHg0IHNpbihoYWxmNHg0
IHgpIHsKKyAgICBoYWxmNHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHNpbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW4oeFswXVszXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
c2luKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IHNpbih4WzJdWzBdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc2luKHhbMl1bMl0p
OworICAgIHJlc3VsdFsyXVszXSA9IHNpbih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMF0gPSBz
aW4oeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc2luKHhbM11bMV0pOworICAgIHJlc3Vs
dFszXVsyXSA9IHNpbih4WzNdWzJdKTsKKyAgICByZXN1bHRbM11bM10gPSBzaW4oeFszXVszXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIHRhbihoYWxmMiB4KSB7CisgICAgaGFsZjIg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IHRhbih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSB0YW4o
eFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIHRhbihoYWxmMyB4KSB7CisgICAg
aGFsZjMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHRhbih4WzBdKTsKKyAgICByZXN1bHRbMV0g
PSB0YW4oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gdGFuKHhbMl0pOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitoYWxmNCB0YW4oaGFsZjQgeCkgeworICAgIGhhbGY0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSB0YW4oeFswXSk7CisgICAgcmVzdWx0WzFdID0gdGFuKHhbMV0pOworICAgIHJlc3Vs
dFsyXSA9IHRhbih4WzJdKTsKKyAgICByZXN1bHRbM10gPSB0YW4oeFszXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYyeDIgdGFuKGhhbGYyeDIgeCkgeworICAgIGhhbGYyeDIgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0
YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4MyB0
YW4oaGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
dGFuKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1bMF0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0
YW4oeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgdGFuKGhhbGYyeDQg
eCkgeworICAgIGhhbGYyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
dGFuKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRhbih4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSB0
YW4oeFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgdGFuKGhhbGYzeDIg
eCkgeworICAgIGhhbGYzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
dGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0p
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gzIHRhbihoYWxmM3gzIHgpIHsKKyAgICBo
YWxmM3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRhbih4WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
dGFuKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbih4WzFdWzJdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0p
OworICAgIHJlc3VsdFsyXVsyXSA9IHRhbih4WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQoraGFsZjN4NCB0YW4oaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
dGFuKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0p
OworICAgIHJlc3VsdFsxXVszXSA9IHRhbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0
YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IHRhbih4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0YW4oeFsyXVszXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgdGFuKGhhbGY0eDIgeCkgeworICAgIGhh
bGY0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1bMF0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0
YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0pOworICAgIHJlc3Vs
dFszXVswXSA9IHRhbih4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0YW4oeFszXVsxXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMgdGFuKGhhbGY0eDMgeCkgeworICAgIGhh
bGY0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0
YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVswXSA9IHRhbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsyXVsxXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gdGFuKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVswXSA9IHRh
bih4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSB0YW4oeFszXVsxXSk7CisgICAgcmVzdWx0
WzNdWzJdID0gdGFuKHhbM11bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHg0IHRh
bihoYWxmNHg0IHgpIHsKKyAgICBoYWxmNHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0
YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0YW4oeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRh
bih4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW4oeFsxXVsyXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gdGFuKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbih4WzJdWzBdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSB0YW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gdGFu
KHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IHRhbih4WzJdWzNdKTsKKyAgICByZXN1bHRb
M11bMF0gPSB0YW4oeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gdGFuKHhbM11bMV0pOwor
ICAgIHJlc3VsdFszXVsyXSA9IHRhbih4WzNdWzJdKTsKKyAgICByZXN1bHRbM11bM10gPSB0YW4o
eFszXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIGFjb3MoaGFsZjIgeCkgewor
ICAgIGhhbGYyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhY29zKHhbMF0pOworICAgIHJlc3Vs
dFsxXSA9IGFjb3MoeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIGFjb3MoaGFs
ZjMgeCkgeworICAgIGhhbGYzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhY29zKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGFjb3MoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYWNvcyh4WzJdKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjQgYWNvcyhoYWxmNCB4KSB7CisgICAgaGFsZjQg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFjb3MoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYWNv
cyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhY29zKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGFj
b3MoeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgYWNvcyhoYWxmMngyIHgp
IHsKKyAgICBoYWxmMngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
YWNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitoYWxmMngzIGFjb3MoaGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4MyBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBhY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhY29z
KHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYyeDQgYWNvcyhoYWxmMng0IHgpIHsKKyAgICBoYWxmMng0IHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGFjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBhY29zKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsx
XVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBhY29zKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGFjb3MoeFsxXVszXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgYWNvcyhoYWxmM3gyIHgpIHsKKyAgICBoYWxm
M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9
IGFjb3MoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQoraGFsZjN4MyBhY29zKGhhbGYzeDMgeCkgeworICAgIGhhbGYzeDMg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gYWNvcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWNv
cyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVswXSA9IGFjb3MoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBhY29zKHhbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitoYWxmM3g0IGFjb3MoaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhb
MF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzBd
WzNdID0gYWNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWNv
cyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhY29zKHhbMV1bM10pOworICAgIHJlc3Vs
dFsyXVswXSA9IGFjb3MoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYWNvcyh4WzJdWzFd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBhY29zKHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9
IGFjb3MoeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgYWNvcyhoYWxm
NHgyIHgpIHsKKyAgICBoYWxmNHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhb
MF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gYWNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGFjb3MoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYWNv
cyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhY29zKHhbM11bMF0pOworICAgIHJlc3Vs
dFszXVsxXSA9IGFjb3MoeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMg
YWNvcyhoYWxmNHgzIHgpIHsKKyAgICBoYWxmNHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSBhY29zKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhb
MV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gYWNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYWNv
cyh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhY29zKHhbM11bMF0pOworICAgIHJlc3Vs
dFszXVsxXSA9IGFjb3MoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYWNvcyh4WzNdWzJd
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4NCBhY29zKGhhbGY0eDQgeCkgeworICAg
IGhhbGY0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFjb3MoeFswXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhb
MF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFjb3MoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gYWNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYWNv
cyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYWNvcyh4WzJdWzJd
KTsKKyAgICByZXN1bHRbMl1bM10gPSBhY29zKHhbMl1bM10pOworICAgIHJlc3VsdFszXVswXSA9
IGFjb3MoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYWNvcyh4WzNdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMl0gPSBhY29zKHhbM11bMl0pOworICAgIHJlc3VsdFszXVszXSA9IGFjb3MoeFsz
XVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIGFzaW4oaGFsZjIgeCkgeworICAg
IGhhbGYyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc2luKHhbMF0pOworICAgIHJlc3VsdFsx
XSA9IGFzaW4oeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIGFzaW4oaGFsZjMg
eCkgeworICAgIGhhbGYzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc2luKHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGFzaW4oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXNpbih4WzJdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQoraGFsZjQgYXNpbihoYWxmNCB4KSB7CisgICAgaGFsZjQgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IGFzaW4oeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXNpbih4
WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhc2luKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGFzaW4o
eFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgYXNpbihoYWxmMngyIHgpIHsK
KyAgICBoYWxmMngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXNp
bih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitoYWxmMngzIGFzaW4oaGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4MyByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBhc2luKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhb
MV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK2hhbGYyeDQgYXNpbihoYWxmMng0IHgpIHsKKyAgICBoYWxmMng0IHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFz
aW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKKyAgICByZXN1
bHRbMF1bM10gPSBhc2luKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVsw
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBhc2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGFzaW4oeFsxXVszXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgYXNpbihoYWxmM3gyIHgpIHsKKyAgICBoYWxmM3gy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGFzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IGFz
aW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXNpbih4WzJdWzFdKTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQoraGFsZjN4MyBhc2luKGhhbGYzeDMgeCkgeworICAgIGhhbGYzeDMgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gYXNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4
WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhc2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVswXSA9IGFzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXNpbih4WzJdWzFdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBhc2luKHhbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitoYWxmM3g0IGFzaW4oaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gYXNpbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4
WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhc2luKHhbMV1bM10pOworICAgIHJlc3VsdFsy
XVswXSA9IGFzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXNpbih4WzJdWzFdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBhc2luKHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IGFz
aW4oeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgYXNpbihoYWxmNHgy
IHgpIHsKKyAgICBoYWxmNHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gYXNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOworICAg
IHJlc3VsdFsyXVswXSA9IGFzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXNpbih4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhc2luKHhbM11bMF0pOworICAgIHJlc3VsdFsz
XVsxXSA9IGFzaW4oeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMgYXNp
bihoYWxmNHgzIHgpIHsKKyAgICBoYWxmNHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBh
c2luKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1b
MF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gYXNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXNpbih4
WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhc2luKHhbM11bMF0pOworICAgIHJlc3VsdFsz
XVsxXSA9IGFzaW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXNpbih4WzNdWzJdKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4NCBhc2luKGhhbGY0eDQgeCkgeworICAgIGhh
bGY0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhc2luKHhbMF1b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGFzaW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gYXNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1bMV0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXNpbih4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGFzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXNpbih4WzJdWzJdKTsK
KyAgICByZXN1bHRbMl1bM10gPSBhc2luKHhbMl1bM10pOworICAgIHJlc3VsdFszXVswXSA9IGFz
aW4oeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYXNpbih4WzNdWzFdKTsKKyAgICByZXN1
bHRbM11bMl0gPSBhc2luKHhbM11bMl0pOworICAgIHJlc3VsdFszXVszXSA9IGFzaW4oeFszXVsz
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIGF0YW4oaGFsZjIgeCkgeworICAgIGhh
bGYyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhdGFuKHhbMF0pOworICAgIHJlc3VsdFsxXSA9
IGF0YW4oeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIGF0YW4oaGFsZjMgeCkg
eworICAgIGhhbGYzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhdGFuKHhbMF0pOworICAgIHJl
c3VsdFsxXSA9IGF0YW4oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXRhbih4WzJdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQoraGFsZjQgYXRhbihoYWxmNCB4KSB7CisgICAgaGFsZjQgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IGF0YW4oeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXRhbih4WzFd
KTsKKyAgICByZXN1bHRbMl0gPSBhdGFuKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGF0YW4oeFsz
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgYXRhbihoYWxmMngyIHgpIHsKKyAg
ICBoYWxmMngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbih4
WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitoYWxmMngzIGF0YW4oaGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBh
dGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1b
MV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGF0YW4oeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGYyeDQgYXRhbihoYWxmMng0IHgpIHsKKyAgICBoYWxmMng0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4o
eFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBhdGFuKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBh
dGFuKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGF0YW4oeFsxXVszXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgYXRhbihoYWxmM3gyIHgpIHsKKyAgICBoYWxmM3gyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IGF0YW4o
eFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQoraGFsZjN4MyBhdGFuKGhhbGYzeDMgeCkgeworICAgIGhhbGYzeDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
YXRhbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFd
WzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGF0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBhdGFuKHhbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cito
YWxmM3g0IGF0YW4oaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
YXRhbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFd
WzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhdGFuKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsw
XSA9IGF0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBhdGFuKHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IGF0YW4o
eFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgYXRhbihoYWxmNHgyIHgp
IHsKKyAgICBoYWxmNHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
YXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVswXSA9IGF0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbih4WzJd
WzFdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhdGFuKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsx
XSA9IGF0YW4oeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMgYXRhbiho
YWxmNHgzIHgpIHsKKyAgICBoYWxmNHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhdGFu
KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gYXRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
YXRhbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXRhbih4WzJd
WzJdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhdGFuKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsx
XSA9IGF0YW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXRhbih4WzNdWzJdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4NCBhdGFuKGhhbGY0eDQgeCkgeworICAgIGhhbGY0
eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gYXRhbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IGF0YW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
YXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGF0YW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXRhbih4WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGF0YW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXRhbih4WzJdWzJdKTsKKyAg
ICByZXN1bHRbMl1bM10gPSBhdGFuKHhbMl1bM10pOworICAgIHJlc3VsdFszXVswXSA9IGF0YW4o
eFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYXRhbih4WzNdWzFdKTsKKyAgICByZXN1bHRb
M11bMl0gPSBhdGFuKHhbM11bMl0pOworICAgIHJlc3VsdFszXVszXSA9IGF0YW4oeFszXVszXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIGNvc2goaGFsZjIgeCkgeworICAgIGhhbGYy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBjb3NoKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGNv
c2goeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIGNvc2goaGFsZjMgeCkgewor
ICAgIGhhbGYzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBjb3NoKHhbMF0pOworICAgIHJlc3Vs
dFsxXSA9IGNvc2goeFsxXSk7CisgICAgcmVzdWx0WzJdID0gY29zaCh4WzJdKTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQoraGFsZjQgY29zaChoYWxmNCB4KSB7CisgICAgaGFsZjQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IGNvc2goeFswXSk7CisgICAgcmVzdWx0WzFdID0gY29zaCh4WzFdKTsK
KyAgICByZXN1bHRbMl0gPSBjb3NoKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGNvc2goeFszXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgY29zaChoYWxmMngyIHgpIHsKKyAgICBo
YWxmMngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitoYWxmMngzIGNvc2goaGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3No
KHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2hhbGYyeDQgY29zaChoYWxmMng0IHgpIHsKKyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFsw
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSBjb3NoKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3No
KHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGNvc2goeFsxXVszXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYzeDIgY29zaChoYWxmM3gyIHgpIHsKKyAgICBoYWxmM3gyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGNvc2goeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IGNvc2goeFsy
XVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQoraGFsZjN4MyBjb3NoKGhhbGYzeDMgeCkgeworICAgIGhhbGYzeDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGNvc2goeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29z
aCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGNvc2goeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3NoKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9
IGNvc2goeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxm
M3g0IGNvc2goaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gY29zaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGNvc2goeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY29z
aCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBjb3NoKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9
IGNvc2goeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBjb3NoKHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IGNvc2goeFsy
XVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgY29zaChoYWxmNHgyIHgpIHsK
KyAgICBoYWxmNHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29z
aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVswXSA9IGNvc2goeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zaCh4WzJdWzFd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBjb3NoKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9
IGNvc2goeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMgY29zaChoYWxm
NHgzIHgpIHsKKyAgICBoYWxmNHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhb
MF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gY29zaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29z
aCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY29zaCh4WzJdWzJd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBjb3NoKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9
IGNvc2goeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gY29zaCh4WzNdWzJdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQoraGFsZjR4NCBjb3NoKGhhbGY0eDQgeCkgeworICAgIGhhbGY0eDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNvc2goeFswXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gY29zaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3NoKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IGNvc2goeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29z
aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY29zaCh4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9
IGNvc2goeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY29zaCh4WzJdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBjb3NoKHhbMl1bM10pOworICAgIHJlc3VsdFszXVswXSA9IGNvc2goeFsz
XVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gY29zaCh4WzNdWzFdKTsKKyAgICByZXN1bHRbM11b
Ml0gPSBjb3NoKHhbM11bMl0pOworICAgIHJlc3VsdFszXVszXSA9IGNvc2goeFszXVszXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIHNpbmgoaGFsZjIgeCkgeworICAgIGhhbGYyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSBzaW5oKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHNpbmgo
eFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIHNpbmgoaGFsZjMgeCkgeworICAg
IGhhbGYzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzaW5oKHhbMF0pOworICAgIHJlc3VsdFsx
XSA9IHNpbmgoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gc2luaCh4WzJdKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQoraGFsZjQgc2luaChoYWxmNCB4KSB7CisgICAgaGFsZjQgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IHNpbmgoeFswXSk7CisgICAgcmVzdWx0WzFdID0gc2luaCh4WzFdKTsKKyAg
ICByZXN1bHRbMl0gPSBzaW5oKHhbMl0pOworICAgIHJlc3VsdFszXSA9IHNpbmgoeFszXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgc2luaChoYWxmMngyIHgpIHsKKyAgICBoYWxm
MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitoYWxmMngzIHNpbmgoaGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhb
MF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gc2luaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGYyeDQgc2luaChoYWxmMng0IHgpIHsKKyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBzaW5oKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbmgoeFsxXVswXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzaW5oKHhb
MV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IHNpbmgoeFsxXVszXSk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK2hhbGYzeDIgc2luaChoYWxmM3gyIHgpIHsKKyAgICBoYWxmM3gyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNp
bmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IHNpbmgoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQoraGFsZjN4MyBzaW5oKGhhbGYzeDMgeCkgeworICAgIGhhbGYzeDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luaCh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVswXSA9IHNpbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBzaW5oKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IHNp
bmgoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1
bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3g0
IHNpbmgoaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gc2luaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2luaCh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFsx
XVsxXSA9IHNpbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBzaW5oKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IHNp
bmgoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsKKyAgICByZXN1
bHRbMl1bMl0gPSBzaW5oKHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IHNpbmgoeFsyXVsz
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgc2luaChoYWxmNHgyIHgpIHsKKyAg
ICBoYWxmNHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVswXSA9IHNpbmgoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2luaCh4WzJdWzFdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBzaW5oKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IHNp
bmgoeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMgc2luaChoYWxmNHgz
IHgpIHsKKyAgICBoYWxmNHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gc2luaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luaCh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFsy
XVsxXSA9IHNpbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBzaW5oKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IHNp
bmgoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gc2luaCh4WzNdWzJdKTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQoraGFsZjR4NCBzaW5oKGhhbGY0eDQgeCkgeworICAgIGhhbGY0eDQgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gc2luaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IHNpbmgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luaCh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsx
XVsyXSA9IHNpbmgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc2luaCh4WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNp
bmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBzaW5oKHhbMl1bM10pOworICAgIHJlc3VsdFszXVswXSA9IHNpbmgoeFszXVsw
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gc2luaCh4WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0g
PSBzaW5oKHhbM11bMl0pOworICAgIHJlc3VsdFszXVszXSA9IHNpbmgoeFszXVszXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIHRhbmgoaGFsZjIgeCkgeworICAgIGhhbGYyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSB0YW5oKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHRhbmgoeFsx
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIHRhbmgoaGFsZjMgeCkgeworICAgIGhh
bGYzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB0YW5oKHhbMF0pOworICAgIHJlc3VsdFsxXSA9
IHRhbmgoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gdGFuaCh4WzJdKTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQoraGFsZjQgdGFuaChoYWxmNCB4KSB7CisgICAgaGFsZjQgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IHRhbmgoeFswXSk7CisgICAgcmVzdWx0WzFdID0gdGFuaCh4WzFdKTsKKyAgICBy
ZXN1bHRbMl0gPSB0YW5oKHhbMl0pOworICAgIHJlc3VsdFszXSA9IHRhbmgoeFszXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgdGFuaChoYWxmMngyIHgpIHsKKyAgICBoYWxmMngy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHRhbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitoYWxmMngzIHRhbmgoaGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRhbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gdGFuaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hh
bGYyeDQgdGFuaChoYWxmMng0IHgpIHsKKyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSB0YW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0
YW5oKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW5oKHhbMV1b
Ml0pOworICAgIHJlc3VsdFsxXVszXSA9IHRhbmgoeFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGYzeDIgdGFuaChoYWxmM3gyIHgpIHsKKyAgICBoYWxmM3gyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbmgo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSB0YW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbmgoeFsyXVswXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQoraGFsZjN4MyB0YW5oKGhhbGYzeDMgeCkgeworICAgIGhhbGYzeDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsw
XSA9IHRhbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSB0YW5oKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbmgo
eFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMl0gPSB0YW5oKHhbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3g0IHRh
bmgoaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
dGFuaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IHRhbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gdGFuaCh4WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsx
XSA9IHRhbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSB0YW5oKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IHRhbmgo
eFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMl0gPSB0YW5oKHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IHRhbmgoeFsyXVszXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgdGFuaChoYWxmNHgyIHgpIHsKKyAgICBo
YWxmNHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsw
XSA9IHRhbmgoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuaCh4WzJdWzFdKTsKKyAg
ICByZXN1bHRbM11bMF0gPSB0YW5oKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IHRhbmgo
eFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMgdGFuaChoYWxmNHgzIHgp
IHsKKyAgICBoYWxmNHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
dGFuaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFd
WzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsx
XSA9IHRhbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gdGFuaCh4WzJdWzJdKTsKKyAg
ICByZXN1bHRbM11bMF0gPSB0YW5oKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IHRhbmgo
eFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gdGFuaCh4WzNdWzJdKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQoraGFsZjR4NCB0YW5oKGhhbGY0eDQgeCkgeworICAgIGhhbGY0eDQgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IHRhbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
dGFuaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOworICAgIHJl
c3VsdFswXVszXSA9IHRhbmgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsy
XSA9IHRhbmgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gdGFuaCh4WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgo
eFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gdGFuaCh4WzJdWzJdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSB0YW5oKHhbMl1bM10pOworICAgIHJlc3VsdFszXVswXSA9IHRhbmgoeFszXVswXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gdGFuaCh4WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSB0
YW5oKHhbM11bMl0pOworICAgIHJlc3VsdFszXVszXSA9IHRhbmgoeFszXVszXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2hhbGYyIGNlaWwoaGFsZjIgeCkgeworICAgIGhhbGYyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF0gPSBjZWlsKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGNlaWwoeFsxXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIGNlaWwoaGFsZjMgeCkgeworICAgIGhhbGYz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBjZWlsKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGNl
aWwoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gY2VpbCh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQoraGFsZjQgY2VpbChoYWxmNCB4KSB7CisgICAgaGFsZjQgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IGNlaWwoeFswXSk7CisgICAgcmVzdWx0WzFdID0gY2VpbCh4WzFdKTsKKyAgICByZXN1
bHRbMl0gPSBjZWlsKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGNlaWwoeFszXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgY2VpbChoYWxmMngyIHgpIHsKKyAgICBoYWxmMngyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGNlaWwoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cito
YWxmMngzIGNlaWwoaGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGNlaWwoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
Y2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYy
eDQgY2VpbChoYWxmMng0IHgpIHsKKyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBjZWlsKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBjZWls
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0p
OworICAgIHJlc3VsdFsxXVszXSA9IGNlaWwoeFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2hhbGYzeDIgY2VpbChoYWxmM3gyIHgpIHsKKyAgICBoYWxmM3gyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBjZWlsKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IGNlaWwoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
aGFsZjN4MyBjZWlsKGhhbGYzeDMgeCkgeworICAgIGhhbGYzeDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGNlaWwoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9
IGNlaWwoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGNlaWwoeFsy
XVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1b
Ml0gPSBjZWlsKHhbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3g0IGNlaWwo
aGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY2Vp
bCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGNlaWwoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY2VpbCh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGNlaWwoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY2VpbCh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSBjZWlsKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IGNlaWwoeFsy
XVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1b
Ml0gPSBjZWlsKHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IGNlaWwoeFsyXVszXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgY2VpbChoYWxmNHgyIHgpIHsKKyAgICBoYWxm
NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9
IGNlaWwoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY2VpbCh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBjZWlsKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGNlaWwoeFsz
XVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMgY2VpbChoYWxmNHgzIHgpIHsK
KyAgICBoYWxmNHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY2Vp
bCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY2VpbCh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9
IGNlaWwoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY2VpbCh4WzJdWzJdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBjZWlsKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGNlaWwoeFsz
XVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gY2VpbCh4WzNdWzJdKTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQoraGFsZjR4NCBjZWlsKGhhbGY0eDQgeCkgeworICAgIGhhbGY0eDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2Vp
bCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhbMF1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGNlaWwoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGNlaWwoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY2VpbCh4WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY2VpbCh4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBjZWlsKHhbMl1bM10pOworICAgIHJlc3VsdFszXVswXSA9IGNlaWwoeFszXVswXSk7Cisg
ICAgcmVzdWx0WzNdWzFdID0gY2VpbCh4WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSBjZWls
KHhbM11bMl0pOworICAgIHJlc3VsdFszXVszXSA9IGNlaWwoeFszXVszXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYyIGV4cChoYWxmMiB4KSB7CisgICAgaGFsZjIgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IGV4cCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBleHAoeFsxXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIGV4cChoYWxmMyB4KSB7CisgICAgaGFsZjMgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IGV4cCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBleHAoeFsxXSk7
CisgICAgcmVzdWx0WzJdID0gZXhwKHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxm
NCBleHAoaGFsZjQgeCkgeworICAgIGhhbGY0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBleHAo
eFswXSk7CisgICAgcmVzdWx0WzFdID0gZXhwKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGV4cCh4
WzJdKTsKKyAgICByZXN1bHRbM10gPSBleHAoeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGYyeDIgZXhwKGhhbGYyeDIgeCkgeworICAgIGhhbGYyeDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGV4cCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4
cCh4WzFdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4MyBleHAoaGFsZjJ4MyB4
KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBl
eHAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgZXhwKGhhbGYyeDQgeCkgeworICAgIGhh
bGYyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IGV4cCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBl
eHAoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBleHAoeFsxXVszXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgZXhwKGhhbGYzeDIgeCkgeworICAgIGhh
bGYzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBl
eHAoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitoYWxmM3gzIGV4cChoYWxmM3gzIHgpIHsKKyAgICBoYWxmM3gzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
ZXhwKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cCh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBl
eHAoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IGV4cCh4WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4NCBl
eHAoaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
ZXhwKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZXhwKHhbMF1bM10p
OworICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBl
eHAoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsxXVszXSA9IGV4cCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGV4
cCh4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBleHAoeFsyXVszXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGY0eDIgZXhwKGhhbGY0eDIgeCkgeworICAgIGhhbGY0eDIgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBl
eHAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVswXSA9IGV4
cCh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBleHAoeFszXVsxXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGY0eDMgZXhwKGhhbGY0eDMgeCkgeworICAgIGhhbGY0eDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBl
eHAoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gZXhwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGV4
cCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBleHAoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gZXhwKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVswXSA9IGV4cCh4WzNdWzBdKTsK
KyAgICByZXN1bHRbM11bMV0gPSBleHAoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZXhw
KHhbM11bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHg0IGV4cChoYWxmNHg0IHgp
IHsKKyAgICBoYWxmNHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4
cCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBleHAoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gZXhwKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZXhw
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IGV4cCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBleHAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZXhwKHhbMl1bMl0pOwor
ICAgIHJlc3VsdFsyXVszXSA9IGV4cCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMF0gPSBleHAo
eFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZXhwKHhbM11bMV0pOworICAgIHJlc3VsdFsz
XVsyXSA9IGV4cCh4WzNdWzJdKTsKKyAgICByZXN1bHRbM11bM10gPSBleHAoeFszXVszXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIGZsb29yKGhhbGYyIHgpIHsKKyAgICBoYWxmMiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZmxvb3IoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmxv
b3IoeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIGZsb29yKGhhbGYzIHgpIHsK
KyAgICBoYWxmMyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZmxvb3IoeFswXSk7CisgICAgcmVz
dWx0WzFdID0gZmxvb3IoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZmxvb3IoeFsyXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0IGZsb29yKGhhbGY0IHgpIHsKKyAgICBoYWxmNCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0gZmxvb3IoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmxvb3Io
eFsxXSk7CisgICAgcmVzdWx0WzJdID0gZmxvb3IoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gZmxv
b3IoeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgZmxvb3IoaGFsZjJ4MiB4
KSB7CisgICAgaGFsZjJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDMgZmxvb3IoaGFsZjJ4MyB4KSB7CisgICAgaGFs
ZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZmxvb3IoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgZmxvb3IoaGFsZjJ4NCB4KSB7CisgICAg
aGFsZjJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZmxvb3Io
eFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gZmxvb3IoeFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgZmxvb3Io
aGFsZjN4MiB4KSB7CisgICAgaGFsZjN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZmxv
b3IoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gZmxvb3IoeFsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDMgZmxv
b3IoaGFsZjN4MyB4KSB7CisgICAgaGFsZjN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
Zmxvb3IoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZmxvb3Io
eFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gZmxvb3IoeFsyXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDQgZmxvb3Io
aGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZmxv
b3IoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZmxvb3IoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
Zmxvb3IoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gZmxvb3IoeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZmxvb3Io
eFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgZmxvb3IoaGFsZjR4MiB4
KSB7CisgICAgaGFsZjR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZmxvb3IoeFswXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gZmxvb3IoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZmxv
b3IoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZmxvb3IoeFszXVswXSk7CisgICAgcmVz
dWx0WzNdWzFdID0gZmxvb3IoeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0
eDMgZmxvb3IoaGFsZjR4MyB4KSB7CisgICAgaGFsZjR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gZmxvb3IoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
Zmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZmxvb3IoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZmxvb3Io
eFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gZmxvb3IoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZmxvb3IoeFszXVsw
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gZmxvb3IoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJd
ID0gZmxvb3IoeFszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDQgZmxvb3Io
aGFsZjR4NCB4KSB7CisgICAgaGFsZjR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZmxv
b3IoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZmxvb3IoeFswXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZmxvb3IoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZmxvb3IoeFsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZmxvb3IoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZmxvb3IoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZmxvb3IoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gZmxvb3IoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
Zmxvb3IoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZmxvb3IoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gZmxvb3IoeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZmxvb3Io
eFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZmxvb3IoeFszXVswXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gZmxvb3IoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZmxvb3IoeFszXVsy
XSk7CisgICAgcmVzdWx0WzNdWzNdID0gZmxvb3IoeFszXVszXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGYyIGxvZyhoYWxmMiB4KSB7CisgICAgaGFsZjIgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IGxvZyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBsb2coeFsxXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYzIGxvZyhoYWxmMyB4KSB7CisgICAgaGFsZjMgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IGxvZyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBsb2coeFsxXSk7CisgICAg
cmVzdWx0WzJdID0gbG9nKHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNCBsb2co
aGFsZjQgeCkgeworICAgIGhhbGY0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBsb2coeFswXSk7
CisgICAgcmVzdWx0WzFdID0gbG9nKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGxvZyh4WzJdKTsK
KyAgICByZXN1bHRbM10gPSBsb2coeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYy
eDIgbG9nKGhhbGYyeDIgeCkgeworICAgIGhhbGYyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGxvZyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFd
WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4MyBsb2coaGFsZjJ4MyB4KSB7Cisg
ICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2coeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGxvZyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2coeFsxXVsyXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgbG9nKGhhbGYyeDQgeCkgeworICAgIGhhbGYyeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBsb2coeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGxvZyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsx
XVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGxvZyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2coeFsxXVszXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgbG9nKGhhbGYzeDIgeCkgeworICAgIGhhbGYzeDIg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBsb2coeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsy
XVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitoYWxmM3gzIGxvZyhoYWxmM3gzIHgpIHsKKyAgICBoYWxmM3gzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhb
MF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBsb2coeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGxvZyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsy
XVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGxvZyh4WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4NCBsb2coaGFs
ZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhb
MF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBsb2coeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsx
XVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVsz
XSA9IGxvZyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxvZyh4WzJd
WzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBsb2coeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGY0eDIgbG9nKGhhbGY0eDIgeCkgeworICAgIGhhbGY0eDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGxvZyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVswXSA9IGxvZyh4WzNd
WzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsb2coeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGY0eDMgbG9nKGhhbGY0eDMgeCkgeworICAgIGhhbGY0eDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFsw
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGxvZyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gbG9nKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJd
WzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsb2coeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gbG9nKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVswXSA9IGxvZyh4WzNdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSBsb2coeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbG9nKHhbM11b
Ml0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHg0IGxvZyhoYWxmNHg0IHgpIHsKKyAg
ICBoYWxmNHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZyh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2coeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gbG9nKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBsb2coeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbG9nKHhbMV1b
M10pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBsb2coeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbG9nKHhbMl1bMl0pOworICAgIHJl
c3VsdFsyXVszXSA9IGxvZyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMF0gPSBsb2coeFszXVsw
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9nKHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9
IGxvZyh4WzNdWzJdKTsKKyAgICByZXN1bHRbM11bM10gPSBsb2coeFszXVszXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2hhbGYyIHJvdW5kKGhhbGYyIHgpIHsKKyAgICBoYWxmMiByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gcm91bmQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gcm91bmQoeFsx
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIHJvdW5kKGhhbGYzIHgpIHsKKyAgICBo
YWxmMyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gcm91bmQoeFswXSk7CisgICAgcmVzdWx0WzFd
ID0gcm91bmQoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gcm91bmQoeFsyXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGY0IHJvdW5kKGhhbGY0IHgpIHsKKyAgICBoYWxmNCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gcm91bmQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gcm91bmQoeFsxXSk7
CisgICAgcmVzdWx0WzJdID0gcm91bmQoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gcm91bmQoeFsz
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgcm91bmQoaGFsZjJ4MiB4KSB7Cisg
ICAgaGFsZjJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcm91bmQoeFswXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gcm91bmQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcm91
bmQoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2hhbGYyeDMgcm91bmQoaGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4MyBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcm91bmQoeFswXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gcm91bmQoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcm91bmQoeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gcm91bmQoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
cm91bmQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcm91bmQoeFsxXVsyXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgcm91bmQoaGFsZjJ4NCB4KSB7CisgICAgaGFsZjJ4
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcm91bmQoeFswXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gcm91bmQoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcm91bmQoeFswXVsy
XSk7CisgICAgcmVzdWx0WzBdWzNdID0gcm91bmQoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gcm91bmQoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gcm91bmQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcm91
bmQoeFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgcm91bmQoaGFsZjN4
MiB4KSB7CisgICAgaGFsZjN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcm91bmQoeFsw
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcm91bmQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gcm91bmQoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gcm91bmQoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
cm91bmQoeFsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDMgcm91bmQoaGFs
ZjN4MyB4KSB7CisgICAgaGFsZjN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcm91bmQo
eFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcm91bmQoeFswXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gcm91bmQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcm91bmQoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gcm91bmQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcm91bmQoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gcm91bmQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gcm91
bmQoeFsyXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDQgcm91bmQoaGFsZjN4
NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcm91bmQoeFsw
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcm91bmQoeFswXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gcm91bmQoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcm91bmQoeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gcm91bmQoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
cm91bmQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcm91bmQoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gcm91bmQoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcm91bmQo
eFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcm91bmQoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gcm91bmQoeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcm91bmQoeFsyXVsz
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgcm91bmQoaGFsZjR4MiB4KSB7Cisg
ICAgaGFsZjR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcm91bmQoeFswXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gcm91bmQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcm91
bmQoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gcm91bmQoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcm91bmQoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcm91bmQoeFszXVswXSk7CisgICAgcmVzdWx0WzNd
WzFdID0gcm91bmQoeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMgcm91
bmQoaGFsZjR4MyB4KSB7CisgICAgaGFsZjR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
cm91bmQoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcm91bmQoeFswXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gcm91bmQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcm91bmQo
eFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcm91bmQoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gcm91bmQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcm91bmQoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gcm91bmQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gcm91bmQoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcm91bmQoeFszXVswXSk7Cisg
ICAgcmVzdWx0WzNdWzFdID0gcm91bmQoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gcm91
bmQoeFszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDQgcm91bmQoaGFsZjR4
NCB4KSB7CisgICAgaGFsZjR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcm91bmQoeFsw
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcm91bmQoeFswXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gcm91bmQoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcm91bmQoeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gcm91bmQoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
cm91bmQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcm91bmQoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gcm91bmQoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcm91bmQo
eFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcm91bmQoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gcm91bmQoeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcm91bmQoeFsyXVsz
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gcm91bmQoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gcm91bmQoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gcm91bmQoeFszXVsyXSk7Cisg
ICAgcmVzdWx0WzNdWzNdID0gcm91bmQoeFszXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGYyIHRydW5jKGhhbGYyIHgpIHsKKyAgICBoYWxmMiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gdHJ1bmMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gdHJ1bmMoeFsxXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYzIHRydW5jKGhhbGYzIHgpIHsKKyAgICBoYWxmMyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gdHJ1bmMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gdHJ1bmMoeFsxXSk7
CisgICAgcmVzdWx0WzJdID0gdHJ1bmMoeFsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hh
bGY0IHRydW5jKGhhbGY0IHgpIHsKKyAgICBoYWxmNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
dHJ1bmMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gdHJ1bmMoeFsxXSk7CisgICAgcmVzdWx0WzJd
ID0gdHJ1bmMoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gdHJ1bmMoeFszXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYyeDIgdHJ1bmMoaGFsZjJ4MiB4KSB7CisgICAgaGFsZjJ4MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gdHJ1bmMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdHJ1bmMoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gdHJ1bmMoeFsxXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGYyeDMgdHJ1bmMoaGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdHJ1bmMoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdHJ1bmMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gdHJ1bmMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdHJ1bmMoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gdHJ1bmMoeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2hhbGYyeDQgdHJ1bmMoaGFsZjJ4NCB4KSB7CisgICAgaGFsZjJ4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdHJ1bmMo
eFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdHJ1bmMoeFswXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gdHJ1bmMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdHJ1bmMoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gdHJ1bmMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gdHJ1bmMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gdHJ1bmMoeFsxXVszXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgdHJ1bmMoaGFsZjN4MiB4KSB7CisgICAgaGFs
ZjN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gdHJ1bmMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdHJ1bmMoeFsx
XVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdHJ1bmMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gdHJ1bmMoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdHJ1bmMoeFsyXVsxXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDMgdHJ1bmMoaGFsZjN4MyB4KSB7CisgICAg
aGFsZjN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gdHJ1bmMoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdHJ1bmMo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdHJ1bmMoeFsxXVswXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gdHJ1bmMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdHJ1bmMoeFsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gdHJ1bmMoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gdHJ1bmMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gdHJ1bmMoeFsyXVsyXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDQgdHJ1bmMoaGFsZjN4NCB4KSB7CisgICAgaGFs
ZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gdHJ1bmMoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdHJ1bmMoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gdHJ1bmMoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gdHJ1bmMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdHJ1bmMoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gdHJ1bmMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
dHJ1bmMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdHJ1bmMoeFsyXVswXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gdHJ1bmMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gdHJ1bmMo
eFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gdHJ1bmMoeFsyXVszXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGY0eDIgdHJ1bmMoaGFsZjR4MiB4KSB7CisgICAgaGFsZjR4MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gdHJ1bmMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdHJ1bmMoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gdHJ1bmMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdHJ1
bmMoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdHJ1bmMoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gdHJ1bmMoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gdHJ1bmMoeFsz
XVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMgdHJ1bmMoaGFsZjR4MyB4KSB7
CisgICAgaGFsZjR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gdHJ1bmMoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
dHJ1bmMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdHJ1bmMoeFsxXVswXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gdHJ1bmMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdHJ1bmMo
eFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdHJ1bmMoeFsyXVswXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gdHJ1bmMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gdHJ1bmMoeFsyXVsy
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gdHJ1bmMoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gdHJ1bmMoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gdHJ1bmMoeFszXVsyXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDQgdHJ1bmMoaGFsZjR4NCB4KSB7CisgICAgaGFs
ZjR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdHJ1bmMoeFswXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gdHJ1bmMoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdHJ1bmMoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gdHJ1bmMoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gdHJ1bmMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdHJ1bmMoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gdHJ1bmMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
dHJ1bmMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdHJ1bmMoeFsyXVswXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gdHJ1bmMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gdHJ1bmMo
eFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gdHJ1bmMoeFsyXVszXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gdHJ1bmMoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gdHJ1bmMoeFszXVsx
XSk7CisgICAgcmVzdWx0WzNdWzJdID0gdHJ1bmMoeFszXVsyXSk7CisgICAgcmVzdWx0WzNdWzNd
ID0gdHJ1bmMoeFszXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIGRkeChoYWxm
MiB4KSB7CisgICAgaGFsZjIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRkeCh4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBkZHgoeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIGRk
eChoYWxmMyB4KSB7CisgICAgaGFsZjMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRkeCh4WzBd
KTsKKyAgICByZXN1bHRbMV0gPSBkZHgoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZGR4KHhbMl0p
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNCBkZHgoaGFsZjQgeCkgeworICAgIGhhbGY0
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBkZHgoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR4
KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRkeCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBkZHgo
eFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgZGR4KGhhbGYyeDIgeCkgewor
ICAgIGhhbGYyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4KHhb
MV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQoraGFsZjJ4MyBkZHgoaGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hh
bGYyeDQgZGR4KGhhbGYyeDQgeCkgeworICAgIGhhbGYyeDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IGRkeCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeCh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZGR4KHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBkZHgoeFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hh
bGYzeDIgZGR4KGhhbGYzeDIgeCkgeworICAgIGhhbGYzeDIgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IGRkeCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4
WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHgoeFsyXVswXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gZGR4KHhbMl1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gzIGRkeCho
YWxmM3gzIHgpIHsKKyAgICBoYWxmM3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHgo
eFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGRkeCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZGR4KHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHgoeFsyXVswXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gZGR4KHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeCh4WzJdWzJdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4NCBkZHgoaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGRkeCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gZGR4KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gZGR4KHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeCh4WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBkZHgoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4KHhb
Ml1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeCh4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBkZHgoeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgZGR4KGhh
bGY0eDIgeCkgeworICAgIGhhbGY0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeCh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBkZHgoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4KHhb
Ml1bMV0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeCh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11b
MV0gPSBkZHgoeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMgZGR4KGhh
bGY0eDMgeCkgeworICAgIGhhbGY0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeCh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZGR4KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4KHhb
MV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBkZHgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR4KHhbMl1bMl0pOworICAg
IHJlc3VsdFszXVswXSA9IGRkeCh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHgoeFsz
XVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZGR4KHhbM11bMl0pOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitoYWxmNHg0IGRkeChoYWxmNHg0IHgpIHsKKyAgICBoYWxmNHg0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhb
MF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSBkZHgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4KHhbMV1bMF0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsx
XVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsw
XSA9IGRkeCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHgoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gZGR4KHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeCh4WzJd
WzNdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHgoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gZGR4KHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeCh4WzNdWzJdKTsKKyAgICBy
ZXN1bHRbM11bM10gPSBkZHgoeFszXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYy
IGRkeShoYWxmMiB4KSB7CisgICAgaGFsZjIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRkeSh4
WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZHkoeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGYzIGRkeShoYWxmMyB4KSB7CisgICAgaGFsZjMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9
IGRkeSh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZHkoeFsxXSk7CisgICAgcmVzdWx0WzJdID0g
ZGR5KHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNCBkZHkoaGFsZjQgeCkgewor
ICAgIGhhbGY0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBkZHkoeFswXSk7CisgICAgcmVzdWx0
WzFdID0gZGR5KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRkeSh4WzJdKTsKKyAgICByZXN1bHRb
M10gPSBkZHkoeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgZGR5KGhhbGYy
eDIgeCkgeworICAgIGhhbGYyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gZGR5KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4MyBkZHkoaGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4MyBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGRkeSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHkoeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGYyeDQgZGR5KGhhbGYyeDQgeCkgeworICAgIGhhbGYyeDQgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IGRkeSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFd
WzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHkoeFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGYzeDIgZGR5KGhhbGYzeDIgeCkgeworICAgIGhhbGYzeDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGRkeSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxm
M3gzIGRkeShoYWxmM3gzIHgpIHsKKyAgICBoYWxmM3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBkZHkoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHkoeFsx
XVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGRkeSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJd
WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4NCBkZHkoaGFsZjN4NCB4KSB7Cisg
ICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR5KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVsw
XSA9IGRkeSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeSh4WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gZGR5KHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBkZHkoeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0
eDIgZGR5KGhhbGY0eDIgeCkgeworICAgIGhhbGY0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGRkeSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gZGR5KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeSh4WzNdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSBkZHkoeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0
eDMgZGR5KGhhbGY0eDMgeCkgeworICAgIGhhbGY0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGRkeSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZGR5KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR5KHhbMl1b
Ml0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeSh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBkZHkoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZGR5KHhbM11bMl0pOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitoYWxmNHg0IGRkeShoYWxmNHg0IHgpIHsKKyAgICBoYWxmNHg0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGR5KHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBkZHkoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1b
MF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBkZHkoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR5KHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVswXSA9IGRkeSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHkoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR5KHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9
IGRkeSh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHkoeFszXVswXSk7CisgICAgcmVz
dWx0WzNdWzFdID0gZGR5KHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeSh4WzNdWzJd
KTsKKyAgICByZXN1bHRbM11bM10gPSBkZHkoeFszXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2hhbGYyIHNxcnQoaGFsZjIgeCkgeworICAgIGhhbGYyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBzcXJ0KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHNxcnQoeFsxXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYzIHNxcnQoaGFsZjMgeCkgeworICAgIGhhbGYzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBzcXJ0KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHNxcnQoeFsxXSk7Cisg
ICAgcmVzdWx0WzJdID0gc3FydCh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjQg
c3FydChoYWxmNCB4KSB7CisgICAgaGFsZjQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHNxcnQo
eFswXSk7CisgICAgcmVzdWx0WzFdID0gc3FydCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBzcXJ0
KHhbMl0pOworICAgIHJlc3VsdFszXSA9IHNxcnQoeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2hhbGYyeDIgc3FydChoYWxmMngyIHgpIHsKKyAgICBoYWxmMngyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBzcXJ0KHhbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngzIHNxcnQo
aGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc3Fy
dCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9
IHNxcnQoeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgc3FydChoYWxm
Mng0IHgpIHsKKyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhb
MF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gc3FydCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzcXJ0KHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc3Fy
dCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOworICAgIHJlc3Vs
dFsxXVszXSA9IHNxcnQoeFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIg
c3FydChoYWxmM3gyIHgpIHsKKyAgICBoYWxmM3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSBzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gc3FydCh4WzJdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4MyBzcXJ0
KGhhbGYzeDMgeCkgeworICAgIGhhbGYzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNx
cnQoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzcXJ0KHhb
Ml1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3g0IHNxcnQoaGFsZjN4NCB4KSB7
CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNx
cnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc3FydCh4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10g
PSBzcXJ0KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVswXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzcXJ0KHhb
Ml1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IHNxcnQoeFsyXVszXSk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK2hhbGY0eDIgc3FydChoYWxmNHgyIHgpIHsKKyAgICBoYWxmNHgyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNx
cnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IHNxcnQoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gc3FydCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBzcXJ0KHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IHNxcnQoeFszXVsxXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMgc3FydChoYWxmNHgzIHgpIHsKKyAgICBoYWxmNHgz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNx
cnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNxcnQoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBzcXJ0KHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IHNxcnQoeFszXVsxXSk7CisgICAg
cmVzdWx0WzNdWzJdID0gc3FydCh4WzNdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFs
ZjR4NCBzcXJ0KGhhbGY0eDQgeCkgeworICAgIGhhbGY0eDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IHNxcnQoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3FydCh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNx
cnQoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsy
XSk7CisgICAgcmVzdWx0WzFdWzNdID0gc3FydCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNxcnQoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzcXJ0KHhb
Ml1bM10pOworICAgIHJlc3VsdFszXVswXSA9IHNxcnQoeFszXVswXSk7CisgICAgcmVzdWx0WzNd
WzFdID0gc3FydCh4WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSBzcXJ0KHhbM11bMl0pOwor
ICAgIHJlc3VsdFszXVszXSA9IHNxcnQoeFszXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGYyIGxvZzIoaGFsZjIgeCkgeworICAgIGhhbGYyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBsb2cyKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGxvZzIoeFsxXSk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK2hhbGYzIGxvZzIoaGFsZjMgeCkgeworICAgIGhhbGYzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBsb2cyKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGxvZzIoeFsxXSk7CisgICAg
cmVzdWx0WzJdID0gbG9nMih4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjQgbG9n
MihoYWxmNCB4KSB7CisgICAgaGFsZjQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGxvZzIoeFsw
XSk7CisgICAgcmVzdWx0WzFdID0gbG9nMih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBsb2cyKHhb
Ml0pOworICAgIHJlc3VsdFszXSA9IGxvZzIoeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGYyeDIgbG9nMihoYWxmMngyIHgpIHsKKyAgICBoYWxmMngyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBsb2cyKHhbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngzIGxvZzIoaGFs
ZjJ4MyB4KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMih4
WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGxvZzIoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxv
ZzIoeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgbG9nMihoYWxmMng0
IHgpIHsKKyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gbG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cyKHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMih4
WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOworICAgIHJlc3VsdFsx
XVszXSA9IGxvZzIoeFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgbG9n
MihoYWxmM3gyIHgpIHsKKyAgICBoYWxmM3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBs
b2cyKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1b
MV0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gbG9nMih4WzJdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4MyBsb2cyKGhh
bGYzeDMgeCkgeworICAgIGhhbGYzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzIo
eFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBs
b2cyKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBsb2cyKHhbMl1b
Ml0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3g0IGxvZzIoaGFsZjN4NCB4KSB7Cisg
ICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZzIo
eFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMih4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMih4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBs
b2cyKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBsb2cyKHhbMl1b
Ml0pOworICAgIHJlc3VsdFsyXVszXSA9IGxvZzIoeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGY0eDIgbG9nMihoYWxmNHgyIHgpIHsKKyAgICBoYWxmNHgyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzIo
eFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBsb2cyKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzIoeFsyXVswXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gbG9nMih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMF0gPSBs
b2cyKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGxvZzIoeFszXVsxXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMgbG9nMihoYWxmNHgzIHgpIHsKKyAgICBoYWxmNHgzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGxvZzIoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMih4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMih4WzFdWzJdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBsb2cyKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gbG9nMih4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMF0gPSBs
b2cyKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGxvZzIoeFszXVsxXSk7CisgICAgcmVz
dWx0WzNdWzJdID0gbG9nMih4WzNdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4
NCBsb2cyKGhhbGY0eDQgeCkgeworICAgIGhhbGY0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGxvZzIoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZzIo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBsb2cyKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gbG9nMih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBs
b2cyKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gbG9nMih4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBsb2cyKHhbMl1b
M10pOworICAgIHJlc3VsdFszXVswXSA9IGxvZzIoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFd
ID0gbG9nMih4WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSBsb2cyKHhbM11bMl0pOworICAg
IHJlc3VsdFszXVszXSA9IGxvZzIoeFszXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hh
bGYyIGxvZzEwKGhhbGYyIHgpIHsKKyAgICBoYWxmMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
bG9nMTAoeFswXSk7CisgICAgcmVzdWx0WzFdID0gbG9nMTAoeFsxXSk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK2hhbGYzIGxvZzEwKGhhbGYzIHgpIHsKKyAgICBoYWxmMyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gbG9nMTAoeFswXSk7CisgICAgcmVzdWx0WzFdID0gbG9nMTAoeFsxXSk7Cisg
ICAgcmVzdWx0WzJdID0gbG9nMTAoeFsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0
IGxvZzEwKGhhbGY0IHgpIHsKKyAgICBoYWxmNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbG9n
MTAoeFswXSk7CisgICAgcmVzdWx0WzFdID0gbG9nMTAoeFsxXSk7CisgICAgcmVzdWx0WzJdID0g
bG9nMTAoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gbG9nMTAoeFszXSk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK2hhbGYyeDIgbG9nMTAoaGFsZjJ4MiB4KSB7CisgICAgaGFsZjJ4MiByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bG9nMTAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hh
bGYyeDMgbG9nMTAoaGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gbG9nMTAoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gbG9nMTAoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGYyeDQgbG9nMTAoaGFsZjJ4NCB4KSB7CisgICAgaGFsZjJ4NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzBd
WzNdID0gbG9nMTAoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
bG9nMTAoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbG9nMTAoeFsxXVszXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgbG9nMTAoaGFsZjN4MiB4KSB7CisgICAgaGFsZjN4
MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gbG9nMTAoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDMgbG9nMTAoaGFsZjN4MyB4KSB7CisgICAgaGFs
ZjN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gbG9nMTAoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
bG9nMTAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbG9nMTAoeFsyXVsyXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDQgbG9nMTAoaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsy
XSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMTAoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gbG9nMTAoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbG9n
MTAoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbG9nMTAoeFsy
XVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbG9nMTAoeFsyXVszXSk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK2hhbGY0eDIgbG9nMTAoaGFsZjR4MiB4KSB7CisgICAgaGFsZjR4MiByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bG9nMTAoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nMTAo
eFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gbG9nMTAoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9nMTAoeFszXVsx
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMgbG9nMTAoaGFsZjR4MyB4KSB7Cisg
ICAgaGFsZjR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9n
MTAoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nMTAoeFsxXVswXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsx
XVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gbG9nMTAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbG9nMTAoeFsyXVsyXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gbG9nMTAoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
bG9nMTAoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbG9nMTAoeFszXVsyXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDQgbG9nMTAoaGFsZjR4NCB4KSB7CisgICAgaGFsZjR4
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMTAoeFswXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gbG9nMTAoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMTAoeFswXVsy
XSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMTAoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gbG9nMTAoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMTAoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gbG9nMTAoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbG9n
MTAoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nMTAoeFsyXVswXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gbG9nMTAoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbG9nMTAoeFsy
XVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbG9nMTAoeFsyXVszXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gbG9nMTAoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9nMTAoeFszXVsxXSk7
CisgICAgcmVzdWx0WzNdWzJdID0gbG9nMTAoeFszXVsyXSk7CisgICAgcmVzdWx0WzNdWzNdID0g
bG9nMTAoeFszXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIGZyYWMoaGFsZjIg
eCkgeworICAgIGhhbGYyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBmcmFjKHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGZyYWMoeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIGZy
YWMoaGFsZjMgeCkgeworICAgIGhhbGYzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBmcmFjKHhb
MF0pOworICAgIHJlc3VsdFsxXSA9IGZyYWMoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZnJhYyh4
WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjQgZnJhYyhoYWxmNCB4KSB7CisgICAg
aGFsZjQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZyYWMoeFswXSk7CisgICAgcmVzdWx0WzFd
ID0gZnJhYyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBmcmFjKHhbMl0pOworICAgIHJlc3VsdFsz
XSA9IGZyYWMoeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgZnJhYyhoYWxm
MngyIHgpIHsKKyAgICBoYWxmMngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhb
MF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngzIGZyYWMoaGFsZjJ4MyB4KSB7CisgICAgaGFs
ZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZyYWMoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBmcmFjKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgZnJhYyhoYWxmMng0IHgpIHsKKyAgICBoYWxmMng0
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGZyYWMoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSBmcmFjKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGZy
YWMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGZyYWMoeFsxXVsz
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgZnJhYyhoYWxmM3gyIHgpIHsKKyAg
ICBoYWxmM3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVswXSA9IGZyYWMoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4WzJdWzFdKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4MyBmcmFjKGhhbGYzeDMgeCkgeworICAgIGhh
bGYzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZnJhYyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOworICAg
IHJlc3VsdFsyXVswXSA9IGZyYWMoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4
WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmcmFjKHhbMl1bMl0pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitoYWxmM3g0IGZyYWMoaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBm
cmFjKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZyYWMoeFswXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gZnJhYyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1b
MF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZnJhYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmcmFjKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVswXSA9IGZyYWMoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZnJhYyh4
WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmcmFjKHhbMl1bMl0pOworICAgIHJlc3VsdFsy
XVszXSA9IGZyYWMoeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgZnJh
YyhoYWxmNHgyIHgpIHsKKyAgICBoYWxmNHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBm
cmFjKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1b
MV0pOworICAgIHJlc3VsdFsyXVswXSA9IGZyYWMoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gZnJhYyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMF0gPSBmcmFjKHhbM11bMF0pOworICAg
IHJlc3VsdFszXVsxXSA9IGZyYWMoeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hh
bGY0eDMgZnJhYyhoYWxmNHgzIHgpIHsKKyAgICBoYWxmNHgzIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBmcmFjKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBm
cmFjKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gZnJhYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmcmFjKHhbMl1b
MF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gZnJhYyh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMF0gPSBmcmFjKHhbM11bMF0pOworICAg
IHJlc3VsdFszXVsxXSA9IGZyYWMoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZnJhYyh4
WzNdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4NCBmcmFjKGhhbGY0eDQgeCkg
eworICAgIGhhbGY0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZyYWMoeFswXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBm
cmFjKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZyYWMoeFswXVszXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1b
MV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gZnJhYyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmcmFjKHhbMl1bMF0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZnJhYyh4
WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmcmFjKHhbMl1bM10pOworICAgIHJlc3VsdFsz
XVswXSA9IGZyYWMoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZnJhYyh4WzNdWzFdKTsK
KyAgICByZXN1bHRbM11bMl0gPSBmcmFjKHhbM11bMl0pOworICAgIHJlc3VsdFszXVszXSA9IGZy
YWMoeFszXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIGV4cDIoaGFsZjIgeCkg
eworICAgIGhhbGYyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBleHAyKHhbMF0pOworICAgIHJl
c3VsdFsxXSA9IGV4cDIoeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIGV4cDIo
aGFsZjMgeCkgeworICAgIGhhbGYzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBleHAyKHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IGV4cDIoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZXhwMih4WzJd
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjQgZXhwMihoYWxmNCB4KSB7CisgICAgaGFs
ZjQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGV4cDIoeFswXSk7CisgICAgcmVzdWx0WzFdID0g
ZXhwMih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBleHAyKHhbMl0pOworICAgIHJlc3VsdFszXSA9
IGV4cDIoeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgZXhwMihoYWxmMngy
IHgpIHsKKyAgICBoYWxmMngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gZXhwMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngzIGV4cDIoaGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4
MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBl
eHAyKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgZXhwMihoYWxmMng0IHgpIHsKKyAgICBoYWxmMng0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGV4cDIoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMF1bM10gPSBleHAyKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGV4cDIo
eFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBleHAyKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGV4cDIoeFsxXVszXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgZXhwMihoYWxmM3gyIHgpIHsKKyAgICBo
YWxmM3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFd
WzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGV4cDIoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJdWzFdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4MyBleHAyKGhhbGYzeDMgeCkgeworICAgIGhhbGYz
eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
ZXhwMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJd
WzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBleHAyKHhbMl1bMl0pOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitoYWxmM3g0IGV4cDIoaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAy
KHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
ZXhwMih4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBleHAyKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwMih4WzJd
WzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBleHAyKHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVsz
XSA9IGV4cDIoeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgZXhwMiho
YWxmNHgyIHgpIHsKKyAgICBoYWxmNHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAy
KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVswXSA9IGV4cDIoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
ZXhwMih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMF0gPSBleHAyKHhbM11bMF0pOworICAgIHJl
c3VsdFszXVsxXSA9IGV4cDIoeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0
eDMgZXhwMihoYWxmNHgzIHgpIHsKKyAgICBoYWxmNHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBleHAyKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBleHAy
KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0g
ZXhwMih4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMF0gPSBleHAyKHhbM11bMF0pOworICAgIHJl
c3VsdFszXVsxXSA9IGV4cDIoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZXhwMih4WzNd
WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4NCBleHAyKGhhbGY0eDQgeCkgewor
ICAgIGhhbGY0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAy
KHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGV4cDIoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
ZXhwMih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGV4cDIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZXhwMih4WzJd
WzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBleHAyKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsw
XSA9IGV4cDIoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZXhwMih4WzNdWzFdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBleHAyKHhbM11bMl0pOworICAgIHJlc3VsdFszXVszXSA9IGV4cDIo
eFszXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIGRlZ3JlZXMoaGFsZjIgeCkg
eworICAgIGhhbGYyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBkZWdyZWVzKHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGRlZ3JlZXMoeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYz
IGRlZ3JlZXMoaGFsZjMgeCkgeworICAgIGhhbGYzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBk
ZWdyZWVzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRlZ3JlZXMoeFsxXSk7CisgICAgcmVzdWx0
WzJdID0gZGVncmVlcyh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjQgZGVncmVl
cyhoYWxmNCB4KSB7CisgICAgaGFsZjQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRlZ3JlZXMo
eFswXSk7CisgICAgcmVzdWx0WzFdID0gZGVncmVlcyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBk
ZWdyZWVzKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGRlZ3JlZXMoeFszXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYyeDIgZGVncmVlcyhoYWxmMngyIHgpIHsKKyAgICBoYWxmMngyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitoYWxmMngzIGRlZ3JlZXMoaGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4MyByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBkZWdyZWVzKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsy
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBkZWdyZWVzKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsy
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgZGVncmVlcyhoYWxmMng0IHgpIHsK
KyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gZGVncmVlcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZWdyZWVzKHhbMF1bM10p
OworICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZGVncmVlcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0p
OworICAgIHJlc3VsdFsxXVszXSA9IGRlZ3JlZXMoeFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGYzeDIgZGVncmVlcyhoYWxmM3gyIHgpIHsKKyAgICBoYWxmM3gyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGRlZ3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9
IGRlZ3JlZXMoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4MyBkZWdyZWVzKGhhbGYzeDMgeCkgeworICAg
IGhhbGYzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBk
ZWdyZWVzKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBk
ZWdyZWVzKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBk
ZWdyZWVzKHhbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3g0IGRlZ3JlZXMo
aGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGVn
cmVlcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGVn
cmVlcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGVn
cmVlcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZWdyZWVzKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVswXSA9IGRlZ3JlZXMoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGVn
cmVlcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZWdyZWVzKHhbMl1bMl0pOworICAg
IHJlc3VsdFsyXVszXSA9IGRlZ3JlZXMoeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGY0eDIgZGVncmVlcyhoYWxmNHgyIHgpIHsKKyAgICBoYWxmNHgyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRlZ3Jl
ZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IGRlZ3Jl
ZXMoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGVncmVlcyh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBkZWdyZWVzKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGRlZ3Jl
ZXMoeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMgZGVncmVlcyhoYWxm
NHgzIHgpIHsKKyAgICBoYWxmNHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVz
KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZWdyZWVz
KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gZGVncmVlcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVz
KHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gZGVncmVlcyh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZWdyZWVz
KHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGRlZ3JlZXMoeFszXVsxXSk7CisgICAgcmVz
dWx0WzNdWzJdID0gZGVncmVlcyh4WzNdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFs
ZjR4NCBkZWdyZWVzKGhhbGY0eDQgeCkgeworICAgIGhhbGY0eDQgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGRlZ3JlZXMoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4
WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGRlZ3JlZXMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGVncmVlcyh4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGVncmVlcyh4
WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZWdyZWVzKHhbMl1bM10pOworICAgIHJlc3Vs
dFszXVswXSA9IGRlZ3JlZXMoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGVncmVlcyh4
WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSBkZWdyZWVzKHhbM11bMl0pOworICAgIHJlc3Vs
dFszXVszXSA9IGRlZ3JlZXMoeFszXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYy
IHJhZGlhbnMoaGFsZjIgeCkgeworICAgIGhhbGYyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBy
YWRpYW5zKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHJhZGlhbnMoeFsxXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYzIHJhZGlhbnMoaGFsZjMgeCkgeworICAgIGhhbGYzIHJlc3VsdDsK
KyAgICByZXN1bHRbMF0gPSByYWRpYW5zKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHJhZGlhbnMo
eFsxXSk7CisgICAgcmVzdWx0WzJdID0gcmFkaWFucyh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQoraGFsZjQgcmFkaWFucyhoYWxmNCB4KSB7CisgICAgaGFsZjQgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IHJhZGlhbnMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gcmFkaWFucyh4WzFdKTsK
KyAgICByZXN1bHRbMl0gPSByYWRpYW5zKHhbMl0pOworICAgIHJlc3VsdFszXSA9IHJhZGlhbnMo
eFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgcmFkaWFucyhoYWxmMngyIHgp
IHsKKyAgICBoYWxmMngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gcmFkaWFucyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1b
MV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngzIHJhZGlhbnMoaGFsZjJ4MyB4KSB7
CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFucyh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IHJhZGlhbnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsy
XSA9IHJhZGlhbnMoeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgcmFk
aWFucyhoYWxmMng0IHgpIHsKKyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSByYWRpYW5zKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSByYWRpYW5zKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSByYWRpYW5zKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IHJhZGlhbnMoeFsxXVszXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgcmFkaWFucyhoYWxmM3gyIHgpIHsKKyAg
ICBoYWxmM3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
cmFkaWFucyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
cmFkaWFucyh4WzJdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4MyByYWRpYW5z
KGhhbGYzeDMgeCkgeworICAgIGhhbGYzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJh
ZGlhbnMoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSByYWRpYW5zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IHJh
ZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IHJh
ZGlhbnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSByYWRpYW5zKHhbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitoYWxmM3g0IHJhZGlhbnMoaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gcmFkaWFucyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRp
YW5zKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7CisgICAg
cmVzdWx0WzBdWzNdID0gcmFkaWFucyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByYWRp
YW5zKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSByYWRp
YW5zKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gcmFkaWFucyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSByYWRp
YW5zKHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IHJhZGlhbnMoeFsyXVszXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgcmFkaWFucyhoYWxmNHgyIHgpIHsKKyAgICBoYWxm
NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmFkaWFu
cyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVswXSA9IHJhZGlhbnMoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcmFkaWFu
cyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMF0gPSByYWRpYW5zKHhbM11bMF0pOworICAgIHJl
c3VsdFszXVsxXSA9IHJhZGlhbnMoeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hh
bGY0eDMgcmFkaWFucyhoYWxmNHgzIHgpIHsKKyAgICBoYWxmNHgzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMo
eFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlhbnMo
eFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gcmFkaWFucyh4WzJdWzJdKTsKKyAgICByZXN1
bHRbM11bMF0gPSByYWRpYW5zKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IHJhZGlhbnMo
eFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gcmFkaWFucyh4WzNdWzJdKTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQoraGFsZjR4NCByYWRpYW5zKGhhbGY0eDQgeCkgeworICAgIGhhbGY0eDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFswXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByYWRpYW5zKHhb
MF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJhZGlhbnMoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gcmFkaWFucyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhb
MV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gcmFkaWFucyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhb
Ml1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gcmFkaWFucyh4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSByYWRpYW5zKHhb
Ml1bM10pOworICAgIHJlc3VsdFszXVswXSA9IHJhZGlhbnMoeFszXVswXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gcmFkaWFucyh4WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSByYWRpYW5zKHhb
M11bMl0pOworICAgIHJlc3VsdFszXVszXSA9IHJhZGlhbnMoeFszXVszXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYyIHJjcChoYWxmMiB4KSB7CisgICAgaGFsZjIgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IHJjcCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSByY3AoeFsxXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIHJjcChoYWxmMyB4KSB7CisgICAgaGFsZjMgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IHJjcCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSByY3AoeFsxXSk7
CisgICAgcmVzdWx0WzJdID0gcmNwKHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxm
NCByY3AoaGFsZjQgeCkgeworICAgIGhhbGY0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSByY3Ao
eFswXSk7CisgICAgcmVzdWx0WzFdID0gcmNwKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHJjcCh4
WzJdKTsKKyAgICByZXN1bHRbM10gPSByY3AoeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGYyeDIgcmNwKGhhbGYyeDIgeCkgeworICAgIGhhbGYyeDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IHJjcCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJj
cCh4WzFdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4MyByY3AoaGFsZjJ4MyB4
KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcmNwKHhbMF1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBy
Y3AoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgcmNwKGhhbGYyeDQgeCkgeworICAgIGhh
bGYyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0p
OworICAgIHJlc3VsdFswXVszXSA9IHJjcCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBy
Y3AoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSByY3AoeFsxXVszXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgcmNwKGhhbGYzeDIgeCkgeworICAgIGhh
bGYzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBy
Y3AoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitoYWxmM3gzIHJjcChoYWxmM3gzIHgpIHsKKyAgICBoYWxmM3gzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
cmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmNwKHhbMV1bMV0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBy
Y3AoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IHJjcCh4WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4NCBy
Y3AoaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
cmNwKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcmNwKHhbMF1bM10p
OworICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBy
Y3AoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsxXVszXSA9IHJjcCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHJj
cCh4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSByY3AoeFsyXVszXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGY0eDIgcmNwKGhhbGY0eDIgeCkgeworICAgIGhhbGY0eDIgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBy
Y3AoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVswXSA9IHJj
cCh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSByY3AoeFszXVsxXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGY0eDMgcmNwKGhhbGY0eDMgeCkgeworICAgIGhhbGY0eDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBy
Y3AoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVswXSA9IHJjcCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IHJj
cCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByY3AoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gcmNwKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVswXSA9IHJjcCh4WzNdWzBdKTsK
KyAgICByZXN1bHRbM11bMV0gPSByY3AoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gcmNw
KHhbM11bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHg0IHJjcChoYWxmNHg0IHgp
IHsKKyAgICBoYWxmNHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJj
cCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSByY3AoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gcmNwKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcmNw
KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IHJjcCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSByY3AoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gcmNwKHhbMl1bMl0pOwor
ICAgIHJlc3VsdFsyXVszXSA9IHJjcCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMF0gPSByY3Ao
eFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gcmNwKHhbM11bMV0pOworICAgIHJlc3VsdFsz
XVsyXSA9IHJjcCh4WzNdWzJdKTsKKyAgICByZXN1bHRbM11bM10gPSByY3AoeFszXVszXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIHJzcXJ0KGhhbGYyIHgpIHsKKyAgICBoYWxmMiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gcnNxcnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gcnNx
cnQoeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIHJzcXJ0KGhhbGYzIHgpIHsK
KyAgICBoYWxmMyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gcnNxcnQoeFswXSk7CisgICAgcmVz
dWx0WzFdID0gcnNxcnQoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gcnNxcnQoeFsyXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0IHJzcXJ0KGhhbGY0IHgpIHsKKyAgICBoYWxmNCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0gcnNxcnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gcnNxcnQo
eFsxXSk7CisgICAgcmVzdWx0WzJdID0gcnNxcnQoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gcnNx
cnQoeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgcnNxcnQoaGFsZjJ4MiB4
KSB7CisgICAgaGFsZjJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDMgcnNxcnQoaGFsZjJ4MyB4KSB7CisgICAgaGFs
ZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gcnNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgcnNxcnQoaGFsZjJ4NCB4KSB7CisgICAg
aGFsZjJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcnNxcnQo
eFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcnNxcnQoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gcnNxcnQoeFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgcnNxcnQo
aGFsZjN4MiB4KSB7CisgICAgaGFsZjN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcnNx
cnQoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gcnNxcnQoeFsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDMgcnNx
cnQoaGFsZjN4MyB4KSB7CisgICAgaGFsZjN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
cnNxcnQoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQo
eFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcnNxcnQoeFsyXVsw
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gcnNxcnQoeFsyXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDQgcnNxcnQo
aGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcnNx
cnQoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcnNxcnQoeFsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gcnNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gcnNxcnQoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
cnNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gcnNxcnQoeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcnNxcnQo
eFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgcnNxcnQoaGFsZjR4MiB4
KSB7CisgICAgaGFsZjR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcnNxcnQoeFswXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gcnNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcnNx
cnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcnNxcnQoeFszXVswXSk7CisgICAgcmVz
dWx0WzNdWzFdID0gcnNxcnQoeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0
eDMgcnNxcnQoaGFsZjR4MyB4KSB7CisgICAgaGFsZjR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gcnNxcnQoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
cnNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcnNxcnQoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcnNxcnQo
eFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gcnNxcnQoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcnNxcnQoeFszXVsw
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gcnNxcnQoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJd
ID0gcnNxcnQoeFszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDQgcnNxcnQo
aGFsZjR4NCB4KSB7CisgICAgaGFsZjR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcnNx
cnQoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcnNxcnQoeFswXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gcnNxcnQoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcnNxcnQoeFsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcnNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gcnNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcnNxcnQoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gcnNxcnQoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
cnNxcnQoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcnNxcnQoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gcnNxcnQoeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcnNxcnQo
eFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcnNxcnQoeFszXVswXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gcnNxcnQoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gcnNxcnQoeFszXVsy
XSk7CisgICAgcmVzdWx0WzNdWzNdID0gcnNxcnQoeFszXVszXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGYyIHNhdHVyYXRlKGhhbGYyIHgpIHsKKyAgICBoYWxmMiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gc2F0dXJhdGUoeFswXSk7CisgICAgcmVzdWx0WzFdID0gc2F0dXJhdGUoeFsx
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIHNhdHVyYXRlKGhhbGYzIHgpIHsKKyAg
ICBoYWxmMyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gc2F0dXJhdGUoeFswXSk7CisgICAgcmVz
dWx0WzFdID0gc2F0dXJhdGUoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gc2F0dXJhdGUoeFsyXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0IHNhdHVyYXRlKGhhbGY0IHgpIHsKKyAgICBo
YWxmNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gc2F0dXJhdGUoeFswXSk7CisgICAgcmVzdWx0
WzFdID0gc2F0dXJhdGUoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gc2F0dXJhdGUoeFsyXSk7Cisg
ICAgcmVzdWx0WzNdID0gc2F0dXJhdGUoeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hh
bGYyeDIgc2F0dXJhdGUoaGFsZjJ4MiB4KSB7CisgICAgaGFsZjJ4MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJh
dGUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsxXVswXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGYyeDMgc2F0dXJhdGUoaGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0
dXJhdGUoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
c2F0dXJhdGUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgc2F0dXJhdGUoaGFsZjJ4NCB4KSB7Cisg
ICAgaGFsZjJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gc2F0dXJhdGUoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2F0dXJhdGUoeFswXVsz
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsx
XVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc2F0dXJhdGUoeFsxXVszXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYzeDIgc2F0dXJhdGUoaGFsZjN4MiB4KSB7CisgICAgaGFsZjN4MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUo
eFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2F0dXJh
dGUoeFsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDMgc2F0dXJhdGUoaGFs
ZjN4MyB4KSB7CisgICAgaGFsZjN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJh
dGUoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2F0
dXJhdGUoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
c2F0dXJhdGUoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gc2F0dXJhdGUoeFsyXVsyXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGYzeDQgc2F0dXJhdGUoaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gc2F0dXJhdGUoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsy
XSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2F0dXJhdGUoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gc2F0dXJhdGUoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gc2F0dXJhdGUoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUo
eFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gc2F0dXJhdGUoeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc2F0dXJh
dGUoeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgc2F0dXJhdGUoaGFs
ZjR4MiB4KSB7CisgICAgaGFsZjR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJh
dGUoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2F0
dXJhdGUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzBdID0g
c2F0dXJhdGUoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc2F0dXJhdGUoeFszXVsxXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMgc2F0dXJhdGUoaGFsZjR4MyB4KSB7Cisg
ICAgaGFsZjR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJhdGUoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gc2F0dXJhdGUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2F0dXJhdGUoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsy
XVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gc2F0dXJhdGUoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc2F0dXJhdGUo
eFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc2F0dXJhdGUoeFszXVsxXSk7CisgICAgcmVz
dWx0WzNdWzJdID0gc2F0dXJhdGUoeFszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hh
bGY0eDQgc2F0dXJhdGUoaGFsZjR4NCB4KSB7CisgICAgaGFsZjR4NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gc2F0dXJhdGUoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2F0dXJh
dGUoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2F0dXJhdGUoeFswXVsyXSk7CisgICAg
cmVzdWx0WzBdWzNdID0gc2F0dXJhdGUoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2F0
dXJhdGUoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2F0dXJhdGUoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gc2F0dXJhdGUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
c2F0dXJhdGUoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2F0dXJhdGUoeFsyXVswXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gc2F0dXJhdGUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gc2F0dXJhdGUoeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc2F0dXJhdGUoeFsyXVsz
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gc2F0dXJhdGUoeFszXVswXSk7CisgICAgcmVzdWx0WzNd
WzFdID0gc2F0dXJhdGUoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gc2F0dXJhdGUoeFsz
XVsyXSk7CisgICAgcmVzdWx0WzNdWzNdID0gc2F0dXJhdGUoeFszXVszXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYyIGRkeF9jb2Fyc2UoaGFsZjIgeCkgeworICAgIGhhbGYyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSBkZHhfY29hcnNlKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRk
eF9jb2Fyc2UoeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIGRkeF9jb2Fyc2Uo
aGFsZjMgeCkgeworICAgIGhhbGYzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBkZHhfY29hcnNl
KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeF9jb2Fyc2UoeFsxXSk7CisgICAgcmVzdWx0WzJd
ID0gZGR4X2NvYXJzZSh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjQgZGR4X2Nv
YXJzZShoYWxmNCB4KSB7CisgICAgaGFsZjQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRkeF9j
b2Fyc2UoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR4X2NvYXJzZSh4WzFdKTsKKyAgICByZXN1
bHRbMl0gPSBkZHhfY29hcnNlKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGRkeF9jb2Fyc2UoeFsz
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgZGR4X2NvYXJzZShoYWxmMngyIHgp
IHsKKyAgICBoYWxmMngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhb
MF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhf
Y29hcnNlKHhbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngzIGRkeF9jb2Fy
c2UoaGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
ZGR4X2NvYXJzZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9jb2Fyc2UoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29h
cnNlKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgZGR4X2NvYXJzZShoYWxmMng0IHgpIHsKKyAg
ICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZGR4X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHhfY29hcnNl
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBk
ZHhfY29hcnNlKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsxXVsz
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgZGR4X2NvYXJzZShoYWxmM3gyIHgp
IHsKKyAgICBoYWxmM3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhb
MF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhf
Y29hcnNlKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeF9jb2Fyc2UoeFsyXVswXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gZGR4X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQoraGFsZjN4MyBkZHhfY29hcnNlKGhhbGYzeDMgeCkgeworICAgIGhhbGYzeDMgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29h
cnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBkZHhfY29hcnNlKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeF9jb2Fyc2UoeFsy
XVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXN1
bHRbMl1bMl0gPSBkZHhfY29hcnNlKHhbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cito
YWxmM3g0IGRkeF9jb2Fyc2UoaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBk
ZHhfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9jb2Fyc2UoeFswXVsy
XSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4X2NvYXJzZSh4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fy
c2UoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2NvYXJzZSh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBkZHhfY29hcnNlKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9
IGRkeF9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4X2NvYXJzZSh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHhfY29hcnNlKHhbMl1bMl0pOworICAgIHJlc3Vs
dFsyXVszXSA9IGRkeF9jb2Fyc2UoeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hh
bGY0eDIgZGR4X2NvYXJzZShoYWxmNHgyIHgpIHsKKyAgICBoYWxmNHgyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRk
eF9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVswXSA9IGRkeF9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4X2NvYXJz
ZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHhfY29hcnNlKHhbM11bMF0pOworICAg
IHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fyc2UoeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2hhbGY0eDMgZGR4X2NvYXJzZShoYWxmNHgzIHgpIHsKKyAgICBoYWxmNHgzIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2NvYXJzZSh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4
X2NvYXJzZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNlKHhbMl1bMF0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHhfY29hcnNl
KHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeF9jb2Fyc2UoeFszXVsxXSk7CisgICAg
cmVzdWx0WzNdWzJdID0gZGR4X2NvYXJzZSh4WzNdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQoraGFsZjR4NCBkZHhfY29hcnNlKGhhbGY0eDQgeCkgeworICAgIGhhbGY0eDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhb
MF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeF9jb2Fyc2UoeFswXVszXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhf
Y29hcnNlKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gZGR4X2NvYXJzZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBkZHhfY29hcnNlKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2Uo
eFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBkZHhfY29hcnNlKHhbMl1bM10pOworICAgIHJlc3VsdFszXVswXSA9IGRk
eF9jb2Fyc2UoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4X2NvYXJzZSh4WzNdWzFd
KTsKKyAgICByZXN1bHRbM11bMl0gPSBkZHhfY29hcnNlKHhbM11bMl0pOworICAgIHJlc3VsdFsz
XVszXSA9IGRkeF9jb2Fyc2UoeFszXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYy
IGRkeF9maW5lKGhhbGYyIHgpIHsKKyAgICBoYWxmMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
ZGR4X2ZpbmUoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR4X2ZpbmUoeFsxXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2hhbGYzIGRkeF9maW5lKGhhbGYzIHgpIHsKKyAgICBoYWxmMyByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0gZGR4X2ZpbmUoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR4
X2ZpbmUoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZGR4X2ZpbmUoeFsyXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGY0IGRkeF9maW5lKGhhbGY0IHgpIHsKKyAgICBoYWxmNCByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gZGR4X2ZpbmUoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR4X2Zp
bmUoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZGR4X2ZpbmUoeFsyXSk7CisgICAgcmVzdWx0WzNd
ID0gZGR4X2ZpbmUoeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgZGR4X2Zp
bmUoaGFsZjJ4MiB4KSB7CisgICAgaGFsZjJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
ZGR4X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZGR4X2ZpbmUoeFsxXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDMgZGR4
X2ZpbmUoaGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gZGR4X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2ZpbmUoeFsxXVsyXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYyeDQgZGR4X2ZpbmUoaGFsZjJ4NCB4KSB7CisgICAgaGFsZjJ4NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2ZpbmUo
eFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4X2ZpbmUoeFswXVszXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2Zp
bmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2ZpbmUoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gZGR4X2ZpbmUoeFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGYzeDIgZGR4X2ZpbmUoaGFsZjN4MiB4KSB7CisgICAgaGFsZjN4MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4
X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
ZGR4X2ZpbmUoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDMgZGR4X2ZpbmUoaGFsZjN4MyB4KSB7Cisg
ICAgaGFsZjN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gZGR4X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gZGR4X2ZpbmUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsy
XVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gZGR4X2ZpbmUoeFsyXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYz
eDQgZGR4X2ZpbmUoaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUo
eFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2ZpbmUoeFswXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gZGR4X2ZpbmUoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2Zp
bmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gZGR4X2ZpbmUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR4
X2ZpbmUoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0g
ZGR4X2ZpbmUoeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4X2ZpbmUoeFsyXVszXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgZGR4X2ZpbmUoaGFsZjR4MiB4KSB7Cisg
ICAgaGFsZjR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gZGR4X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsyXVswXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR4X2ZpbmUoeFsz
XVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4X2ZpbmUoeFszXVsxXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGY0eDMgZGR4X2ZpbmUoaGFsZjR4MyB4KSB7CisgICAgaGFsZjR4MyBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2ZpbmUo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVswXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2Zp
bmUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsyXVswXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR4
X2ZpbmUoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR4X2ZpbmUoeFszXVswXSk7Cisg
ICAgcmVzdWx0WzNdWzFdID0gZGR4X2ZpbmUoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0g
ZGR4X2ZpbmUoeFszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDQgZGR4X2Zp
bmUoaGFsZjR4NCB4KSB7CisgICAgaGFsZjR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
ZGR4X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2ZpbmUoeFswXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gZGR4X2ZpbmUoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2ZpbmUoeFsxXVsw
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gZGR4X2ZpbmUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR4X2ZpbmUoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4X2ZpbmUoeFsyXVswXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZGR4X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR4X2ZpbmUo
eFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4X2ZpbmUoeFsyXVszXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gZGR4X2ZpbmUoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4X2Zp
bmUoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZGR4X2ZpbmUoeFszXVsyXSk7CisgICAg
cmVzdWx0WzNdWzNdID0gZGR4X2ZpbmUoeFszXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGYyIGRkeV9jb2Fyc2UoaGFsZjIgeCkgeworICAgIGhhbGYyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBkZHlfY29hcnNlKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeV9jb2Fyc2UoeFsx
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIGRkeV9jb2Fyc2UoaGFsZjMgeCkgewor
ICAgIGhhbGYzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBkZHlfY29hcnNlKHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGRkeV9jb2Fyc2UoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZGR5X2NvYXJz
ZSh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjQgZGR5X2NvYXJzZShoYWxmNCB4
KSB7CisgICAgaGFsZjQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRkeV9jb2Fyc2UoeFswXSk7
CisgICAgcmVzdWx0WzFdID0gZGR5X2NvYXJzZSh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBkZHlf
Y29hcnNlKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGRkeV9jb2Fyc2UoeFszXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgZGR5X2NvYXJzZShoYWxmMngyIHgpIHsKKyAgICBoYWxm
MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
ZGR5X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1b
MV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngzIGRkeV9jb2Fyc2UoaGFsZjJ4MyB4
KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5
X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK2hhbGYyeDQgZGR5X2NvYXJzZShoYWxmMng0IHgpIHsKKyAgICBoYWxmMng0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5X2Nv
YXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHlfY29hcnNlKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhb
MV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9jb2Fyc2UoeFsxXVszXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgZGR5X2NvYXJzZShoYWxmM3gyIHgpIHsKKyAgICBoYWxm
M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
ZGR5X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1b
MV0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFs
ZjN4MyBkZHlfY29hcnNlKGhhbGYzeDMgeCkgeworICAgIGhhbGYzeDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5
X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNl
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9jb2Fyc2UoeFsyXVswXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBk
ZHlfY29hcnNlKHhbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3g0IGRkeV9j
b2Fyc2UoaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhb
MF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gZGR5X2NvYXJzZSh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlf
Y29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1b
M10gPSBkZHlfY29hcnNlKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9jb2Fyc2Uo
eFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBkZHlfY29hcnNlKHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IGRk
eV9jb2Fyc2UoeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgZGR5X2Nv
YXJzZShoYWxmNHgyIHgpIHsKKyAgICBoYWxmNHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSBkZHlfY29hcnNlKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9j
b2Fyc2UoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5X2NvYXJzZSh4WzJdWzFdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBkZHlfY29hcnNlKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsx
XSA9IGRkeV9jb2Fyc2UoeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMg
ZGR5X2NvYXJzZShoYWxmNHgzIHgpIHsKKyAgICBoYWxmNHgzIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fy
c2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGRkeV9jb2Fyc2UoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5X2NvYXJzZSh4WzFd
WzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR5X2Nv
YXJzZSh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHlfY29hcnNlKHhbM11bMF0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IGRkeV9jb2Fyc2UoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJd
ID0gZGR5X2NvYXJzZSh4WzNdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4NCBk
ZHlfY29hcnNlKGhhbGY0eDQgeCkgeworICAgIGhhbGY0eDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJz
ZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGRkeV9jb2Fyc2UoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
ZGR5X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1b
MV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gZGR5X2NvYXJzZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29h
cnNlKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10g
PSBkZHlfY29hcnNlKHhbMl1bM10pOworICAgIHJlc3VsdFszXVswXSA9IGRkeV9jb2Fyc2UoeFsz
XVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR5X2NvYXJzZSh4WzNdWzFdKTsKKyAgICByZXN1
bHRbM11bMl0gPSBkZHlfY29hcnNlKHhbM11bMl0pOworICAgIHJlc3VsdFszXVszXSA9IGRkeV9j
b2Fyc2UoeFszXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIGRkeV9maW5lKGhh
bGYyIHgpIHsKKyAgICBoYWxmMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZGR5X2ZpbmUoeFsw
XSk7CisgICAgcmVzdWx0WzFdID0gZGR5X2ZpbmUoeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2hhbGYzIGRkeV9maW5lKGhhbGYzIHgpIHsKKyAgICBoYWxmMyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gZGR5X2ZpbmUoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR5X2ZpbmUoeFsxXSk7
CisgICAgcmVzdWx0WzJdID0gZGR5X2ZpbmUoeFsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGY0IGRkeV9maW5lKGhhbGY0IHgpIHsKKyAgICBoYWxmNCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gZGR5X2ZpbmUoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR5X2ZpbmUoeFsxXSk7Cisg
ICAgcmVzdWx0WzJdID0gZGR5X2ZpbmUoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gZGR5X2ZpbmUo
eFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgZGR5X2ZpbmUoaGFsZjJ4MiB4
KSB7CisgICAgaGFsZjJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2ZpbmUoeFsw
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gZGR5X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2ZpbmUo
eFsxXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDMgZGR5X2ZpbmUoaGFsZjJ4
MyB4KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2ZpbmUo
eFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2ZpbmUoeFswXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZGR5X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2Zp
bmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2ZpbmUoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gZGR5X2ZpbmUoeFsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGYyeDQgZGR5X2ZpbmUoaGFsZjJ4NCB4KSB7CisgICAgaGFsZjJ4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gZGR5X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5
X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5X2ZpbmUoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gZGR5X2ZpbmUoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
ZGR5X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2ZpbmUoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gZGR5X2ZpbmUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gZGR5X2ZpbmUoeFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgZGR5
X2ZpbmUoaGFsZjN4MiB4KSB7CisgICAgaGFsZjN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gZGR5X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2ZpbmUoeFswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZGR5X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5X2ZpbmUoeFsy
XVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5X2ZpbmUoeFsyXVsxXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYzeDMgZGR5X2ZpbmUoaGFsZjN4MyB4KSB7CisgICAgaGFsZjN4MyBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZGR5X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5X2ZpbmUo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2ZpbmUoeFsxXVswXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gZGR5X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5X2Zp
bmUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5X2ZpbmUoeFsyXVswXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gZGR5X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR5
X2ZpbmUoeFsyXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDQgZGR5X2ZpbmUo
aGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5
X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2ZpbmUoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gZGR5X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
ZGR5X2ZpbmUoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2ZpbmUoeFsxXVswXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZGR5X2ZpbmUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR5X2ZpbmUoeFsxXVsz
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5X2ZpbmUoeFsyXVswXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gZGR5X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR5X2ZpbmUoeFsy
XVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR5X2ZpbmUoeFsyXVszXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGY0eDIgZGR5X2ZpbmUoaGFsZjR4MiB4KSB7CisgICAgaGFsZjR4MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZGR5X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2ZpbmUo
eFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gZGR5X2ZpbmUoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5X2Zp
bmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR5X2ZpbmUoeFszXVswXSk7CisgICAg
cmVzdWx0WzNdWzFdID0gZGR5X2ZpbmUoeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGY0eDMgZGR5X2ZpbmUoaGFsZjR4MyB4KSB7CisgICAgaGFsZjR4MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gZGR5X2ZpbmUoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5
X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5X2ZpbmUoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gZGR5X2ZpbmUoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
ZGR5X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5X2ZpbmUoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gZGR5X2ZpbmUoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gZGR5X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR5X2ZpbmUoeFsyXVsy
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR5X2ZpbmUoeFszXVswXSk7CisgICAgcmVzdWx0WzNd
WzFdID0gZGR5X2ZpbmUoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZGR5X2ZpbmUoeFsz
XVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDQgZGR5X2ZpbmUoaGFsZjR4NCB4
KSB7CisgICAgaGFsZjR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2ZpbmUoeFsw
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2ZpbmUoeFswXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gZGR5X2ZpbmUoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR5X2ZpbmUo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2ZpbmUoeFsxXVswXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gZGR5X2ZpbmUoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5X2Zp
bmUoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR5X2ZpbmUoeFsxXVszXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gZGR5X2ZpbmUoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5
X2ZpbmUoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR5X2ZpbmUoeFsyXVsyXSk7Cisg
ICAgcmVzdWx0WzJdWzNdID0gZGR5X2ZpbmUoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzBdID0g
ZGR5X2ZpbmUoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR5X2ZpbmUoeFszXVsxXSk7
CisgICAgcmVzdWx0WzNdWzJdID0gZGR5X2ZpbmUoeFszXVsyXSk7CisgICAgcmVzdWx0WzNdWzNd
ID0gZGR5X2ZpbmUoeFszXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIGZ3aWR0
aChoYWxmMiB4KSB7CisgICAgaGFsZjIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZ3aWR0aCh4
WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmd2lkdGgoeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2hhbGYzIGZ3aWR0aChoYWxmMyB4KSB7CisgICAgaGFsZjMgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IGZ3aWR0aCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmd2lkdGgoeFsxXSk7CisgICAg
cmVzdWx0WzJdID0gZndpZHRoKHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNCBm
d2lkdGgoaGFsZjQgeCkgeworICAgIGhhbGY0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBmd2lk
dGgoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZndpZHRoKHhbMV0pOworICAgIHJlc3VsdFsyXSA9
IGZ3aWR0aCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBmd2lkdGgoeFszXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYyeDIgZndpZHRoKGhhbGYyeDIgeCkgeworICAgIGhhbGYyeDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQoraGFsZjJ4MyBmd2lkdGgoaGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZ3
aWR0aCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0
aCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsyXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgZndpZHRoKGhhbGYyeDQgeCkgeworICAgIGhhbGYyeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZndpZHRoKHhbMF1b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGZ3aWR0aCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBmd2lkdGgoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10g
PSBmd2lkdGgoeFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgZndpZHRo
KGhhbGYzeDIgeCkgeworICAgIGhhbGYzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZ3
aWR0aCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZ3aWR0
aCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxm
M3gzIGZ3aWR0aChoYWxmM3gzIHgpIHsKKyAgICBoYWxmM3gzIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBmd2lkdGgoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBmd2lkdGgoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZndpZHRoKHhbMV1bMV0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBmd2lkdGgoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQoraGFsZjN4NCBmd2lkdGgoaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0
aCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmd2lkdGgoeFswXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gZndpZHRoKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGZ3aWR0aCh4WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gZndpZHRoKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJd
KTsKKyAgICByZXN1bHRbMl1bM10gPSBmd2lkdGgoeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGY0eDIgZndpZHRoKGhhbGY0eDIgeCkgeworICAgIGhhbGY0eDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBm
d2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmd2lk
dGgoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOworICAgIHJl
c3VsdFszXVswXSA9IGZ3aWR0aCh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmd2lkdGgo
eFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMgZndpZHRoKGhhbGY0eDMg
eCkgeworICAgIGhhbGY0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZndpZHRoKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGZ3aWR0aCh4WzJdWzBdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBmd2lkdGgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0g
ZndpZHRoKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVswXSA9IGZ3aWR0aCh4WzNdWzBdKTsKKyAg
ICByZXN1bHRbM11bMV0gPSBmd2lkdGgoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZndp
ZHRoKHhbM11bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHg0IGZ3aWR0aChoYWxm
NHg0IHgpIHsKKyAgICBoYWxmNHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgo
eFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmd2lkdGgoeFsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsxXVsy
XSk7CisgICAgcmVzdWx0WzFdWzNdID0gZndpZHRoKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVsw
XSA9IGZ3aWR0aCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmd2lkdGgoeFsyXVsxXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gZndpZHRoKHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9
IGZ3aWR0aCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMF0gPSBmd2lkdGgoeFszXVswXSk7Cisg
ICAgcmVzdWx0WzNdWzFdID0gZndpZHRoKHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGZ3
aWR0aCh4WzNdWzJdKTsKKyAgICByZXN1bHRbM11bM10gPSBmd2lkdGgoeFszXVszXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KKworZmxvYXQgc3FydChmbG9hdCB4KSB7CisgICAgcmV0dXJuIHBv
dyh4LCAwLjUpOworfQorZmxvYXQgbG9nMihmbG9hdCB4KSB7CisgICAgcmV0dXJuIGxvZyh4KSAv
IGxvZygyKTsKK30KK2Zsb2F0IGxvZzEwKGZsb2F0IHgpIHsKKyAgICByZXR1cm4gbG9nKHgpIC8g
bG9nKDEwKTsKK30KK2Zsb2F0IGZyYWMoZmxvYXQgeCkgeworICAgIHJldHVybiB4IC0gZmxvb3Io
eCk7Cit9CitmbG9hdCBleHAyKGZsb2F0IHgpIHsKKyAgICByZXR1cm4gZXhwKHggKiBsb2coMikp
OworfQorZmxvYXQgZGVncmVlcyhmbG9hdCB4KSB7CisgICAgcmV0dXJuIHggKiAxODAgLyAzLjE0
MTU5OworfQorZmxvYXQgcmFkaWFucyhmbG9hdCB4KSB7CisgICAgcmV0dXJuIHggKiAzLjE0MTU5
IC8gMTgwOworfQorZmxvYXQgcmNwKGZsb2F0IHgpIHsKKyAgICByZXR1cm4gMSAvIHg7Cit9Citm
bG9hdCByc3FydChmbG9hdCB4KSB7CisgICAgcmV0dXJuIDEgLyBzcXJ0KHgpOworfQorZmxvYXQg
c2F0dXJhdGUoZmxvYXQgeCkgeworICAgIHJldHVybiBjbGFtcCh4LCAwLCAxKTsKK30KK2Zsb2F0
IGRkeF9jb2Fyc2UoZmxvYXQgeCkgeworICAgIHJldHVybiBkZHgoeCk7Cit9CitmbG9hdCBkZHhf
ZmluZShmbG9hdCB4KSB7CisgICAgcmV0dXJuIGRkeCh4KTsKK30KK2Zsb2F0IGRkeV9jb2Fyc2Uo
ZmxvYXQgeCkgeworICAgIHJldHVybiBkZHkoeCk7Cit9CitmbG9hdCBkZHlfZmluZShmbG9hdCB4
KSB7CisgICAgcmV0dXJuIGRkeSh4KTsKK30KK2Zsb2F0IGZ3aWR0aChmbG9hdCB4KSB7CisgICAg
cmV0dXJuIGFicyhkZHgoeCkpICsgYWJzKGRkeSh4KSk7Cit9CitmbG9hdDIgY29zKGZsb2F0MiB4
KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBjb3MoeFswXSk7CisgICAg
cmVzdWx0WzFdID0gY29zKHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgY29z
KGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBjb3MoeFsw
XSk7CisgICAgcmVzdWx0WzFdID0gY29zKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGNvcyh4WzJd
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0IGNvcyhmbG9hdDQgeCkgeworICAgIGZs
b2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gY29zKHhbMF0pOworICAgIHJlc3VsdFsxXSA9
IGNvcyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBjb3MoeFsyXSk7CisgICAgcmVzdWx0WzNdID0g
Y29zKHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiBjb3MoZmxvYXQyeDIg
eCkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9
IGNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2Zsb2F0MngzIGNvcyhmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitmbG9hdDJ4NCBjb3MoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29z
KHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBjb3MoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjb3Mo
eFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY29zKHhbMV1bM10pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDN4MiBjb3MoZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Y29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorZmxvYXQzeDMgY29zKGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gY29zKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvcyh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBjb3MoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1b
MF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0g
PSBjb3MoeFsyXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3g0IGNvcyhmbG9h
dDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNvcyh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGNvcyh4WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zKHhb
MV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1b
M10gPSBjb3MoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBjb3MoeFsy
XVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gY29zKHhbMl1bM10pOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitmbG9hdDR4MiBjb3MoZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29z
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY29zKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGNvcyh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMF0gPSBjb3Mo
eFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gY29zKHhbM11bMV0pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDR4MyBjb3MoZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBjb3MoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Y29zKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNvcyh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zKHhbMV1bMV0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBj
b3MoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IGNvcyh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMF0gPSBjb3MoeFszXVswXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gY29zKHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGNv
cyh4WzNdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDQgY29zKGZsb2F0NHg0
IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY29zKHhbMF1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvcyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY29zKHhbMF1bM10pOworICAgIHJl
c3VsdFsxXVswXSA9IGNvcyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjb3MoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9
IGNvcyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3MoeFsyXVswXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGNvcyh4WzJdWzJd
KTsKKyAgICByZXN1bHRbMl1bM10gPSBjb3MoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzBdID0g
Y29zKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGNvcyh4WzNdWzFdKTsKKyAgICByZXN1
bHRbM11bMl0gPSBjb3MoeFszXVsyXSk7CisgICAgcmVzdWx0WzNdWzNdID0gY29zKHhbM11bM10p
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIgc2luKGZsb2F0MiB4KSB7CisgICAgZmxv
YXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzaW4oeFswXSk7CisgICAgcmVzdWx0WzFdID0g
c2luKHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgc2luKGZsb2F0MyB4KSB7
CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzaW4oeFswXSk7CisgICAgcmVz
dWx0WzFdID0gc2luKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHNpbih4WzJdKTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorZmxvYXQ0IHNpbihmbG9hdDQgeCkgeworICAgIGZsb2F0NCByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gc2luKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHNpbih4WzFdKTsK
KyAgICByZXN1bHRbMl0gPSBzaW4oeFsyXSk7CisgICAgcmVzdWx0WzNdID0gc2luKHhbM10pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiBzaW4oZmxvYXQyeDIgeCkgeworICAgIGZs
b2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2Zsb2F0MngzIHNpbihmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW4oeFsw
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsw
XSA9IHNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDJ4NCBzaW4oZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBzaW4oeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IHNpbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW4o
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsx
XVsxXSA9IHNpbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzaW4oeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gc2luKHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDN4MiBzaW4oZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBz
aW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDMg
c2luKGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gc2luKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2luKHhbMV1b
MF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBzaW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOworICAgIHJl
c3VsdFsyXVsxXSA9IHNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzaW4oeFsyXVsy
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3g0IHNpbihmbG9hdDN4NCB4KSB7Cisg
ICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbih4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luKHhb
MF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNpbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzaW4oeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsx
XSA9IHNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzaW4oeFsyXVsyXSk7CisgICAg
cmVzdWx0WzJdWzNdID0gc2luKHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDR4MiBzaW4oZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBzaW4oeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IHNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW4o
eFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFsy
XVsxXSA9IHNpbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzaW4oeFszXVswXSk7Cisg
ICAgcmVzdWx0WzNdWzFdID0gc2luKHhbM11bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDR4MyBzaW4oZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBzaW4oeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2luKHhbMF1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IHNpbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBz
aW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IHNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gc2luKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNp
bih4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzaW4oeFszXVswXSk7CisgICAgcmVzdWx0
WzNdWzFdID0gc2luKHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IHNpbih4WzNdWzJdKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDQgc2luKGZsb2F0NHg0IHgpIHsKKyAgICBm
bG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2luKHhbMF1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW4oeFswXVsy
XSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2luKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9
IHNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW4oeFsxXVsxXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gc2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IHNpbih4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBzaW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
c2luKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNpbih4WzJdWzJdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBzaW4oeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc2luKHhbM11bMF0p
OworICAgIHJlc3VsdFszXVsxXSA9IHNpbih4WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSBz
aW4oeFszXVsyXSk7CisgICAgcmVzdWx0WzNdWzNdID0gc2luKHhbM11bM10pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDIgdGFuKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF0gPSB0YW4oeFswXSk7CisgICAgcmVzdWx0WzFdID0gdGFuKHhbMV0pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgdGFuKGZsb2F0MyB4KSB7CisgICAgZmxvYXQz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB0YW4oeFswXSk7CisgICAgcmVzdWx0WzFdID0gdGFu
KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHRhbih4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorZmxvYXQ0IHRhbihmbG9hdDQgeCkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gdGFuKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHRhbih4WzFdKTsKKyAgICByZXN1bHRb
Ml0gPSB0YW4oeFsyXSk7CisgICAgcmVzdWx0WzNdID0gdGFuKHhbM10pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDJ4MiB0YW4oZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
dGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0Mngz
IHRhbihmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IHRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW4oeFswXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFd
WzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gdGFuKHhbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCB0YW4oZmxv
YXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW4o
eFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IHRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0YW4oeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRhbih4
WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gdGFuKHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiB0YW4o
ZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0
YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVswXSA9IHRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gdGFuKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRh
bih4WzJdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDMgdGFuKGZsb2F0M3gz
IHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSB0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFuKHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSB0YW4oeFsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFuKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9
IHRhbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSB0YW4oeFsyXVsyXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3g0IHRhbihmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSB0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuKHhbMF1bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IHRhbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsx
XVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsy
XSA9IHRhbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSB0YW4oeFsxXVszXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gdGFuKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4WzJd
WzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSB0YW4oeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNd
ID0gdGFuKHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MiB0YW4oZmxv
YXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW4o
eFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVswXSA9IHRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gdGFuKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbih4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMF0gPSB0YW4oeFszXVswXSk7CisgICAgcmVzdWx0WzNd
WzFdID0gdGFuKHhbM11bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyB0YW4o
ZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0
YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuKHhbMF1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0YW4oeFsxXVswXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gdGFuKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRh
bih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHRhbih4WzJdWzJdKTsK
KyAgICByZXN1bHRbM11bMF0gPSB0YW4oeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gdGFu
KHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IHRhbih4WzNdWzJdKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorZmxvYXQ0eDQgdGFuKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdGFuKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IHRhbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSB0YW4oeFswXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gdGFuKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHRhbih4WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
dGFuKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IHRhbih4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSB0YW4oeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gdGFuKHhbMl1bMV0p
OworICAgIHJlc3VsdFsyXVsyXSA9IHRhbih4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0
YW4oeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzBdID0gdGFuKHhbM11bMF0pOworICAgIHJlc3Vs
dFszXVsxXSA9IHRhbih4WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSB0YW4oeFszXVsyXSk7
CisgICAgcmVzdWx0WzNdWzNdID0gdGFuKHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDIgYWNvcyhmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gYWNvcyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhY29zKHhbMV0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDMgYWNvcyhmbG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gYWNvcyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhY29zKHhbMV0p
OworICAgIHJlc3VsdFsyXSA9IGFjb3MoeFsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zs
b2F0NCBhY29zKGZsb2F0NCB4KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBhY29zKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFjb3MoeFsxXSk7CisgICAgcmVzdWx0WzJd
ID0gYWNvcyh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBhY29zKHhbM10pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDJ4MiBhY29zKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBhY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxv
YXQyeDMgYWNvcyhmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGFjb3MoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9
IGFjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDJ4NCBhY29zKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
YWNvcyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFd
WzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhY29zKHhbMV1bM10pOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitmbG9hdDN4MiBhY29zKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBh
Y29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGFjb3MoeFsxXVswXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1b
MF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2Zsb2F0M3gzIGFjb3MoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFj
b3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWNvcyh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBhY29zKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFjb3MoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWNvcyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBhY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gYWNvcyh4WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxv
YXQzeDQgYWNvcyhmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGFjb3MoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWNvcyh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBhY29zKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9
IGFjb3MoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFjb3MoeFsx
XVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYWNvcyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBhY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFjb3MoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzJdID0gYWNvcyh4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBhY29z
KHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MiBhY29zKGZsb2F0NHgy
IHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWNvcyh4WzBd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGFjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBhY29zKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFjb3Mo
eFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYWNvcyh4WzNdWzBdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBhY29zKHhbM11bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyBh
Y29zKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gYWNvcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhY29zKHhbMF1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGFjb3MoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYWNvcyh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhY29zKHhbMV1bMV0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGFjb3MoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGFj
b3MoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYWNvcyh4WzNdWzBdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBhY29zKHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGFjb3MoeFszXVsy
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0IGFjb3MoZmxvYXQ0eDQgeCkgewor
ICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhY29zKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGFjb3MoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWNv
cyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhY29zKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVswXSA9IGFjb3MoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWNvcyh4WzFdWzFd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBhY29zKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9
IGFjb3MoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWNvcyh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBhY29zKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGFjb3MoeFsy
XVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYWNvcyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBhY29zKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGFjb3MoeFszXVsxXSk7Cisg
ICAgcmVzdWx0WzNdWzJdID0gYWNvcyh4WzNdWzJdKTsKKyAgICByZXN1bHRbM11bM10gPSBhY29z
KHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIgYXNpbihmbG9hdDIgeCkg
eworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXNpbih4WzBdKTsKKyAgICBy
ZXN1bHRbMV0gPSBhc2luKHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgYXNp
bihmbG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXNpbih4
WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhc2luKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGFzaW4o
eFsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NCBhc2luKGZsb2F0NCB4KSB7Cisg
ICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc2luKHhbMF0pOworICAgIHJlc3Vs
dFsxXSA9IGFzaW4oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXNpbih4WzJdKTsKKyAgICByZXN1
bHRbM10gPSBhc2luKHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiBhc2lu
KGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
YXNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFd
WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDMgYXNpbihmbG9hdDJ4MyB4KSB7
CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBh
c2luKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhc2luKHhbMV1b
Ml0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCBhc2luKGZsb2F0Mng0IHgpIHsK
KyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFz
aW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXNpbih4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsx
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10g
PSBhc2luKHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiBhc2luKGZs
b2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXNp
bih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGFzaW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9
IGFzaW4oeFsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gzIGFzaW4oZmxv
YXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhc2lu
KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFzaW4oeFswXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhc2luKHhbMV1bMF0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGFzaW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
YXNpbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXNpbih4WzJd
WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDQgYXNpbihmbG9hdDN4NCB4KSB7
CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFzaW4oeFswXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gYXNpbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBh
c2luKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFzaW4oeFswXVszXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhc2luKHhbMV1b
MV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNd
ID0gYXNpbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhbMl1bMF0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXNpbih4
WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBhc2luKHhbMl1bM10pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDR4MiBhc2luKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBhc2luKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhc2luKHhb
Ml1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFzaW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gYXNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhc2luKHhbM11bMV0pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyBhc2luKGZsb2F0NHgzIHgpIHsKKyAgICBm
bG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXNpbih4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBhc2luKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFzaW4oeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXNpbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBhc2luKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFzaW4oeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhc2lu
KHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGFzaW4oeFsyXVsyXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gYXNpbih4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhc2luKHhbM11bMV0p
OworICAgIHJlc3VsdFszXVsyXSA9IGFzaW4oeFszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2Zsb2F0NHg0IGFzaW4oZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBhc2luKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFzaW4o
eFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXNpbih4WzBdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBhc2luKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGFzaW4oeFsxXVswXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gYXNpbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBh
c2luKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGFzaW4oeFsxXVszXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gYXNpbih4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhc2luKHhbMl1b
MV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGFzaW4oeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNd
ID0gYXNpbih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMF0gPSBhc2luKHhbM11bMF0pOworICAg
IHJlc3VsdFszXVsxXSA9IGFzaW4oeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXNpbih4
WzNdWzJdKTsKKyAgICByZXN1bHRbM11bM10gPSBhc2luKHhbM11bM10pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDIgYXRhbihmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gYXRhbih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhdGFuKHhbMV0pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgYXRhbihmbG9hdDMgeCkgeworICAgIGZsb2F0
MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXRhbih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBh
dGFuKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGF0YW4oeFsyXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2Zsb2F0NCBhdGFuKGZsb2F0NCB4KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBhdGFuKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGF0YW4oeFsxXSk7CisgICAg
cmVzdWx0WzJdID0gYXRhbih4WzJdKTsKKyAgICByZXN1bHRbM10gPSBhdGFuKHhbM10pOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiBhdGFuKGZsb2F0MngyIHgpIHsKKyAgICBmbG9h
dDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVsw
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorZmxvYXQyeDMgYXRhbihmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRh
bih4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGF0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDJ4NCBhdGFuKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFu
KHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gYXRhbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
YXRhbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBhdGFuKHhbMV1bM10pOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiBhdGFuKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4
MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBhdGFuKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBh
dGFuKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4oeFsyXVsxXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gzIGF0YW4oZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhbMF1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbih4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBhdGFuKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGF0
YW4oeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbih4WzFdWzJdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4oeFsyXVsx
XSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXRhbih4WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorZmxvYXQzeDQgYXRhbihmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGF0YW4oeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRh
bih4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhdGFuKHhbMF1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IGF0YW4oeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbih4WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGF0YW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXRhbih4WzFdWzNdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4oeFsy
XVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXRhbih4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1b
M10gPSBhdGFuKHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MiBhdGFu
KGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
YXRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbih4WzFd
WzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGF0YW4oeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYXRhbih4WzNdWzBdKTsKKyAg
ICByZXN1bHRbM11bMV0gPSBhdGFuKHhbM11bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDR4MyBhdGFuKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gYXRhbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuKHhbMF1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gYXRhbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuKHhbMV1bMV0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGF0YW4oeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXRhbih4
WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFsy
XVsyXSA9IGF0YW4oeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYXRhbih4WzNdWzBdKTsK
KyAgICByZXN1bHRbM11bMV0gPSBhdGFuKHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGF0
YW4oeFszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0IGF0YW4oZmxvYXQ0
eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhdGFuKHhb
MF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4oeFswXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gYXRhbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhdGFuKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGF0YW4oeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRh
bih4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhdGFuKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsxXVszXSA9IGF0YW4oeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXRhbih4WzJdWzBd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBhdGFuKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9
IGF0YW4oeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYXRhbih4WzJdWzNdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBhdGFuKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGF0YW4oeFsz
XVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXRhbih4WzNdWzJdKTsKKyAgICByZXN1bHRbM11b
M10gPSBhdGFuKHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIgY29zaChm
bG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gY29zaCh4WzBd
KTsKKyAgICByZXN1bHRbMV0gPSBjb3NoKHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDMgY29zaChmbG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gY29zaCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjb3NoKHhbMV0pOworICAgIHJlc3VsdFsy
XSA9IGNvc2goeFsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NCBjb3NoKGZsb2F0
NCB4KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBjb3NoKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGNvc2goeFsxXSk7CisgICAgcmVzdWx0WzJdID0gY29zaCh4WzJdKTsK
KyAgICByZXN1bHRbM10gPSBjb3NoKHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDJ4MiBjb3NoKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
Y29zaCh4WzFdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDMgY29zaChmbG9h
dDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNvc2go
eFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBjb3NoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBj
b3NoKHhbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCBjb3NoKGZsb2F0
Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGNvc2goeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY29zaCh4WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBjb3NoKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNv
c2goeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBjb3NoKHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4
MiBjb3NoKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gY29zaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29z
aCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gz
IGNvc2goZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBjb3NoKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNvc2goeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjb3No
KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNvc2goeFsxXVsxXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gY29zaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1bMF0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0g
Y29zaCh4WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDQgY29zaChmbG9h
dDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNvc2go
eFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY29zaCh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBjb3NoKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGNvc2goeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBj
b3NoKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvc2goeFsxXVsyXSk7CisgICAgcmVz
dWx0WzFdWzNdID0gY29zaCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjb3NoKHhbMl1b
MF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gY29zaCh4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBjb3NoKHhbMl1bM10pOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MiBjb3NoKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9h
dDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGNvc2goeFsxXVsw
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBjb3NoKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNvc2goeFsyXVsxXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gY29zaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBjb3NoKHhb
M11bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyBjb3NoKGZsb2F0NHgzIHgp
IHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY29zaCh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBjb3NoKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGNvc2goeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY29zaCh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBjb3NoKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNvc2goeFsx
XVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY29zaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBjb3NoKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGNvc2goeFsyXVsyXSk7Cisg
ICAgcmVzdWx0WzNdWzBdID0gY29zaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBjb3No
KHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGNvc2goeFszXVsyXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2Zsb2F0NHg0IGNvc2goZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjb3NoKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGNvc2goeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY29zaCh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMF1bM10gPSBjb3NoKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGNvc2go
eFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY29zaCh4WzFdWzFdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBjb3NoKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGNvc2goeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gY29zaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBj
b3NoKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGNvc2goeFsyXVsyXSk7CisgICAgcmVz
dWx0WzJdWzNdID0gY29zaCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMF0gPSBjb3NoKHhbM11b
MF0pOworICAgIHJlc3VsdFszXVsxXSA9IGNvc2goeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJd
ID0gY29zaCh4WzNdWzJdKTsKKyAgICByZXN1bHRbM11bM10gPSBjb3NoKHhbM11bM10pOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIgc2luaChmbG9hdDIgeCkgeworICAgIGZsb2F0MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gc2luaCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBzaW5o
KHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgc2luaChmbG9hdDMgeCkgewor
ICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gc2luaCh4WzBdKTsKKyAgICByZXN1
bHRbMV0gPSBzaW5oKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHNpbmgoeFsyXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2Zsb2F0NCBzaW5oKGZsb2F0NCB4KSB7CisgICAgZmxvYXQ0IHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSBzaW5oKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHNpbmgoeFsx
XSk7CisgICAgcmVzdWx0WzJdID0gc2luaCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBzaW5oKHhb
M10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiBzaW5oKGZsb2F0MngyIHgpIHsK
KyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IHNp
bmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorZmxvYXQyeDMgc2luaChmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gc2luaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IHNpbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2lu
aCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzaW5oKHhbMV1bMl0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDJ4NCBzaW5oKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBzaW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gc2luaCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzaW5o
KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gc2luaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzaW5oKHhbMV1bM10p
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiBzaW5oKGZsb2F0M3gyIHgpIHsKKyAg
ICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbmgo
eFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2luaCh4WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBzaW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gzIHNpbmgoZmxvYXQzeDMgeCkgeworICAg
IGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaW5oKHhbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2luaCh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzaW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFsx
XVsxXSA9IHNpbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2luaCh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNp
bmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorZmxvYXQzeDQgc2luaChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gc2luaCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaW5oKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IHNpbmgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2lu
aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc2luaCh4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9
IHNpbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc2luaCh4WzJdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBzaW5oKHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDR4MiBzaW5oKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaW5oKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVswXSA9IHNpbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
c2luaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzaW5oKHhbMl1bMF0pOworICAgIHJl
c3VsdFsyXVsxXSA9IHNpbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc2luaCh4WzNd
WzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW5oKHhbM11bMV0pOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitmbG9hdDR4MyBzaW5oKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gc2luaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBz
aW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpbmgoeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gc2luaCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaW5oKHhbMV1b
MV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpbmgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gc2luaCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOworICAg
IHJlc3VsdFsyXVsyXSA9IHNpbmgoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc2luaCh4
WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzaW5oKHhbM11bMV0pOworICAgIHJlc3VsdFsz
XVsyXSA9IHNpbmgoeFszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0IHNp
bmgoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSBzaW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpbmgoeFswXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gc2luaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzaW5oKHhb
MF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHNpbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gc2luaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzaW5oKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFsxXVszXSA9IHNpbmgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc2lu
aCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzaW5oKHhbMl1bMV0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IHNpbmgoeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc2luaCh4WzJdWzNd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBzaW5oKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9
IHNpbmgoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gc2luaCh4WzNdWzJdKTsKKyAgICBy
ZXN1bHRbM11bM10gPSBzaW5oKHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDIgdGFuaChmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
dGFuaCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSB0YW5oKHhbMV0pOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitmbG9hdDMgdGFuaChmbG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gdGFuaCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSB0YW5oKHhbMV0pOworICAg
IHJlc3VsdFsyXSA9IHRhbmgoeFsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NCB0
YW5oKGZsb2F0NCB4KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB0YW5o
KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHRhbmgoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gdGFu
aCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSB0YW5oKHhbM10pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDJ4MiB0YW5oKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5o
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDMg
dGFuaChmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IHRhbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IHRhbmgo
eFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSB0YW5oKHhbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCB0
YW5oKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gdGFuaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IHRhbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gdGFuaCh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSB0YW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFsx
XVsxXSA9IHRhbmgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMV1bM10gPSB0YW5oKHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDN4MiB0YW5oKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IHRhbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gdGFuaCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2Zsb2F0M3gzIHRhbmgoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRhbmgoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSB0YW5oKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRhbmgoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gdGFuaCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0YW5o
KHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gdGFuaCh4WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDQg
dGFuaChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IHRhbmgoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gdGFuaCh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSB0YW5oKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRhbmgo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSB0YW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRhbmgoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gdGFuaCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSB0
YW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gdGFuaCh4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSB0YW5oKHhbMl1b
M10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MiB0YW5oKGZsb2F0NHgyIHgpIHsK
KyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdGFuaCh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IHRh
bmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSB0YW5oKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRhbmgoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gdGFuaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0g
PSB0YW5oKHhbM11bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyB0YW5oKGZs
b2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gdGFu
aCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSB0YW5oKHhbMF1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHRhbmgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gdGFuaCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSB0YW5oKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9
IHRhbmgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSB0YW5oKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHRhbmgoeFsy
XVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0gdGFuaCh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11b
MV0gPSB0YW5oKHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IHRhbmgoeFszXVsyXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0IHRhbmgoZmxvYXQ0eDQgeCkgeworICAgIGZs
b2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB0YW5oKHhbMF1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHRhbmgoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gdGFuaCh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSB0YW5oKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVsw
XSA9IHRhbmgoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gdGFuaCh4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSB0YW5oKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IHRhbmgo
eFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gdGFuaCh4WzJdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSB0YW5oKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHRhbmgoeFsyXVsyXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gdGFuaCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMF0gPSB0
YW5oKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IHRhbmgoeFszXVsxXSk7CisgICAgcmVz
dWx0WzNdWzJdID0gdGFuaCh4WzNdWzJdKTsKKyAgICByZXN1bHRbM11bM10gPSB0YW5oKHhbM11b
M10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIgY2VpbChmbG9hdDIgeCkgeworICAg
IGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gY2VpbCh4WzBdKTsKKyAgICByZXN1bHRb
MV0gPSBjZWlsKHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgY2VpbChmbG9h
dDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gY2VpbCh4WzBdKTsK
KyAgICByZXN1bHRbMV0gPSBjZWlsKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGNlaWwoeFsyXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NCBjZWlsKGZsb2F0NCB4KSB7CisgICAgZmxv
YXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBjZWlsKHhbMF0pOworICAgIHJlc3VsdFsxXSA9
IGNlaWwoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gY2VpbCh4WzJdKTsKKyAgICByZXN1bHRbM10g
PSBjZWlsKHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiBjZWlsKGZsb2F0
MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVswXSA9IGNlaWwoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDMgY2VpbChmbG9hdDJ4MyB4KSB7CisgICAg
ZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhb
MF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gY2VpbCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhbMV1bMl0pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCBjZWlsKGZsb2F0Mng0IHgpIHsKKyAgICBm
bG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNlaWwoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY2VpbCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBjZWlsKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gY2VpbCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBjZWls
KHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiBjZWlsKGZsb2F0M3gy
IHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWlsKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGNlaWwoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwo
eFsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gzIGNlaWwoZmxvYXQzeDMg
eCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjZWlsKHhbMF1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gY2VpbCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjZWlsKHhbMV1bMF0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGNlaWwoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY2VpbCh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGNlaWwoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY2VpbCh4WzJdWzJdKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDQgY2VpbChmbG9hdDN4NCB4KSB7CisgICAg
ZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNlaWwoeFswXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gY2VpbCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjZWlsKHhb
MF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGNlaWwoeFswXVszXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gY2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjZWlsKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY2Vp
bCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY2VpbCh4WzJdWzJd
KTsKKyAgICByZXN1bHRbMl1bM10gPSBjZWlsKHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDR4MiBjZWlsKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjZWls
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBjZWlsKHhbMl1bMF0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGNlaWwoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzBdID0g
Y2VpbCh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBjZWlsKHhbM11bMV0pOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyBjZWlsKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4
MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY2VpbCh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBjZWlsKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNlaWwoeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gY2VpbCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBj
ZWlsKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNlaWwoeFsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gY2VpbCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1b
MV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGNlaWwoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBd
ID0gY2VpbCh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBjZWlsKHhbM11bMV0pOworICAg
IHJlc3VsdFszXVsyXSA9IGNlaWwoeFszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zs
b2F0NHg0IGNlaWwoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBjZWlsKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNlaWwoeFswXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gY2VpbCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBjZWlsKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGNlaWwoeFsxXVswXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gY2VpbCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjZWlsKHhb
MV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGNlaWwoeFsxXVszXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gY2VpbCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBjZWlsKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGNlaWwoeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gY2Vp
bCh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMF0gPSBjZWlsKHhbM11bMF0pOworICAgIHJlc3Vs
dFszXVsxXSA9IGNlaWwoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gY2VpbCh4WzNdWzJd
KTsKKyAgICByZXN1bHRbM11bM10gPSBjZWlsKHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDIgZXhwKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBleHAoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZXhwKHhbMV0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDMgZXhwKGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsK
KyAgICByZXN1bHRbMF0gPSBleHAoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZXhwKHhbMV0pOwor
ICAgIHJlc3VsdFsyXSA9IGV4cCh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0
IGV4cChmbG9hdDQgeCkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZXhw
KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGV4cCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBleHAo
eFsyXSk7CisgICAgcmVzdWx0WzNdID0gZXhwKHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDJ4MiBleHAoZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBleHAoeFsxXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MngzIGV4cChmbG9h
dDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4cCh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAoeFswXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZXhwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwKHhb
MV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCBleHAoZmxvYXQyeDQgeCkg
eworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4
cCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBleHAoeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gZXhwKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4cCh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZXhw
KHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiBleHAoZmxvYXQzeDIg
eCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9
IGV4cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gZXhwKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFd
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDMgZXhwKGZsb2F0M3gzIHgpIHsKKyAg
ICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGV4cCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZXhwKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGV4cCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAoeFsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gZXhwKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBleHAoeFsyXVsyXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2Zsb2F0M3g0IGV4cChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGV4cCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAo
eFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZXhwKHhbMF1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IGV4cCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBleHAoeFsxXVszXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gZXhwKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBleHAoeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZXhwKHhb
Ml1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MiBleHAoZmxvYXQ0eDIgeCkg
eworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGV4
cCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gZXhwKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4cCh4WzJdWzFdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBleHAoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZXhw
KHhbM11bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyBleHAoZmxvYXQ0eDMg
eCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAoeFswXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZXhwKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGV4cCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBleHAoeFsxXVswXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gZXhwKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4cCh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
ZXhwKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGV4cCh4WzJdWzJdKTsKKyAgICByZXN1
bHRbM11bMF0gPSBleHAoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZXhwKHhbM11bMV0p
OworICAgIHJlc3VsdFszXVsyXSA9IGV4cCh4WzNdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorZmxvYXQ0eDQgZXhwKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gZXhwKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cCh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gZXhwKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGV4cCh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBleHAoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwKHhbMV1b
Ml0pOworICAgIHJlc3VsdFsxXVszXSA9IGV4cCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0g
PSBleHAoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZXhwKHhbMl1bMV0pOworICAgIHJl
c3VsdFsyXVsyXSA9IGV4cCh4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBleHAoeFsyXVsz
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gZXhwKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9
IGV4cCh4WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSBleHAoeFszXVsyXSk7CisgICAgcmVz
dWx0WzNdWzNdID0gZXhwKHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIg
Zmxvb3IoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZs
b29yKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZsb29yKHhbMV0pOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitmbG9hdDMgZmxvb3IoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IGZsb29yKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZsb29yKHhbMV0pOwor
ICAgIHJlc3VsdFsyXSA9IGZsb29yKHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDQgZmxvb3IoZmxvYXQ0IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9
IGZsb29yKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZsb29yKHhbMV0pOworICAgIHJlc3VsdFsy
XSA9IGZsb29yKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGZsb29yKHhbM10pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDJ4MiBmbG9vcihmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGZsb29yKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDJ4MyBmbG9vcihmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZs
b29yKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZsb29yKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhb
MV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZsb29yKHhbMV1bMl0pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDJ4NCBmbG9vcihmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGZsb29yKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZsb29yKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IGZsb29yKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGZs
b29yKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGZsb29yKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGZsb29yKHhb
MV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiBmbG9vcihmbG9hdDN4MiB4
KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGZsb29yKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZs
b29yKHhbMl1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MyBmbG9vcihmbG9h
dDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZsb29y
KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGZsb29yKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1b
MF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGZsb29yKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGZsb29yKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGZsb29yKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZs
b29yKHhbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4NCBmbG9vcihmbG9h
dDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZsb29y
KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGZsb29yKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZsb29yKHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGZsb29yKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZsb29yKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFsxXVszXSA9IGZsb29yKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IGZs
b29yKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZsb29yKHhbMl1bMV0pOworICAgIHJl
c3VsdFsyXVsyXSA9IGZsb29yKHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IGZsb29yKHhb
Ml1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MiBmbG9vcihmbG9hdDR4MiB4
KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZsb29yKHhbMF1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGZsb29yKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZs
b29yKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVswXSA9IGZsb29yKHhbM11bMF0pOworICAgIHJl
c3VsdFszXVsxXSA9IGZsb29yKHhbM11bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDR4MyBmbG9vcihmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGZsb29yKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZsb29yKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGZsb29yKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGZs
b29yKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZsb29yKHhbMl1bMV0pOworICAgIHJl
c3VsdFsyXVsyXSA9IGZsb29yKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVswXSA9IGZsb29yKHhb
M11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGZsb29yKHhbM11bMV0pOworICAgIHJlc3VsdFsz
XVsyXSA9IGZsb29yKHhbM11bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4NCBm
bG9vcihmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGZsb29yKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZsb29yKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGZsb29yKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZs
b29yKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGZsb29yKHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGZsb29yKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZsb29yKHhb
MV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGZsb29yKHhbMV1bM10pOworICAgIHJlc3VsdFsy
XVswXSA9IGZsb29yKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZsb29yKHhbMl1bMV0p
OworICAgIHJlc3VsdFsyXVsyXSA9IGZsb29yKHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9
IGZsb29yKHhbMl1bM10pOworICAgIHJlc3VsdFszXVswXSA9IGZsb29yKHhbM11bMF0pOworICAg
IHJlc3VsdFszXVsxXSA9IGZsb29yKHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGZsb29y
KHhbM11bMl0pOworICAgIHJlc3VsdFszXVszXSA9IGZsb29yKHhbM11bM10pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDIgbG9nKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF0gPSBsb2coeFswXSk7CisgICAgcmVzdWx0WzFdID0gbG9nKHhbMV0pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgbG9nKGZsb2F0MyB4KSB7CisgICAgZmxvYXQz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBsb2coeFswXSk7CisgICAgcmVzdWx0WzFdID0gbG9n
KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGxvZyh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorZmxvYXQ0IGxvZyhmbG9hdDQgeCkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gbG9nKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGxvZyh4WzFdKTsKKyAgICByZXN1bHRb
Ml0gPSBsb2coeFsyXSk7CisgICAgcmVzdWx0WzNdID0gbG9nKHhbM10pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDJ4MiBsb2coZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2coeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bG9nKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0Mngz
IGxvZyhmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGxvZyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2coeFswXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gbG9nKHhbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCBsb2coZmxv
YXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2co
eFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGxvZyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2coeFswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZyh4
WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2coeFsxXVsyXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gbG9nKHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiBsb2co
ZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBs
b2coeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGxvZyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxv
Zyh4WzJdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDMgbG9nKGZsb2F0M3gz
IHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBsb2coeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nKHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGxvZyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsb2coeFsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9
IGxvZyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBsb2coeFsyXVsyXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3g0IGxvZyhmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBsb2coeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nKHhbMF1bMl0pOworICAg
IHJlc3VsdFswXVszXSA9IGxvZyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsx
XVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGxvZyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsb2coeFsxXVszXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4WzJd
WzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBsb2coeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNd
ID0gbG9nKHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MiBsb2coZmxv
YXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2co
eFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVswXSA9IGxvZyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gbG9nKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZyh4
WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMF0gPSBsb2coeFszXVswXSk7CisgICAgcmVzdWx0WzNd
WzFdID0gbG9nKHhbM11bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyBsb2co
ZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBs
b2coeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nKHhbMF1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGxvZyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2coeFsxXVswXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gbG9nKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxv
Zyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gbG9nKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxvZyh4WzJdWzJdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBsb2coeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbG9n
KHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGxvZyh4WzNdWzJdKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorZmxvYXQ0eDQgbG9nKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGxvZyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsb2coeFswXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gbG9nKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZyh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2coeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
bG9nKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGxvZyh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBsb2coeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbG9nKHhbMl1bMV0p
OworICAgIHJlc3VsdFsyXVsyXSA9IGxvZyh4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBs
b2coeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbG9nKHhbM11bMF0pOworICAgIHJlc3Vs
dFszXVsxXSA9IGxvZyh4WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSBsb2coeFszXVsyXSk7
CisgICAgcmVzdWx0WzNdWzNdID0gbG9nKHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDIgcm91bmQoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IHJvdW5kKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHJvdW5kKHhbMV0pOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitmbG9hdDMgcm91bmQoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IHJvdW5kKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHJvdW5k
KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHJvdW5kKHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDQgcm91bmQoZmxvYXQ0IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IHJvdW5kKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHJvdW5kKHhbMV0pOworICAg
IHJlc3VsdFsyXSA9IHJvdW5kKHhbMl0pOworICAgIHJlc3VsdFszXSA9IHJvdW5kKHhbM10pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiByb3VuZChmbG9hdDJ4MiB4KSB7CisgICAg
ZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IHJvdW5k
KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDJ4MyByb3VuZChmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHJvdW5kKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9
IHJvdW5kKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCByb3VuZChmbG9hdDJ4NCB4KSB7CisgICAgZmxv
YXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhb
MF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJvdW5kKHhbMF1bM10pOworICAgIHJlc3VsdFsx
XVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9
IHJvdW5kKHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiByb3VuZChm
bG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJv
dW5kKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IHJvdW5kKHhbMl1bMF0pOworICAgIHJlc3VsdFsy
XVsxXSA9IHJvdW5kKHhbMl1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MyBy
b3VuZChmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IHJvdW5kKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IHJv
dW5kKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOworICAgIHJl
c3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IHJvdW5kKHhb
Ml1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0pOworICAgIHJlc3VsdFsy
XVsyXSA9IHJvdW5kKHhbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4NCBy
b3VuZChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IHJvdW5kKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJv
dW5kKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhb
MV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IHJvdW5kKHhbMV1bM10pOworICAgIHJlc3VsdFsy
XVswXSA9IHJvdW5kKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0p
OworICAgIHJlc3VsdFsyXVsyXSA9IHJvdW5kKHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9
IHJvdW5kKHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MiByb3VuZChm
bG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJv
dW5kKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhb
MV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IHJvdW5kKHhbMl1bMF0pOworICAgIHJlc3VsdFsy
XVsxXSA9IHJvdW5kKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVswXSA9IHJvdW5kKHhbM11bMF0p
OworICAgIHJlc3VsdFszXVsxXSA9IHJvdW5kKHhbM11bMV0pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDR4MyByb3VuZChmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJv
dW5kKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOworICAgIHJl
c3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhb
MV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJvdW5kKHhbMV1bMl0pOworICAgIHJlc3VsdFsy
XVswXSA9IHJvdW5kKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5kKHhbMl1bMV0p
OworICAgIHJlc3VsdFsyXVsyXSA9IHJvdW5kKHhbMl1bMl0pOworICAgIHJlc3VsdFszXVswXSA9
IHJvdW5kKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IHJvdW5kKHhbM11bMV0pOworICAg
IHJlc3VsdFszXVsyXSA9IHJvdW5kKHhbM11bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDR4NCByb3VuZChmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IHJvdW5kKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJvdW5kKHhb
MF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJvdW5kKHhbMF1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IHJvdW5kKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHJvdW5kKHhbMV1bMF0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHJvdW5kKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9
IHJvdW5kKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IHJvdW5kKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVswXSA9IHJvdW5kKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJvdW5k
KHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHJvdW5kKHhbMl1bMl0pOworICAgIHJlc3Vs
dFsyXVszXSA9IHJvdW5kKHhbMl1bM10pOworICAgIHJlc3VsdFszXVswXSA9IHJvdW5kKHhbM11b
MF0pOworICAgIHJlc3VsdFszXVsxXSA9IHJvdW5kKHhbM11bMV0pOworICAgIHJlc3VsdFszXVsy
XSA9IHJvdW5kKHhbM11bMl0pOworICAgIHJlc3VsdFszXVszXSA9IHJvdW5kKHhbM11bM10pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIgdHJ1bmMoZmxvYXQyIHgpIHsKKyAgICBmbG9h
dDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHRydW5jKHhbMF0pOworICAgIHJlc3VsdFsxXSA9
IHRydW5jKHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgdHJ1bmMoZmxvYXQz
IHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHRydW5jKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IHRydW5jKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHRydW5jKHhbMl0p
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDQgdHJ1bmMoZmxvYXQ0IHgpIHsKKyAgICBm
bG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHRydW5jKHhbMF0pOworICAgIHJlc3VsdFsx
XSA9IHRydW5jKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHRydW5jKHhbMl0pOworICAgIHJlc3Vs
dFszXSA9IHRydW5jKHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiB0cnVu
YyhmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IHRydW5jKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5j
KHhbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MyB0cnVuYyhmbG9hdDJ4
MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhb
MF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IHRydW5jKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9
IHRydW5jKHhbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCB0cnVuYyhm
bG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRy
dW5jKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRydW5jKHhb
MF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFsx
XVsxXSA9IHRydW5jKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0p
OworICAgIHJlc3VsdFsxXVszXSA9IHRydW5jKHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDN4MiB0cnVuYyhmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRy
dW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhb
Ml1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDN4MyB0cnVuYyhmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRy
dW5jKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhb
Ml1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHRydW5jKHhbMl1bMl0pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDN4NCB0cnVuYyhmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IHRydW5jKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHRy
dW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOworICAgIHJl
c3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IHRydW5jKHhb
MV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFsy
XVsxXSA9IHRydW5jKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHRydW5jKHhbMl1bMl0p
OworICAgIHJlc3VsdFsyXVszXSA9IHRydW5jKHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDR4MiB0cnVuYyhmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHRy
dW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhb
Ml1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0pOworICAgIHJlc3VsdFsz
XVswXSA9IHRydW5jKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IHRydW5jKHhbM11bMV0p
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyB0cnVuYyhmbG9hdDR4MyB4KSB7Cisg
ICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRy
dW5jKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhb
MV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOworICAgIHJlc3VsdFsy
XVsxXSA9IHRydW5jKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHRydW5jKHhbMl1bMl0p
OworICAgIHJlc3VsdFszXVswXSA9IHRydW5jKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9
IHRydW5jKHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IHRydW5jKHhbM11bMl0pOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4NCB0cnVuYyhmbG9hdDR4NCB4KSB7CisgICAgZmxv
YXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHRydW5jKHhbMF1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHRydW5jKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHRydW5jKHhb
MF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHRydW5jKHhbMF1bM10pOworICAgIHJlc3VsdFsx
XVswXSA9IHRydW5jKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHRydW5jKHhbMV1bMV0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHRydW5jKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9
IHRydW5jKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IHRydW5jKHhbMl1bMF0pOworICAg
IHJlc3VsdFsyXVsxXSA9IHRydW5jKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHRydW5j
KHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IHRydW5jKHhbMl1bM10pOworICAgIHJlc3Vs
dFszXVswXSA9IHRydW5jKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IHRydW5jKHhbM11b
MV0pOworICAgIHJlc3VsdFszXVsyXSA9IHRydW5jKHhbM11bMl0pOworICAgIHJlc3VsdFszXVsz
XSA9IHRydW5jKHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIgZGR4KGZs
b2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBkZHgoeFswXSk7
CisgICAgcmVzdWx0WzFdID0gZGR4KHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDMgZGR4KGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBk
ZHgoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZGR4KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRk
eCh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0IGRkeChmbG9hdDQgeCkgewor
ICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZGR4KHhbMF0pOworICAgIHJlc3Vs
dFsxXSA9IGRkeCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBkZHgoeFsyXSk7CisgICAgcmVzdWx0
WzNdID0gZGR4KHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiBkZHgoZmxv
YXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHgo
eFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsx
XVswXSA9IGRkeCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MngzIGRkeChmbG9hdDJ4MyB4KSB7CisgICAgZmxv
YXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeCh4WzBdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4KHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBk
ZHgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4KHhbMV1bMl0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDJ4NCBkZHgoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBkZHgoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4KHhbMV1b
MF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBkZHgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR4KHhbMV1bM10pOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiBkZHgoZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4KHhb
Ml1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorZmxvYXQzeDMgZGR4KGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gZGR4KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRk
eCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHgoeFswXVsyXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gZGR4KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeCh4WzFdWzFdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBkZHgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4
KHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMl0gPSBkZHgoeFsyXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3g0IGRk
eChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGRkeCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHgoeFswXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gZGR4KHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeCh4WzBdWzNd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
ZGR4KHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBkZHgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1bMF0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBk
ZHgoeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4KHhbMl1bM10pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDR4MiBkZHgoZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBkZHgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4KHhbMl1b
MF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMF0g
PSBkZHgoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4KHhbM11bMV0pOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyBkZHgoZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHgoeFswXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZGR4KHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeCh4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBkZHgoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4KHhb
MV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBkZHgoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR4KHhbMl1bMV0pOworICAg
IHJlc3VsdFsyXVsyXSA9IGRkeCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHgoeFsz
XVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR4KHhbM11bMV0pOworICAgIHJlc3VsdFszXVsy
XSA9IGRkeCh4WzNdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDQgZGR4KGZs
b2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4
KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeCh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBkZHgoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4KHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGRkeCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHgo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4KHhbMV1bMl0pOworICAgIHJlc3VsdFsx
XVszXSA9IGRkeCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHgoeFsyXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gZGR4KHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeCh4
WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBkZHgoeFsyXVszXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gZGR4KHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeCh4WzNdWzFdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBkZHgoeFszXVsyXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZGR4KHhb
M11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIgZGR5KGZsb2F0MiB4KSB7Cisg
ICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBkZHkoeFswXSk7CisgICAgcmVzdWx0
WzFdID0gZGR5KHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgZGR5KGZsb2F0
MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBkZHkoeFswXSk7Cisg
ICAgcmVzdWx0WzFdID0gZGR5KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRkeSh4WzJdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0IGRkeShmbG9hdDQgeCkgeworICAgIGZsb2F0NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZGR5KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeSh4
WzFdKTsKKyAgICByZXN1bHRbMl0gPSBkZHkoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gZGR5KHhb
M10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiBkZHkoZmxvYXQyeDIgeCkgewor
ICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK2Zsb2F0MngzIGRkeShmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBk
ZHkoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5KHhbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDJ4NCBkZHkoZmxvYXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10g
PSBkZHkoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5KHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHkoeFsxXVsy
XSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR5KHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDN4MiBkZHkoZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBkZHkoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5KHhbMl1bMF0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxv
YXQzeDMgZGR5KGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gZGR5KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBkZHkoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5
KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeSh4WzFdWzFdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBkZHkoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5KHhbMl1bMF0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHko
eFsyXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3g0IGRkeShmbG9hdDN4NCB4
KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeSh4WzBdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHkoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZGR5KHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeSh4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBkZHkoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0p
OworICAgIHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBk
ZHkoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5KHhbMl1bMF0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBkZHkoeFsyXVsyXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gZGR5KHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDR4MiBkZHkoZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBkZHkoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5KHhbMl1bMF0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGRkeSh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHkoeFszXVsw
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gZGR5KHhbM11bMV0pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDR4MyBkZHkoZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBkZHkoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5KHhb
MF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBkZHkoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5KHhbMV1bMV0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGRkeSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsy
XVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZGR5KHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsy
XSA9IGRkeSh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMF0gPSBkZHkoeFszXVswXSk7CisgICAg
cmVzdWx0WzNdWzFdID0gZGR5KHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeSh4WzNd
WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDQgZGR5KGZsb2F0NHg0IHgpIHsK
KyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5KHhbMF1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGRkeSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHko
eFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR5KHhbMF1bM10pOworICAgIHJlc3VsdFsx
XVswXSA9IGRkeSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHkoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gZGR5KHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeSh4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHkoeFsyXVswXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gZGR5KHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeSh4WzJdWzJdKTsKKyAg
ICByZXN1bHRbMl1bM10gPSBkZHkoeFsyXVszXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR5KHhb
M11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeSh4WzNdWzFdKTsKKyAgICByZXN1bHRbM11b
Ml0gPSBkZHkoeFszXVsyXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZGR5KHhbM11bM10pOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIgc3FydChmbG9hdDIgeCkgeworICAgIGZsb2F0MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gc3FydCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBzcXJ0
KHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgc3FydChmbG9hdDMgeCkgewor
ICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gc3FydCh4WzBdKTsKKyAgICByZXN1
bHRbMV0gPSBzcXJ0KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHNxcnQoeFsyXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2Zsb2F0NCBzcXJ0KGZsb2F0NCB4KSB7CisgICAgZmxvYXQ0IHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSBzcXJ0KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHNxcnQoeFsx
XSk7CisgICAgcmVzdWx0WzJdID0gc3FydCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBzcXJ0KHhb
M10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiBzcXJ0KGZsb2F0MngyIHgpIHsK
KyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IHNx
cnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorZmxvYXQyeDMgc3FydChmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gc3FydCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc3Fy
dCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDJ4NCBzcXJ0KGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gc3FydCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzcXJ0
KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gc3FydCh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzcXJ0KHhbMV1bM10p
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiBzcXJ0KGZsb2F0M3gyIHgpIHsKKyAg
ICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IHNxcnQo
eFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc3FydCh4WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNxcnQoeFsyXVsxXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gzIHNxcnQoZmxvYXQzeDMgeCkgeworICAg
IGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzcXJ0KHhbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc3FydCh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsx
XVsxXSA9IHNxcnQoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3FydCh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNx
cnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorZmxvYXQzeDQgc3FydChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNxcnQoeFswXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gc3FydCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzcXJ0KHhbMF1bMl0pOwor
ICAgIHJlc3VsdFswXVszXSA9IHNxcnQoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc3Fy
dCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1bMV0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc3FydCh4WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9
IHNxcnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc3FydCh4WzJdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBzcXJ0KHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDR4MiBzcXJ0KGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzcXJ0KHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
c3FydCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzcXJ0KHhbMl1bMF0pOworICAgIHJl
c3VsdFsyXVsxXSA9IHNxcnQoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc3FydCh4WzNd
WzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzcXJ0KHhbM11bMV0pOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitmbG9hdDR4MyBzcXJ0KGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gc3FydCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBz
cXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNxcnQoeFswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gc3FydCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzcXJ0KHhbMV1b
MV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNxcnQoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gc3FydCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOworICAg
IHJlc3VsdFsyXVsyXSA9IHNxcnQoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc3FydCh4
WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzcXJ0KHhbM11bMV0pOworICAgIHJlc3VsdFsz
XVsyXSA9IHNxcnQoeFszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0IHNx
cnQoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0g
PSBzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNxcnQoeFswXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gc3FydCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzcXJ0KHhb
MF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHNxcnQoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gc3FydCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzcXJ0KHhbMV1bMl0pOwor
ICAgIHJlc3VsdFsxXVszXSA9IHNxcnQoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc3Fy
dCh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzcXJ0KHhbMl1bMV0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IHNxcnQoeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc3FydCh4WzJdWzNd
KTsKKyAgICByZXN1bHRbM11bMF0gPSBzcXJ0KHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9
IHNxcnQoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gc3FydCh4WzNdWzJdKTsKKyAgICBy
ZXN1bHRbM11bM10gPSBzcXJ0KHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDIgbG9nMihmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
bG9nMih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBsb2cyKHhbMV0pOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitmbG9hdDMgbG9nMihmbG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gbG9nMih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBsb2cyKHhbMV0pOworICAg
IHJlc3VsdFsyXSA9IGxvZzIoeFsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NCBs
b2cyKGZsb2F0NCB4KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBsb2cy
KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGxvZzIoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gbG9n
Mih4WzJdKTsKKyAgICByZXN1bHRbM10gPSBsb2cyKHhbM10pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDJ4MiBsb2cyKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cy
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDMg
bG9nMihmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGxvZzIoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzIo
eFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBsb2cyKHhbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCBs
b2cyKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gbG9nMih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGxvZzIoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbG9nMih4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGxvZzIoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbG9nMih4WzFdWzJdKTsK
KyAgICByZXN1bHRbMV1bM10gPSBsb2cyKHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDN4MiBsb2cyKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzIoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gbG9nMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2cyKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2Zsb2F0M3gzIGxvZzIoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzIoeFsw
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBsb2cyKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzIoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gbG9nMih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsb2cy
KHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gbG9nMih4WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDQg
bG9nMihmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGxvZzIoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbG9nMih4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBsb2cyKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZzIo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBsb2cyKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzIoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gbG9nMih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBs
b2cyKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gbG9nMih4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBsb2cyKHhbMl1b
M10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MiBsb2cyKGZsb2F0NHgyIHgpIHsK
KyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9nMih4WzBdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGxv
ZzIoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBsb2cyKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzIoeFsyXVsx
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gbG9nMih4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBsb2cyKHhbM11bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyBsb2cyKGZs
b2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbG9n
Mih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsb2cyKHhbMF1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGxvZzIoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbG9nMih4WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBsb2cyKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGxvZzIoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBsb2cyKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxvZzIoeFsy
XVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbG9nMih4WzNdWzBdKTsKKyAgICByZXN1bHRbM11b
MV0gPSBsb2cyKHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGxvZzIoeFszXVsyXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0IGxvZzIoZmxvYXQ0eDQgeCkgeworICAgIGZs
b2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsb2cyKHhbMF1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGxvZzIoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbG9nMih4WzBd
WzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsb2cyKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVsw
XSA9IGxvZzIoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbG9nMih4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBsb2cyKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGxvZzIo
eFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbG9nMih4WzJdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBsb2cyKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxvZzIoeFsyXVsyXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gbG9nMih4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMF0gPSBs
b2cyKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGxvZzIoeFszXVsxXSk7CisgICAgcmVz
dWx0WzNdWzJdID0gbG9nMih4WzNdWzJdKTsKKyAgICByZXN1bHRbM11bM10gPSBsb2cyKHhbM11b
M10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIgbG9nMTAoZmxvYXQyIHgpIHsKKyAg
ICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGxvZzEwKHhbMF0pOworICAgIHJlc3Vs
dFsxXSA9IGxvZzEwKHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgbG9nMTAo
ZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGxvZzEwKHhb
MF0pOworICAgIHJlc3VsdFsxXSA9IGxvZzEwKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGxvZzEw
KHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDQgbG9nMTAoZmxvYXQ0IHgpIHsK
KyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGxvZzEwKHhbMF0pOworICAgIHJl
c3VsdFsxXSA9IGxvZzEwKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGxvZzEwKHhbMl0pOworICAg
IHJlc3VsdFszXSA9IGxvZzEwKHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4
MiBsb2cxMChmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IGxvZzEwKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzEwKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGxvZzEwKHhbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MyBsb2cxMChm
bG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxv
ZzEwKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzEwKHhbMF1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGxvZzEwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzEwKHhb
MV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzEwKHhbMV1bMV0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGxvZzEwKHhbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCBs
b2cxMChmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGxvZzEwKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzEwKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGxvZzEwKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxv
ZzEwKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGxvZzEwKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzEwKHhb
MV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGxvZzEwKHhbMV1bM10pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDN4MiBsb2cxMChmbG9hdDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzEwKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGxvZzEwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGxvZzEwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IGxv
ZzEwKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzEwKHhbMl1bMV0pOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MyBsb2cxMChmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQz
eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzEwKHhbMF1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGxvZzEwKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZzEwKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGxvZzEwKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzEwKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGxvZzEwKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxv
ZzEwKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxvZzEwKHhbMl1bMl0pOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitmbG9hdDN4NCBsb2cxMChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQz
eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzEwKHhbMF1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGxvZzEwKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxvZzEwKHhbMF1b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZzEwKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVsw
XSA9IGxvZzEwKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzEwKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGxvZzEwKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGxv
ZzEwKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzEwKHhbMl1bMF0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGxvZzEwKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxvZzEwKHhb
Ml1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IGxvZzEwKHhbMl1bM10pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDR4MiBsb2cxMChmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzEwKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGxvZzEwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGxvZzEwKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IGxv
ZzEwKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzEwKHhbMl1bMV0pOworICAgIHJl
c3VsdFszXVswXSA9IGxvZzEwKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGxvZzEwKHhb
M11bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyBsb2cxMChmbG9hdDR4MyB4
KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzEwKHhbMF1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxvZzEwKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGxvZzEwKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGxvZzEwKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxv
ZzEwKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzEwKHhbMl1bMF0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGxvZzEwKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxvZzEwKHhb
Ml1bMl0pOworICAgIHJlc3VsdFszXVswXSA9IGxvZzEwKHhbM11bMF0pOworICAgIHJlc3VsdFsz
XVsxXSA9IGxvZzEwKHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGxvZzEwKHhbM11bMl0p
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4NCBsb2cxMChmbG9hdDR4NCB4KSB7Cisg
ICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxvZzEwKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGxvZzEwKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxv
ZzEwKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGxvZzEwKHhbMF1bM10pOworICAgIHJl
c3VsdFsxXVswXSA9IGxvZzEwKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxvZzEwKHhb
MV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxvZzEwKHhbMV1bMl0pOworICAgIHJlc3VsdFsx
XVszXSA9IGxvZzEwKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IGxvZzEwKHhbMl1bMF0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGxvZzEwKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9
IGxvZzEwKHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IGxvZzEwKHhbMl1bM10pOworICAg
IHJlc3VsdFszXVswXSA9IGxvZzEwKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGxvZzEw
KHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGxvZzEwKHhbM11bMl0pOworICAgIHJlc3Vs
dFszXVszXSA9IGxvZzEwKHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIg
ZnJhYyhmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZnJh
Yyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmcmFjKHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDMgZnJhYyhmbG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gZnJhYyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmcmFjKHhbMV0pOworICAgIHJl
c3VsdFsyXSA9IGZyYWMoeFsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NCBmcmFj
KGZsb2F0NCB4KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBmcmFjKHhb
MF0pOworICAgIHJlc3VsdFsxXSA9IGZyYWMoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZnJhYyh4
WzJdKTsKKyAgICByZXN1bHRbM10gPSBmcmFjKHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDJ4MiBmcmFjKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gZnJhYyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZnJhYyh4WzFdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDMgZnJh
YyhmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGZyYWMoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsx
XVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBmcmFjKHhbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCBmcmFj
KGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
ZnJhYyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGZyYWMoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZnJhYyh4WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmcmFjKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGZyYWMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZnJhYyh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBmcmFjKHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDN4MiBmcmFjKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gZnJhYyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVswXSA9IGZyYWMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZnJhYyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmcmFjKHhbMl1bMF0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zs
b2F0M3gzIGZyYWMoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZyYWMoeFswXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBmcmFjKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZyYWMoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gZnJhYyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmcmFjKHhb
Ml1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gZnJhYyh4WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDQgZnJh
YyhmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGZyYWMoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZnJhYyh4WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBmcmFjKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZyYWMoeFsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBmcmFjKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZyYWMoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gZnJhYyh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmcmFj
KHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gZnJhYyh4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmcmFjKHhbMl1bM10p
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MiBmcmFjKGZsb2F0NHgyIHgpIHsKKyAg
ICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGZyYWMo
eFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBmcmFjKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZyYWMoeFsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gZnJhYyh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBm
cmFjKHhbM11bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyBmcmFjKGZsb2F0
NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZnJhYyh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmcmFjKHhbMF1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IGZyYWMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZnJhYyh4WzFdWzBdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBmcmFjKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZy
YWMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBmcmFjKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZyYWMoeFsyXVsy
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gZnJhYyh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBmcmFjKHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGZyYWMoeFszXVsyXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0IGZyYWMoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0
NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmcmFjKHhbMF1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGZyYWMoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZnJhYyh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBmcmFjKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9
IGZyYWMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZnJhYyh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBmcmFjKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGZyYWMoeFsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZnJhYyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBmcmFjKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZyYWMoeFsyXVsyXSk7Cisg
ICAgcmVzdWx0WzJdWzNdID0gZnJhYyh4WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMF0gPSBmcmFj
KHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGZyYWMoeFszXVsxXSk7CisgICAgcmVzdWx0
WzNdWzJdID0gZnJhYyh4WzNdWzJdKTsKKyAgICByZXN1bHRbM11bM10gPSBmcmFjKHhbM11bM10p
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIgZXhwMihmbG9hdDIgeCkgeworICAgIGZs
b2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZXhwMih4WzBdKTsKKyAgICByZXN1bHRbMV0g
PSBleHAyKHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgZXhwMihmbG9hdDMg
eCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZXhwMih4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBleHAyKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGV4cDIoeFsyXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NCBleHAyKGZsb2F0NCB4KSB7CisgICAgZmxvYXQ0
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBleHAyKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGV4
cDIoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZXhwMih4WzJdKTsKKyAgICByZXN1bHRbM10gPSBl
eHAyKHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiBleHAyKGZsb2F0Mngy
IHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGV4cDIoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDMgZXhwMihmbG9hdDJ4MyB4KSB7CisgICAgZmxv
YXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZXhwMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1bMl0pOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCBleHAyKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9h
dDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsy
XSk7CisgICAgcmVzdWx0WzBdWzNdID0gZXhwMih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBleHAyKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gZXhwMih4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBleHAyKHhb
MV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiBleHAyKGZsb2F0M3gyIHgp
IHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9
IGV4cDIoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsy
XVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gzIGV4cDIoZmxvYXQzeDMgeCkg
eworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBleHAyKHhbMF1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBleHAyKHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGV4cDIoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZXhwMih4WzFd
WzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGV4cDIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZXhwMih4WzJdWzJdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDQgZXhwMihmbG9hdDN4NCB4KSB7CisgICAgZmxv
YXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGV4cDIoeFswXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gZXhwMih4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBleHAyKHhbMF1b
Ml0pOworICAgIHJlc3VsdFswXVszXSA9IGV4cDIoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gZXhwMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAyKHhbMV1bMV0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZXhwMih4
WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGV4cDIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZXhwMih4WzJdWzJdKTsK
KyAgICByZXN1bHRbMl1bM10gPSBleHAyKHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDR4MiBleHAyKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBleHAyKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZXhwMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBleHAyKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGV4cDIoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZXhw
Mih4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBleHAyKHhbM11bMV0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDR4MyBleHAyKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZXhwMih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBleHAyKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGV4cDIoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gZXhwMih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBleHAy
KHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGV4cDIoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gZXhwMih4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBleHAyKHhbMl1bMV0p
OworICAgIHJlc3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0g
ZXhwMih4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBleHAyKHhbM11bMV0pOworICAgIHJl
c3VsdFszXVsyXSA9IGV4cDIoeFszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0
NHg0IGV4cDIoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBleHAyKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGV4cDIoeFswXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gZXhwMih4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBl
eHAyKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGV4cDIoeFsxXVswXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gZXhwMih4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBleHAyKHhbMV1b
Ml0pOworICAgIHJlc3VsdFsxXVszXSA9IGV4cDIoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gZXhwMih4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBleHAyKHhbMl1bMV0pOworICAg
IHJlc3VsdFsyXVsyXSA9IGV4cDIoeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZXhwMih4
WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMF0gPSBleHAyKHhbM11bMF0pOworICAgIHJlc3VsdFsz
XVsxXSA9IGV4cDIoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZXhwMih4WzNdWzJdKTsK
KyAgICByZXN1bHRbM11bM10gPSBleHAyKHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDIgZGVncmVlcyhmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gZGVncmVlcyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZWdyZWVzKHhbMV0pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgZGVncmVlcyhmbG9hdDMgeCkgeworICAgIGZs
b2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZGVncmVlcyh4WzBdKTsKKyAgICByZXN1bHRb
MV0gPSBkZWdyZWVzKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRlZ3JlZXMoeFsyXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NCBkZWdyZWVzKGZsb2F0NCB4KSB7CisgICAgZmxvYXQ0
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBkZWdyZWVzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9
IGRlZ3JlZXMoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZGVncmVlcyh4WzJdKTsKKyAgICByZXN1
bHRbM10gPSBkZWdyZWVzKHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiBk
ZWdyZWVzKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gZGVncmVlcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZGVncmVlcyh4WzFdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDMg
ZGVncmVlcyhmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IGRlZ3JlZXMoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDJ4NCBkZWdyZWVzKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRlZ3JlZXMoeFsw
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGVncmVlcyh4WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRlZ3JlZXMoeFsx
XVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGVncmVlcyh4WzFdWzJdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBkZWdyZWVzKHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4
MiBkZWdyZWVzKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhb
Ml1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2Zsb2F0M3gzIGRlZ3JlZXMoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGRlZ3JlZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZWdyZWVzKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGRlZ3JlZXMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGVncmVlcyh4
WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGVncmVlcyh4
WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDQgZGVncmVlcyhmbG9hdDN4
NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRlZ3JlZXMo
eFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGVncmVlcyh4WzBdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBkZWdyZWVzKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRlZ3JlZXMo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGVncmVlcyh4WzFdWzBdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRlZ3JlZXMo
eFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGVncmVlcyh4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBkZWdyZWVzKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMo
eFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGVncmVlcyh4WzJdWzJdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBkZWdyZWVzKHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDR4MiBkZWdyZWVzKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gZGVncmVlcyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVz
KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGRlZ3JlZXMoeFsxXVswXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZWdyZWVz
KHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRlZ3JlZXMoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gZGVncmVlcyh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZWdyZWVz
KHhbM11bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyBkZWdyZWVzKGZsb2F0
NHgzIHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGVncmVl
cyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZWdyZWVzKHhbMF1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGRlZ3JlZXMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGVncmVl
cyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZWdyZWVzKHhbMV1bMV0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGRlZ3JlZXMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGVncmVl
cyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOworICAgIHJl
c3VsdFsyXVsyXSA9IGRlZ3JlZXMoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGVncmVl
cyh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZWdyZWVzKHhbM11bMV0pOworICAgIHJl
c3VsdFszXVsyXSA9IGRlZ3JlZXMoeFszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zs
b2F0NHg0IGRlZ3JlZXMoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBkZWdyZWVzKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRlZ3Jl
ZXMoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGVncmVlcyh4WzBdWzJdKTsKKyAgICBy
ZXN1bHRbMF1bM10gPSBkZWdyZWVzKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGRlZ3Jl
ZXMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGVncmVlcyh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBkZWdyZWVzKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGRlZ3Jl
ZXMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGVncmVlcyh4WzJdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBkZWdyZWVzKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRlZ3Jl
ZXMoeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGVncmVlcyh4WzJdWzNdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBkZWdyZWVzKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGRlZ3Jl
ZXMoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZGVncmVlcyh4WzNdWzJdKTsKKyAgICBy
ZXN1bHRbM11bM10gPSBkZWdyZWVzKHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDIgcmFkaWFucyhmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gcmFkaWFucyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSByYWRpYW5zKHhbMV0pOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgcmFkaWFucyhmbG9hdDMgeCkgeworICAgIGZsb2F0
MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gcmFkaWFucyh4WzBdKTsKKyAgICByZXN1bHRbMV0g
PSByYWRpYW5zKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHJhZGlhbnMoeFsyXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2Zsb2F0NCByYWRpYW5zKGZsb2F0NCB4KSB7CisgICAgZmxvYXQ0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSByYWRpYW5zKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHJh
ZGlhbnMoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gcmFkaWFucyh4WzJdKTsKKyAgICByZXN1bHRb
M10gPSByYWRpYW5zKHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiByYWRp
YW5zKGZsb2F0MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gcmFkaWFucyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0p
OworICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gcmFkaWFucyh4WzFdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDMgcmFk
aWFucyhmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IHJhZGlhbnMoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSByYWRpYW5zKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsw
XSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitmbG9hdDJ4NCByYWRpYW5zKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFucyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSByYWRpYW5zKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJhZGlhbnMoeFswXVsy
XSk7CisgICAgcmVzdWx0WzBdWzNdID0gcmFkaWFucyh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSByYWRpYW5zKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJhZGlhbnMoeFsxXVsx
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1b
M10gPSByYWRpYW5zKHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiBy
YWRpYW5zKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gcmFkaWFucyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1b
MV0pOworICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gcmFkaWFucyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1b
MF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK2Zsb2F0M3gzIHJhZGlhbnMoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHJhZGlhbnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmFkaWFucyh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByYWRpYW5zKHhbMV1bMF0pOworICAgIHJlc3VsdFsx
XVsxXSA9IHJhZGlhbnMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmFkaWFucyh4WzFd
WzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOworICAgIHJlc3VsdFsy
XVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gcmFkaWFucyh4WzJd
WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDQgcmFkaWFucyhmbG9hdDN4NCB4
KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJhZGlhbnMoeFsw
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmFkaWFucyh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSByYWRpYW5zKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJhZGlhbnMoeFsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4WzFdWzBdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJhZGlhbnMoeFsx
XVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcmFkaWFucyh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSByYWRpYW5zKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlhbnMoeFsy
XVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gcmFkaWFucyh4WzJdWzJdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSByYWRpYW5zKHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4
MiByYWRpYW5zKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gcmFkaWFucyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhb
MF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMoeFsxXVswXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByYWRpYW5zKHhb
Ml1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJhZGlhbnMoeFsyXVsxXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gcmFkaWFucyh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSByYWRpYW5zKHhb
M11bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyByYWRpYW5zKGZsb2F0NHgz
IHgpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcmFkaWFucyh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByYWRpYW5zKHhbMF1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHJhZGlhbnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcmFkaWFucyh4
WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByYWRpYW5zKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IHJhZGlhbnMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcmFkaWFucyh4
WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJlc3Vs
dFsyXVsyXSA9IHJhZGlhbnMoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcmFkaWFucyh4
WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSByYWRpYW5zKHhbM11bMV0pOworICAgIHJlc3Vs
dFszXVsyXSA9IHJhZGlhbnMoeFszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0
NHg0IHJhZGlhbnMoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF1bMF0gPSByYWRpYW5zKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJhZGlhbnMo
eFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmFkaWFucyh4WzBdWzJdKTsKKyAgICByZXN1
bHRbMF1bM10gPSByYWRpYW5zKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHJhZGlhbnMo
eFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcmFkaWFucyh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSByYWRpYW5zKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IHJhZGlhbnMo
eFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcmFkaWFucyh4WzJdWzBdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSByYWRpYW5zKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHJhZGlhbnMo
eFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcmFkaWFucyh4WzJdWzNdKTsKKyAgICByZXN1
bHRbM11bMF0gPSByYWRpYW5zKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IHJhZGlhbnMo
eFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gcmFkaWFucyh4WzNdWzJdKTsKKyAgICByZXN1
bHRbM11bM10gPSByYWRpYW5zKHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDIgcmNwKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBy
Y3AoeFswXSk7CisgICAgcmVzdWx0WzFdID0gcmNwKHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDMgcmNwKGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSByY3AoeFswXSk7CisgICAgcmVzdWx0WzFdID0gcmNwKHhbMV0pOworICAgIHJlc3Vs
dFsyXSA9IHJjcCh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0IHJjcChmbG9h
dDQgeCkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gcmNwKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IHJjcCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSByY3AoeFsyXSk7Cisg
ICAgcmVzdWx0WzNdID0gcmNwKHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4
MiByY3AoZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSByY3AoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsx
XVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MngzIHJjcChmbG9hdDJ4MyB4KSB7
CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJjcCh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcmNw
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSByY3AoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCByY3AoZmxvYXQyeDQgeCkgeworICAgIGZs
b2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSByY3AoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
cmNwKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4WzFdWzFdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcmNwKHhbMV1bM10p
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiByY3AoZmxvYXQzeDIgeCkgeworICAg
IGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gcmNwKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDMgcmNwKGZsb2F0M3gzIHgpIHsKKyAgICBmbG9hdDN4
MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcmNwKHhbMF1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHJjcCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gcmNwKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJjcCh4
WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSByY3AoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gcmNwKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSByY3AoeFsyXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zs
b2F0M3g0IHJjcChmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IHJjcCh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSByY3AoeFswXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gcmNwKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJj
cCh4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gcmNwKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsK
KyAgICByZXN1bHRbMV1bM10gPSByY3AoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gcmNw
KHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMl0gPSByY3AoeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcmNwKHhbMl1bM10pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MiByY3AoZmxvYXQ0eDIgeCkgeworICAgIGZs
b2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSByY3AoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
cmNwKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJjcCh4WzJdWzFdKTsKKyAgICByZXN1
bHRbM11bMF0gPSByY3AoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gcmNwKHhbM11bMV0p
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyByY3AoZmxvYXQ0eDMgeCkgeworICAg
IGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSByY3AoeFswXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gcmNwKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJjcCh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSByY3AoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gcmNwKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJjcCh4WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSByY3AoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1b
MV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHJjcCh4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMF0g
PSByY3AoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gcmNwKHhbM11bMV0pOworICAgIHJl
c3VsdFszXVsyXSA9IHJjcCh4WzNdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0
eDQgcmNwKGZsb2F0NHg0IHgpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gcmNwKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJjcCh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSByY3AoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gcmNwKHhb
MF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHJjcCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSByY3AoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gcmNwKHhbMV1bMl0pOworICAg
IHJlc3VsdFsxXVszXSA9IHJjcCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSByY3AoeFsy
XVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcmNwKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsy
XSA9IHJjcCh4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSByY3AoeFsyXVszXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gcmNwKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IHJjcCh4WzNd
WzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSByY3AoeFszXVsyXSk7CisgICAgcmVzdWx0WzNdWzNd
ID0gcmNwKHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIgcnNxcnQoZmxv
YXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHJzcXJ0KHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IHJzcXJ0KHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDMgcnNxcnQoZmxvYXQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IHJzcXJ0KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHJzcXJ0KHhbMV0pOworICAgIHJlc3Vs
dFsyXSA9IHJzcXJ0KHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDQgcnNxcnQo
ZmxvYXQ0IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHJzcXJ0KHhb
MF0pOworICAgIHJlc3VsdFsxXSA9IHJzcXJ0KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHJzcXJ0
KHhbMl0pOworICAgIHJlc3VsdFszXSA9IHJzcXJ0KHhbM10pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDJ4MiByc3FydChmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJz
cXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDJ4MyByc3FydChmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsw
XSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDJ4NCByc3FydChmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0
KHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IHJzcXJ0KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1b
MF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsy
XSA9IHJzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0KHhbMV1bM10pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiByc3FydChmbG9hdDN4MiB4KSB7CisgICAg
ZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0
KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1b
MV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MyByc3FydChmbG9hdDN4MyB4KSB7
CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHJzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAg
IHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0
KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHJzcXJ0KHhbMl1b
Ml0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4NCByc3FydChmbG9hdDN4NCB4KSB7
CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IHJzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1bM10pOworICAg
IHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0
KHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOworICAgIHJlc3Vs
dFsxXVszXSA9IHJzcXJ0KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1b
MF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsy
XSA9IHJzcXJ0KHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IHJzcXJ0KHhbMl1bM10pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MiByc3FydChmbG9hdDR4MiB4KSB7CisgICAg
ZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0KHhbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0
KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVswXSA9IHJzcXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1b
MV0pOworICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOworICAgIHJlc3VsdFszXVsx
XSA9IHJzcXJ0KHhbM11bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyByc3Fy
dChmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IHJzcXJ0KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0
KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHJzcXJ0KHhbMV1bMV0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IHJzcXJ0KHhbMl1b
MF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsy
XSA9IHJzcXJ0KHhbMl1bMl0pOworICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOwor
ICAgIHJlc3VsdFszXVsxXSA9IHJzcXJ0KHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IHJz
cXJ0KHhbM11bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4NCByc3FydChmbG9h
dDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHJzcXJ0
KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHJzcXJ0KHhbMF1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHJzcXJ0KHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHJzcXJ0KHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVswXSA9IHJzcXJ0KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsx
XSA9IHJzcXJ0KHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHJzcXJ0KHhbMV1bMl0pOwor
ICAgIHJlc3VsdFsxXVszXSA9IHJzcXJ0KHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IHJz
cXJ0KHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHJzcXJ0KHhbMl1bMV0pOworICAgIHJl
c3VsdFsyXVsyXSA9IHJzcXJ0KHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IHJzcXJ0KHhb
Ml1bM10pOworICAgIHJlc3VsdFszXVswXSA9IHJzcXJ0KHhbM11bMF0pOworICAgIHJlc3VsdFsz
XVsxXSA9IHJzcXJ0KHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IHJzcXJ0KHhbM11bMl0p
OworICAgIHJlc3VsdFszXVszXSA9IHJzcXJ0KHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDIgc2F0dXJhdGUoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IHNhdHVyYXRlKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHNhdHVyYXRlKHhb
MV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgc2F0dXJhdGUoZmxvYXQzIHgpIHsK
KyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHNhdHVyYXRlKHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IHNhdHVyYXRlKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHNhdHVyYXRlKHhb
Ml0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDQgc2F0dXJhdGUoZmxvYXQ0IHgpIHsK
KyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHNhdHVyYXRlKHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IHNhdHVyYXRlKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IHNhdHVyYXRlKHhb
Ml0pOworICAgIHJlc3VsdFszXSA9IHNhdHVyYXRlKHhbM10pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDJ4MiBzYXR1cmF0ZShmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IHNhdHVyYXRlKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHNhdHVyYXRlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IHNhdHVyYXRlKHhbMV1b
MF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNhdHVyYXRlKHhbMV1bMV0pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDJ4MyBzYXR1cmF0ZShmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQyeDMg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNhdHVyYXRlKHhbMF1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IHNhdHVyYXRlKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNhdHVyYXRl
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IHNhdHVyYXRlKHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHNhdHVyYXRlKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNhdHVy
YXRlKHhbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCBzYXR1cmF0ZShm
bG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNh
dHVyYXRlKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNhdHVyYXRlKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IHNhdHVyYXRlKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9
IHNhdHVyYXRlKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHNhdHVyYXRlKHhbMV1bMF0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHNhdHVyYXRlKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsy
XSA9IHNhdHVyYXRlKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IHNhdHVyYXRlKHhbMV1b
M10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiBzYXR1cmF0ZShmbG9hdDN4MiB4
KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNhdHVyYXRlKHhb
MF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNhdHVyYXRlKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVswXSA9IHNhdHVyYXRlKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNhdHVyYXRl
KHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IHNhdHVyYXRlKHhbMl1bMF0pOworICAgIHJl
c3VsdFsyXVsxXSA9IHNhdHVyYXRlKHhbMl1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDN4MyBzYXR1cmF0ZShmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHNhdHVyYXRlKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNh
dHVyYXRlKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNhdHVyYXRlKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IHNhdHVyYXRlKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9
IHNhdHVyYXRlKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNhdHVyYXRlKHhbMV1bMl0p
OworICAgIHJlc3VsdFsyXVswXSA9IHNhdHVyYXRlKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsx
XSA9IHNhdHVyYXRlKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNhdHVyYXRlKHhbMl1b
Ml0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4NCBzYXR1cmF0ZShmbG9hdDN4NCB4
KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNhdHVyYXRlKHhb
MF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNhdHVyYXRlKHhbMF1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHNhdHVyYXRlKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNhdHVyYXRl
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHNhdHVyYXRlKHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHNhdHVyYXRlKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNhdHVy
YXRlKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IHNhdHVyYXRlKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVswXSA9IHNhdHVyYXRlKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNh
dHVyYXRlKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNhdHVyYXRlKHhbMl1bMl0pOwor
ICAgIHJlc3VsdFsyXVszXSA9IHNhdHVyYXRlKHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDR4MiBzYXR1cmF0ZShmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IHNhdHVyYXRlKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHNhdHVyYXRlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IHNhdHVyYXRlKHhbMV1b
MF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNhdHVyYXRlKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVswXSA9IHNhdHVyYXRlKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNhdHVyYXRlKHhb
Ml1bMV0pOworICAgIHJlc3VsdFszXVswXSA9IHNhdHVyYXRlKHhbM11bMF0pOworICAgIHJlc3Vs
dFszXVsxXSA9IHNhdHVyYXRlKHhbM11bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDR4MyBzYXR1cmF0ZShmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IHNhdHVyYXRlKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNhdHVy
YXRlKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNhdHVyYXRlKHhbMF1bMl0pOworICAg
IHJlc3VsdFsxXVswXSA9IHNhdHVyYXRlKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNh
dHVyYXRlKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNhdHVyYXRlKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IHNhdHVyYXRlKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9
IHNhdHVyYXRlKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNhdHVyYXRlKHhbMl1bMl0p
OworICAgIHJlc3VsdFszXVswXSA9IHNhdHVyYXRlKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsx
XSA9IHNhdHVyYXRlKHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IHNhdHVyYXRlKHhbM11b
Ml0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4NCBzYXR1cmF0ZShmbG9hdDR4NCB4
KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNhdHVyYXRlKHhb
MF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNhdHVyYXRlKHhbMF1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHNhdHVyYXRlKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNhdHVyYXRl
KHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHNhdHVyYXRlKHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHNhdHVyYXRlKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNhdHVy
YXRlKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IHNhdHVyYXRlKHhbMV1bM10pOworICAg
IHJlc3VsdFsyXVswXSA9IHNhdHVyYXRlKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNh
dHVyYXRlKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNhdHVyYXRlKHhbMl1bMl0pOwor
ICAgIHJlc3VsdFsyXVszXSA9IHNhdHVyYXRlKHhbMl1bM10pOworICAgIHJlc3VsdFszXVswXSA9
IHNhdHVyYXRlKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IHNhdHVyYXRlKHhbM11bMV0p
OworICAgIHJlc3VsdFszXVsyXSA9IHNhdHVyYXRlKHhbM11bMl0pOworICAgIHJlc3VsdFszXVsz
XSA9IHNhdHVyYXRlKHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIgZGR4
X2NvYXJzZShmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
ZGR4X2NvYXJzZSh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZHhfY29hcnNlKHhbMV0pOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgZGR4X2NvYXJzZShmbG9hdDMgeCkgeworICAgIGZs
b2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZGR4X2NvYXJzZSh4WzBdKTsKKyAgICByZXN1
bHRbMV0gPSBkZHhfY29hcnNlKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRkeF9jb2Fyc2UoeFsy
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NCBkZHhfY29hcnNlKGZsb2F0NCB4KSB7
CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBkZHhfY29hcnNlKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGRkeF9jb2Fyc2UoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZGR4X2Nv
YXJzZSh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBkZHhfY29hcnNlKHhbM10pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDJ4MiBkZHhfY29hcnNlKGZsb2F0MngyIHgpIHsKKyAgICBmbG9h
dDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9
IGRkeF9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFd
WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDMgZGR4X2NvYXJzZShmbG9hdDJ4
MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fy
c2UoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9
IGRkeF9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29hcnNlKHhbMV1bMl0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDJ4NCBkZHhfY29hcnNlKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9h
dDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGRkeF9jb2Fyc2UoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR4X2NvYXJzZSh4WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR4X2Nv
YXJzZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHhfY29hcnNlKHhbMV1bM10pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiBkZHhfY29hcnNlKGZsb2F0M3gyIHgpIHsK
KyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBd
WzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3Vs
dFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2Nv
YXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNlKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2Zsb2F0M3gzIGRkeF9jb2Fyc2UoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR4X2Nv
YXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHhfY29hcnNlKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9jb2Fyc2UoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gZGR4X2NvYXJzZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNlKHhb
Ml1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
ZmxvYXQzeDQgZGR4X2NvYXJzZShmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGRkeF9jb2Fyc2UoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gZGR4X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHhfY29hcnNlKHhb
MF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeF9jb2Fyc2UoeFswXVszXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhf
Y29hcnNlKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gZGR4X2NvYXJzZSh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBkZHhfY29hcnNlKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9jb2Fyc2Uo
eFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR4X2NvYXJzZSh4WzJdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBkZHhfY29hcnNlKHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDR4MiBkZHhfY29hcnNlKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2Uo
eFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBkZHhfY29hcnNlKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRk
eF9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR4X2NvYXJzZSh4WzNdWzBd
KTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHhfY29hcnNlKHhbM11bMV0pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDR4MyBkZHhfY29hcnNlKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4
MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR4X2NvYXJzZSh4WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBkZHhfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRk
eF9jb2Fyc2UoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR4X2NvYXJzZSh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHhfY29hcnNlKHhbMV1bMV0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGRkeF9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJz
ZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHhfY29hcnNlKHhbMl1bMV0pOworICAg
IHJlc3VsdFsyXVsyXSA9IGRkeF9jb2Fyc2UoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0g
ZGR4X2NvYXJzZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHhfY29hcnNlKHhbM11b
MV0pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeF9jb2Fyc2UoeFszXVsyXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2Zsb2F0NHg0IGRkeF9jb2Fyc2UoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0
NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHhfY29hcnNlKHhbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGRkeF9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZGR4X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHhfY29hcnNlKHhbMF1b
M10pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeF9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gZGR4X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHhfY29h
cnNlKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeF9jb2Fyc2UoeFsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gZGR4X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBkZHhfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9jb2Fyc2UoeFsy
XVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR4X2NvYXJzZSh4WzJdWzNdKTsKKyAgICByZXN1
bHRbM11bMF0gPSBkZHhfY29hcnNlKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeF9j
b2Fyc2UoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZGR4X2NvYXJzZSh4WzNdWzJdKTsK
KyAgICByZXN1bHRbM11bM10gPSBkZHhfY29hcnNlKHhbM11bM10pOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitmbG9hdDIgZGR4X2ZpbmUoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IGRkeF9maW5lKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeF9maW5l
KHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgZGR4X2ZpbmUoZmxvYXQzIHgp
IHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRkeF9maW5lKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGRkeF9maW5lKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRkeF9maW5l
KHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDQgZGR4X2ZpbmUoZmxvYXQ0IHgp
IHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRkeF9maW5lKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGRkeF9maW5lKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRkeF9maW5l
KHhbMl0pOworICAgIHJlc3VsdFszXSA9IGRkeF9maW5lKHhbM10pOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitmbG9hdDJ4MiBkZHhfZmluZShmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhb
MV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDJ4MyBkZHhfZmluZShmbG9hdDJ4MyB4KSB7CisgICAgZmxvYXQy
eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9m
aW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRk
eF9maW5lKHhbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCBkZHhfZmlu
ZShmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGRkeF9maW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IGRkeF9maW5lKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1b
MF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGRkeF9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeF9maW5lKHhb
MV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiBkZHhfZmluZShmbG9hdDN4
MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5l
KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9m
aW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDN4MyBkZHhfZmluZShmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGRkeF9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGRkeF9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1b
Ml0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGRkeF9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9maW5lKHhb
Ml1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4NCBkZHhfZmluZShmbG9hdDN4
NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5l
KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeF9m
aW5lKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRk
eF9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeF9maW5lKHhbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9
IGRkeF9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9maW5lKHhbMl1bMl0p
OworICAgIHJlc3VsdFsyXVszXSA9IGRkeF9maW5lKHhbMl1bM10pOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitmbG9hdDR4MiBkZHhfZmluZShmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhb
MV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeF9maW5l
KHhbMl1bMV0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeF9maW5lKHhbM11bMF0pOworICAgIHJl
c3VsdFszXVsxXSA9IGRkeF9maW5lKHhbM11bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDR4MyBkZHhfZmluZShmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGRkeF9maW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRk
eF9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGRkeF9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeF9maW5lKHhbMV1bMl0p
OworICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGRkeF9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9maW5lKHhbMl1b
Ml0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeF9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFsz
XVsxXSA9IGRkeF9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeF9maW5lKHhb
M11bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4NCBkZHhfZmluZShmbG9hdDR4
NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeF9maW5l
KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeF9maW5lKHhbMF1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGRkeF9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeF9m
aW5lKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeF9maW5lKHhbMV1bMF0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGRkeF9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRk
eF9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeF9maW5lKHhbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGRkeF9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9
IGRkeF9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeF9maW5lKHhbMl1bMl0p
OworICAgIHJlc3VsdFsyXVszXSA9IGRkeF9maW5lKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsw
XSA9IGRkeF9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeF9maW5lKHhbM11b
MV0pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeF9maW5lKHhbM11bMl0pOworICAgIHJlc3VsdFsz
XVszXSA9IGRkeF9maW5lKHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIg
ZGR5X2NvYXJzZShmbG9hdDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gZGR5X2NvYXJzZSh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBkZHlfY29hcnNlKHhbMV0pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgZGR5X2NvYXJzZShmbG9hdDMgeCkgeworICAg
IGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZGR5X2NvYXJzZSh4WzBdKTsKKyAgICBy
ZXN1bHRbMV0gPSBkZHlfY29hcnNlKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRkeV9jb2Fyc2Uo
eFsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NCBkZHlfY29hcnNlKGZsb2F0NCB4
KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBkZHlfY29hcnNlKHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IGRkeV9jb2Fyc2UoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZGR5
X2NvYXJzZSh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBkZHlfY29hcnNlKHhbM10pOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiBkZHlfY29hcnNlKGZsb2F0MngyIHgpIHsKKyAgICBm
bG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4
WzFdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDMgZGR5X2NvYXJzZShmbG9h
dDJ4MyB4KSB7CisgICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9j
b2Fyc2UoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNlKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4
WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlfY29hcnNlKHhbMV1bMl0pOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCBkZHlfY29hcnNlKGZsb2F0Mng0IHgpIHsKKyAgICBm
bG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsy
XSA9IGRkeV9jb2Fyc2UoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZGR5X2NvYXJzZSh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZGR5
X2NvYXJzZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBkZHlfY29hcnNlKHhbMV1bM10p
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiBkZHlfY29hcnNlKGZsb2F0M3gyIHgp
IHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOworICAgIHJl
c3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5
X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0p
OworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK2Zsb2F0M3gzIGRkeV9jb2Fyc2UoZmxvYXQzeDMgeCkgeworICAgIGZsb2F0M3gz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZGR5
X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBkZHlfY29hcnNlKHhbMV1bMF0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9jb2Fyc2UoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gZGR5X2NvYXJzZSh4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNl
KHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorZmxvYXQzeDQgZGR5X2NvYXJzZShmbG9hdDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9jb2Fyc2UoeFswXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZGR5X2NvYXJzZSh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBkZHlfY29hcnNl
KHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRkeV9jb2Fyc2UoeFswXVszXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBk
ZHlfY29hcnNlKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsy
XSk7CisgICAgcmVzdWx0WzFdWzNdID0gZGR5X2NvYXJzZSh4WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9jb2Fy
c2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gZGR5X2NvYXJzZSh4WzJdWzJdKTsKKyAg
ICByZXN1bHRbMl1bM10gPSBkZHlfY29hcnNlKHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDR4MiBkZHlfY29hcnNlKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fy
c2UoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBkZHlfY29hcnNlKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9
IGRkeV9jb2Fyc2UoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZGR5X2NvYXJzZSh4WzNd
WzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHlfY29hcnNlKHhbM11bMV0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDR4MyBkZHlfY29hcnNlKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9h
dDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZGR5X2NvYXJzZSh4WzBdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBkZHlfY29hcnNlKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGRkeV9jb2Fyc2UoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZGR5X2NvYXJzZSh4WzFd
WzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBkZHlfY29hcnNlKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGRkeV9jb2Fyc2UoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZGR5X2Nv
YXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9jb2Fyc2UoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBd
ID0gZGR5X2NvYXJzZSh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBkZHlfY29hcnNlKHhb
M11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeV9jb2Fyc2UoeFszXVsyXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0IGRkeV9jb2Fyc2UoZmxvYXQ0eDQgeCkgeworICAgIGZs
b2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBkZHlfY29hcnNlKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGRkeV9jb2Fyc2UoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gZGR5X2NvYXJzZSh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBkZHlfY29hcnNlKHhb
MF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9jb2Fyc2UoeFsxXVswXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gZGR5X2NvYXJzZSh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBkZHlf
Y29hcnNlKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9jb2Fyc2UoeFsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gZGR5X2NvYXJzZSh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBkZHlfY29hcnNlKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9jb2Fyc2Uo
eFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gZGR5X2NvYXJzZSh4WzJdWzNdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBkZHlfY29hcnNlKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGRk
eV9jb2Fyc2UoeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZGR5X2NvYXJzZSh4WzNdWzJd
KTsKKyAgICByZXN1bHRbM11bM10gPSBkZHlfY29hcnNlKHhbM11bM10pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDIgZGR5X2ZpbmUoZmxvYXQyIHgpIHsKKyAgICBmbG9hdDIgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IGRkeV9maW5lKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGRkeV9m
aW5lKHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgZGR5X2ZpbmUoZmxvYXQz
IHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRkeV9maW5lKHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IGRkeV9maW5lKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRkeV9m
aW5lKHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDQgZGR5X2ZpbmUoZmxvYXQ0
IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGRkeV9maW5lKHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IGRkeV9maW5lKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGRkeV9m
aW5lKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGRkeV9maW5lKHhbM10pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDJ4MiBkZHlfZmluZShmbG9hdDJ4MiB4KSB7CisgICAgZmxvYXQyeDIg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5l
KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MyBkZHlfZmluZShmbG9hdDJ4MyB4KSB7CisgICAgZmxv
YXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRk
eV9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGRkeV9maW5lKHhbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCBkZHlf
ZmluZShmbG9hdDJ4NCB4KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGRkeV9maW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IGRkeV9maW5lKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhb
MV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGRkeV9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9maW5l
KHhbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiBkZHlfZmluZShmbG9h
dDN4MiB4KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9m
aW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRk
eV9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOwor
ICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDN4MyBkZHlfZmluZShmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhb
MV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOworICAgIHJlc3Vs
dFsyXVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9maW5l
KHhbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4NCBkZHlfZmluZShmbG9h
dDN4NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9m
aW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRk
eV9maW5lKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGRkeV9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9maW5lKHhbMV1bM10p
OworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGRkeV9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9maW5lKHhbMl1b
Ml0pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeV9maW5lKHhbMl1bM10pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDR4MiBkZHlfZmluZShmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQ0eDIg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5l
KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOworICAgIHJl
c3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGRkeV9m
aW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOworICAg
IHJlc3VsdFszXVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDR4MyBkZHlfZmluZShmbG9hdDR4MyB4KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGRkeV9maW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGRkeV9maW5lKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGRkeV9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGRkeV9maW5lKHhbMV1b
Ml0pOworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFsy
XVsxXSA9IGRkeV9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9maW5lKHhb
Ml1bMl0pOworICAgIHJlc3VsdFszXVswXSA9IGRkeV9maW5lKHhbM11bMF0pOworICAgIHJlc3Vs
dFszXVsxXSA9IGRkeV9maW5lKHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeV9maW5l
KHhbM11bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4NCBkZHlfZmluZShmbG9h
dDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGRkeV9m
aW5lKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGRkeV9maW5lKHhbMF1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGRkeV9maW5lKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGRk
eV9maW5lKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGRkeV9maW5lKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGRkeV9maW5lKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGRkeV9maW5lKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGRkeV9maW5lKHhbMV1bM10p
OworICAgIHJlc3VsdFsyXVswXSA9IGRkeV9maW5lKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsx
XSA9IGRkeV9maW5lKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGRkeV9maW5lKHhbMl1b
Ml0pOworICAgIHJlc3VsdFsyXVszXSA9IGRkeV9maW5lKHhbMl1bM10pOworICAgIHJlc3VsdFsz
XVswXSA9IGRkeV9maW5lKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGRkeV9maW5lKHhb
M11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGRkeV9maW5lKHhbM11bMl0pOworICAgIHJlc3Vs
dFszXVszXSA9IGRkeV9maW5lKHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDIgZndpZHRoKGZsb2F0MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBmd2lkdGgoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZndpZHRoKHhbMV0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDMgZndpZHRoKGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSBmd2lkdGgoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZndpZHRo
KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGZ3aWR0aCh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorZmxvYXQ0IGZ3aWR0aChmbG9hdDQgeCkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gZndpZHRoKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZ3aWR0aCh4WzFdKTsK
KyAgICByZXN1bHRbMl0gPSBmd2lkdGgoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gZndpZHRoKHhb
M10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiBmd2lkdGgoZmxvYXQyeDIgeCkg
eworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGZ3aWR0aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MngzIGZ3aWR0aChmbG9hdDJ4MyB4KSB7Cisg
ICAgZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
ZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZndp
ZHRoKHhbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCBmd2lkdGgoZmxv
YXQyeDQgeCkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmd2lk
dGgoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmd2lkdGgo
eFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmd2lkdGgoeFsx
XVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZndpZHRoKHhbMV1bM10pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDN4MiBmd2lkdGgoZmxvYXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZndpZHRoKHhbMF1bMV0pOworICAgIHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gZndpZHRoKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDMgZndpZHRoKGZsb2F0M3gzIHgpIHsKKyAg
ICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBm
d2lkdGgoeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZndpZHRoKHhbMV1bMF0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGZ3aWR0aCh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmd2lk
dGgoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgo
eFsyXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3g0IGZ3aWR0aChmbG9hdDN4
NCB4KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZ3aWR0aCh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmd2lkdGgoeFswXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gZndpZHRoKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZ3aWR0aCh4WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZndpZHRoKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBmd2lkdGgoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gZndpZHRoKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBmd2lkdGgoeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0g
ZndpZHRoKHhbMl1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MiBmd2lkdGgo
ZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBm
d2lkdGgoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOworICAg
IHJlc3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmd2lk
dGgoeFsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZndpZHRoKHhbMl1bMF0pOworICAgIHJl
c3VsdFsyXVsxXSA9IGZ3aWR0aCh4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMF0gPSBmd2lkdGgo
eFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZndpZHRoKHhbM11bMV0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDR4MyBmd2lkdGgoZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0NHgz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmd2lkdGgoeFswXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gZndpZHRoKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZ3aWR0aCh4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmd2lkdGgoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZndpZHRoKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZ3aWR0aCh4WzFdWzJd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gZndpZHRoKHhbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBmd2lkdGgoeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
ZndpZHRoKHhbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGZ3aWR0aCh4WzNdWzJdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDQgZndpZHRoKGZsb2F0NHg0IHgpIHsKKyAgICBm
bG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZndpZHRoKHhbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGZ3aWR0aCh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmd2lk
dGgoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZndpZHRoKHhbMF1bM10pOworICAgIHJl
c3VsdFsxXVswXSA9IGZ3aWR0aCh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmd2lkdGgo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZndpZHRoKHhbMV1bMl0pOworICAgIHJlc3Vs
dFsxXVszXSA9IGZ3aWR0aCh4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmd2lkdGgoeFsy
XVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZndpZHRoKHhbMl1bMV0pOworICAgIHJlc3VsdFsy
XVsyXSA9IGZ3aWR0aCh4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBmd2lkdGgoeFsyXVsz
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gZndpZHRoKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsx
XSA9IGZ3aWR0aCh4WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSBmd2lkdGgoeFszXVsyXSk7
CisgICAgcmVzdWx0WzNdWzNdID0gZndpZHRoKHhbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CisKK25hdGl2ZSBmbG9hdCBwb3coZmxvYXQsIGZsb2F0KTsKK2hhbGYgcG93KGhhbGYgeCwg
aGFsZiB5KSB7CisgICAgcmV0dXJuIGhhbGYocG93KGZsb2F0KHgpLCBmbG9hdCh5KSkpOworfQor
aGFsZiBzdGVwKGhhbGYgeSwgaGFsZiB4KSB7CisgICAgcmV0dXJuIHggPj0geSA/IDEgOiAwOwor
fQoraGFsZiBsZGV4cChoYWxmIHgsIGhhbGYgZSkgeworICAgIHJldHVybiB4ICogcG93KDIsIGUp
OworfQoraGFsZiBmbW9kKGhhbGYgeCwgaGFsZiB5KSB7CisgICAgdWludCB3aG9sZSA9IHVpbnQo
eCAvIHkpOworICAgIGhhbGYgbXVsdGlwbGUgPSBoYWxmKHdob2xlKSAqIHk7CisgICAgcmV0dXJu
IHggLSBtdWx0aXBsZTsKK30KK2hhbGYyIHBvdyhoYWxmMiB4LCBoYWxmMiB5KSB7CisgICAgaGFs
ZjIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHBvdyh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRb
MV0gPSBwb3coeFsxXSwgeVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIHBvdyho
YWxmMyB4LCBoYWxmMyB5KSB7CisgICAgaGFsZjMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHBv
dyh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBwb3coeFsxXSwgeVsxXSk7CisgICAgcmVz
dWx0WzJdID0gcG93KHhbMl0sIHlbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNCBw
b3coaGFsZjQgeCwgaGFsZjQgeSkgeworICAgIGhhbGY0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBwb3coeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gcG93KHhbMV0sIHlbMV0pOworICAg
IHJlc3VsdFsyXSA9IHBvdyh4WzJdLCB5WzJdKTsKKyAgICByZXN1bHRbM10gPSBwb3coeFszXSwg
eVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgcG93KGhhbGYyeDIgeCwgaGFs
ZjJ4MiB5KSB7CisgICAgaGFsZjJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcG93KHhb
MF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cito
YWxmMngzIHBvdyhoYWxmMngzIHgsIGhhbGYyeDMgeSkgeworICAgIGhhbGYyeDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1b
Ml0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gcG93KHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxm
Mng0IHBvdyhoYWxmMng0IHgsIGhhbGYyeDQgeSkgeworICAgIGhhbGYyeDQgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBwb3coeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0s
IHlbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHBvdyh4WzBdWzNdLCB5WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJd
LCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBwb3coeFsxXVszXSwgeVsxXVszXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgcG93KGhhbGYzeDIgeCwgaGFsZjN4MiB5KSB7
CisgICAgaGFsZjN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlb
MF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
cG93KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IHBvdyh4WzJdWzBdLCB5
WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDMgcG93KGhhbGYzeDMgeCwgaGFsZjN4MyB5KSB7Cisg
ICAgaGFsZjN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcG93
KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFd
WzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHBv
dyh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsyXSwgeVsy
XVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDQgcG93KGhhbGYzeDQgeCwgaGFs
ZjN4NCB5KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcG93KHhb
MF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFd
KTsKKyAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gcG93KHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4
WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsx
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3Vs
dFsxXVszXSA9IHBvdyh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBwb3co
eFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gcG93KHhbMl1bMV0sIHlbMl1b
MV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHBvdyh4WzJdWzJdLCB5WzJdWzJdKTsKKyAgICByZXN1
bHRbMl1bM10gPSBwb3coeFsyXVszXSwgeVsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGY0eDIgcG93KGhhbGY0eDIgeCwgaGFsZjR4MiB5KSB7CisgICAgaGFsZjR4MiByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBwb3coeFsx
XVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0p
OworICAgIHJlc3VsdFsyXVswXSA9IHBvdyh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcG93KHhb
M11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IHBvdyh4WzNdWzFdLCB5WzNdWzFd
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4MyBwb3coaGFsZjR4MyB4LCBoYWxmNHgz
IHkpIHsKKyAgICBoYWxmNHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVsw
XSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1b
MV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBwb3coeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzJd
WzFdID0gcG93KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHBvdyh4WzJd
WzJdLCB5WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMF0gPSBwb3coeFszXVswXSwgeVszXVswXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gcG93KHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFsz
XVsyXSA9IHBvdyh4WzNdWzJdLCB5WzNdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFs
ZjR4NCBwb3coaGFsZjR4NCB4LCBoYWxmNHg0IHkpIHsKKyAgICBoYWxmNHg0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJd
LCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBwb3coeFswXVszXSwgeVswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsx
XSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsy
XSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcG93KHhbMV1bM10sIHlbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVswXSA9IHBvdyh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gcG93KHhbMl1b
Ml0sIHlbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IHBvdyh4WzJdWzNdLCB5WzJdWzNdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBwb3coeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzNd
WzFdID0gcG93KHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IHBvdyh4WzNd
WzJdLCB5WzNdWzJdKTsKKyAgICByZXN1bHRbM11bM10gPSBwb3coeFszXVszXSwgeVszXVszXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIHN0ZXAoaGFsZjIgeCwgaGFsZjIgeSkgewor
ICAgIGhhbGYyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzdGVwKHhbMF0sIHlbMF0pOworICAg
IHJlc3VsdFsxXSA9IHN0ZXAoeFsxXSwgeVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hh
bGYzIHN0ZXAoaGFsZjMgeCwgaGFsZjMgeSkgeworICAgIGhhbGYzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBzdGVwKHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IHN0ZXAoeFsxXSwgeVsx
XSk7CisgICAgcmVzdWx0WzJdID0gc3RlcCh4WzJdLCB5WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQoraGFsZjQgc3RlcChoYWxmNCB4LCBoYWxmNCB5KSB7CisgICAgaGFsZjQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IHN0ZXAoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gc3RlcCh4
WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBzdGVwKHhbMl0sIHlbMl0pOworICAgIHJlc3Vs
dFszXSA9IHN0ZXAoeFszXSwgeVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIg
c3RlcChoYWxmMngyIHgsIGhhbGYyeDIgeSkgeworICAgIGhhbGYyeDIgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IHN0ZXAoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
c3RlcCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzdGVwKHhbMV1bMF0s
IHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDMgc3RlcChoYWxmMngzIHgsIGhhbGYyeDMgeSkg
eworICAgIGhhbGYyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHN0ZXAoeFswXVswXSwg
eVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3RlcCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBzdGVwKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVsw
XSA9IHN0ZXAoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc3RlcCh4WzFd
WzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzdGVwKHhbMV1bMl0sIHlbMV1bMl0p
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMng0IHN0ZXAoaGFsZjJ4NCB4LCBoYWxmMng0
IHkpIHsKKyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzdGVwKHhbMF1b
MF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHN0ZXAoeFswXVsxXSwgeVswXVsxXSk7
CisgICAgcmVzdWx0WzBdWzJdID0gc3RlcCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBzdGVwKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHN0ZXAo
eFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc3RlcCh4WzFdWzFdLCB5WzFd
WzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzdGVwKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJl
c3VsdFsxXVszXSA9IHN0ZXAoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2hhbGYzeDIgc3RlcChoYWxmM3gyIHgsIGhhbGYzeDIgeSkgeworICAgIGhhbGYzeDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHN0ZXAoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gc3RlcCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBz
dGVwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHN0ZXAoeFsxXVsxXSwg
eVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc3RlcCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBzdGVwKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitoYWxmM3gzIHN0ZXAoaGFsZjN4MyB4LCBoYWxmM3gzIHkpIHsKKyAgICBoYWxmM3gz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzdGVwKHhbMF1bMF0sIHlbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHN0ZXAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gc3RlcCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzdGVwKHhbMV1b
MF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gc3RlcCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBzdGVwKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHN0ZXAo
eFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc3RlcCh4WzJdWzJdLCB5WzJd
WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4NCBzdGVwKGhhbGYzeDQgeCwgaGFs
ZjN4NCB5KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc3RlcCh4
WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzdGVwKHhbMF1bMV0sIHlbMF1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IHN0ZXAoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gc3RlcCh4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBz
dGVwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHN0ZXAoeFsxXVsxXSwg
eVsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3RlcCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBzdGVwKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVsw
XSA9IHN0ZXAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc3RlcCh4WzJd
WzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzdGVwKHhbMl1bMl0sIHlbMl1bMl0p
OworICAgIHJlc3VsdFsyXVszXSA9IHN0ZXAoeFsyXVszXSwgeVsyXVszXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGY0eDIgc3RlcChoYWxmNHgyIHgsIGhhbGY0eDIgeSkgeworICAgIGhh
bGY0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHN0ZXAoeFswXVswXSwgeVswXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gc3RlcCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBzdGVwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHN0ZXAo
eFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc3RlcCh4WzJdWzBdLCB5WzJd
WzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzdGVwKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJl
c3VsdFszXVswXSA9IHN0ZXAoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
c3RlcCh4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4MyBz
dGVwKGhhbGY0eDMgeCwgaGFsZjR4MyB5KSB7CisgICAgaGFsZjR4MyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gc3RlcCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBz
dGVwKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHN0ZXAoeFswXVsyXSwg
eVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc3RlcCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBzdGVwKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsxXVsy
XSA9IHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc3RlcCh4WzJd
WzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzdGVwKHhbMl1bMV0sIHlbMl1bMV0p
OworICAgIHJlc3VsdFsyXVsyXSA9IHN0ZXAoeFsyXVsyXSwgeVsyXVsyXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gc3RlcCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzdGVw
KHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IHN0ZXAoeFszXVsyXSwgeVsz
XVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDQgc3RlcChoYWxmNHg0IHgsIGhh
bGY0eDQgeSkgeworICAgIGhhbGY0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHN0ZXAo
eFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3RlcCh4WzBdWzFdLCB5WzBd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzdGVwKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJl
c3VsdFswXVszXSA9IHN0ZXAoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
c3RlcCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzdGVwKHhbMV1bMV0s
IHlbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gc3RlcCh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBzdGVwKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHN0ZXAoeFsy
XVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc3RlcCh4WzJdWzJdLCB5WzJdWzJd
KTsKKyAgICByZXN1bHRbMl1bM10gPSBzdGVwKHhbMl1bM10sIHlbMl1bM10pOworICAgIHJlc3Vs
dFszXVswXSA9IHN0ZXAoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc3Rl
cCh4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSBzdGVwKHhbM11bMl0sIHlb
M11bMl0pOworICAgIHJlc3VsdFszXVszXSA9IHN0ZXAoeFszXVszXSwgeVszXVszXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIGxkZXhwKGhhbGYyIHgsIGhhbGYyIHkpIHsKKyAgICBo
YWxmMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbGRleHAoeFswXSwgeVswXSk7CisgICAgcmVz
dWx0WzFdID0gbGRleHAoeFsxXSwgeVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYz
IGxkZXhwKGhhbGYzIHgsIGhhbGYzIHkpIHsKKyAgICBoYWxmMyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gbGRleHAoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbGRleHAoeFsxXSwgeVsx
XSk7CisgICAgcmVzdWx0WzJdID0gbGRleHAoeFsyXSwgeVsyXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGY0IGxkZXhwKGhhbGY0IHgsIGhhbGY0IHkpIHsKKyAgICBoYWxmNCByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gbGRleHAoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbGRl
eHAoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gbGRleHAoeFsyXSwgeVsyXSk7CisgICAg
cmVzdWx0WzNdID0gbGRleHAoeFszXSwgeVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hh
bGYyeDIgbGRleHAoaGFsZjJ4MiB4LCBoYWxmMngyIHkpIHsKKyAgICBoYWxmMngyIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsZGV4
cCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5
WzFdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4MyBsZGV4cChoYWxmMngzIHgs
IGhhbGYyeDMgeSkgeworICAgIGhhbGYyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxk
ZXhwKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxkZXhwKHhbMF1bMV0s
IHlbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhw
KHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMng0IGxkZXhw
KGhhbGYyeDQgeCwgaGFsZjJ4NCB5KSB7CisgICAgaGFsZjJ4NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRl
eHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwg
eVswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGRleHAo
eFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbGRleHAoeFsxXVszXSwgeVsx
XVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgbGRleHAoaGFsZjN4MiB4LCBo
YWxmM3gyIHkpIHsKKyAgICBoYWxmM3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsZGV4
cCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1b
MF0gPSBsZGV4cCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsZGV4cCh4
WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4MyBsZGV4cCho
YWxmM3gzIHgsIGhhbGYzeDMgeSkgeworICAgIGhhbGYzeDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxkZXhw
KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxkZXhwKHhbMF1bMl0sIHlb
MF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0sIHlbMV1bMF0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsxXVsy
XSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGxkZXhwKHhb
Ml1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhwKHhbMl1bMV0sIHlbMl1b
MV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxkZXhwKHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitoYWxmM3g0IGxkZXhwKGhhbGYzeDQgeCwgaGFsZjN4NCB5KSB7Cisg
ICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVsw
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gbGRleHAoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gbGRleHAoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsx
XVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsx
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVz
dWx0WzFdWzNdID0gbGRleHAoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
bGRleHAoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsx
XSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7
CisgICAgcmVzdWx0WzJdWzNdID0gbGRleHAoeFsyXVszXSwgeVsyXVszXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGY0eDIgbGRleHAoaGFsZjR4MiB4LCBoYWxmNHgyIHkpIHsKKyAgICBo
YWxmNHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBd
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBs
ZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJdWzBd
LCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFdKTsK
KyAgICByZXN1bHRbM11bMF0gPSBsZGV4cCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBsZGV4cCh4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
aGFsZjR4MyBsZGV4cChoYWxmNHgzIHgsIGhhbGY0eDMgeSkgeworICAgIGhhbGY0eDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGxkZXhwKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGxkZXhwKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxk
ZXhwKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGxkZXhwKHhbMV1bMF0s
IHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxkZXhwKHhbMV1bMV0sIHlbMV1bMV0pOwor
ICAgIHJlc3VsdFsxXVsyXSA9IGxkZXhwKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsy
XVswXSA9IGxkZXhwKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxkZXhw
KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGxkZXhwKHhbMl1bMl0sIHlb
Ml1bMl0pOworICAgIHJlc3VsdFszXVswXSA9IGxkZXhwKHhbM11bMF0sIHlbM11bMF0pOworICAg
IHJlc3VsdFszXVsxXSA9IGxkZXhwKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFszXVsy
XSA9IGxkZXhwKHhbM11bMl0sIHlbM11bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxm
NHg0IGxkZXhwKGhhbGY0eDQgeCwgaGFsZjR4NCB5KSB7CisgICAgaGFsZjR4NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gbGRleHAoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gbGRleHAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGRleHAo
eFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGRleHAoeFswXVszXSwgeVsw
XVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbGRleHAoeFsxXVswXSwgeVsxXVswXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gbGRleHAoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gbGRleHAoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbGRleHAoeFsx
XVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGRleHAoeFsyXVswXSwgeVsyXVsw
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gbGRleHAoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gbGRleHAoeFsyXVsyXSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0g
bGRleHAoeFsyXVszXSwgeVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbGRleHAoeFszXVsw
XSwgeVszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbGRleHAoeFszXVsxXSwgeVszXVsxXSk7
CisgICAgcmVzdWx0WzNdWzJdID0gbGRleHAoeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmVzdWx0
WzNdWzNdID0gbGRleHAoeFszXVszXSwgeVszXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGYyIGZtb2QoaGFsZjIgeCwgaGFsZjIgeSkgeworICAgIGhhbGYyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBmbW9kKHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IGZtb2QoeFsxXSwg
eVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIGZtb2QoaGFsZjMgeCwgaGFsZjMg
eSkgeworICAgIGhhbGYzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBmbW9kKHhbMF0sIHlbMF0p
OworICAgIHJlc3VsdFsxXSA9IGZtb2QoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gZm1v
ZCh4WzJdLCB5WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjQgZm1vZChoYWxmNCB4
LCBoYWxmNCB5KSB7CisgICAgaGFsZjQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZtb2QoeFsw
XSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gZm1vZCh4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRb
Ml0gPSBmbW9kKHhbMl0sIHlbMl0pOworICAgIHJlc3VsdFszXSA9IGZtb2QoeFszXSwgeVszXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgZm1vZChoYWxmMngyIHgsIGhhbGYyeDIg
eSkgeworICAgIGhhbGYyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVsw
XSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hh
bGYyeDMgZm1vZChoYWxmMngzIHgsIGhhbGYyeDMgeSkgeworICAgIGhhbGYyeDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhb
MF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVsw
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitoYWxmMng0IGZtb2QoaGFsZjJ4NCB4LCBoYWxmMng0IHkpIHsKKyAgICBoYWxmMng0IHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZm1v
ZCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbW9kKHhbMF1bM10sIHlb
MF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBmbW9kKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGZtb2QoeFsxXVsz
XSwgeVsxXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgZm1vZChoYWxmM3gy
IHgsIGhhbGYzeDIgeSkgeworICAgIGhhbGYzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGZtb2QoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFd
LCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhb
Ml1bMV0sIHlbMl1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gzIGZtb2QoaGFs
ZjN4MyB4LCBoYWxmM3gzIHkpIHsKKyAgICBoYWxmM3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFsw
XVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1v
ZCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlb
Ml1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQoraGFsZjN4NCBmbW9kKGhhbGYzeDQgeCwgaGFsZjN4NCB5KSB7CisgICAgaGFsZjN4NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZm1vZCh4WzBdWzNd
LCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbW9kKHhb
MV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IGZtb2QoeFsyXVswXSwgeVsyXVsw
XSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1
bHRbMl1bMl0gPSBmbW9kKHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IGZt
b2QoeFsyXVszXSwgeVsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgZm1v
ZChoYWxmNHgyIHgsIGhhbGY0eDIgeSkgeworICAgIGhhbGY0eDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1v
ZCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlb
MV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBmbW9kKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVswXSA9IGZtb2QoeFszXVsw
XSwgeVszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZm1vZCh4WzNdWzFdLCB5WzNdWzFdKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4MyBmbW9kKGhhbGY0eDMgeCwgaGFsZjR4MyB5
KSB7CisgICAgaGFsZjR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBd
LCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhb
MV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsy
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZt
b2QoeFsyXVsyXSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZm1vZCh4WzNdWzBdLCB5
WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmbW9kKHhbM11bMV0sIHlbM11bMV0pOworICAg
IHJlc3VsdFszXVsyXSA9IGZtb2QoeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGY0eDQgZm1vZChoYWxmNHg0IHgsIGhhbGY0eDQgeSkgeworICAgIGhhbGY0eDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZtb2QoeFswXVsz
XSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZm1vZCh4
WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbW9kKHhbMl1bMF0sIHlbMl1b
MF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZtb2QoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gZm1vZCh4WzJdWzJdLCB5WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBm
bW9kKHhbMl1bM10sIHlbMl1bM10pOworICAgIHJlc3VsdFszXVswXSA9IGZtb2QoeFszXVswXSwg
eVszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZm1vZCh4WzNdWzFdLCB5WzNdWzFdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBmbW9kKHhbM11bMl0sIHlbM11bMl0pOworICAgIHJlc3VsdFszXVsz
XSA9IGZtb2QoeFszXVszXSwgeVszXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworZmxv
YXQgc3RlcChmbG9hdCB5LCBmbG9hdCB4KSB7CisgICAgcmV0dXJuIHggPj0geSA/IDEgOiAwOwor
fQorZmxvYXQgbGRleHAoZmxvYXQgeCwgZmxvYXQgZSkgeworICAgIHJldHVybiB4ICogcG93KDIs
IGUpOworfQorZmxvYXQgZm1vZChmbG9hdCB4LCBmbG9hdCB5KSB7CisgICAgdWludCB3aG9sZSA9
IHVpbnQoeCAvIHkpOworICAgIGZsb2F0IG11bHRpcGxlID0gZmxvYXQod2hvbGUpICogeTsKKyAg
ICByZXR1cm4geCAtIG11bHRpcGxlOworfQorZmxvYXQyIHBvdyhmbG9hdDIgeCwgZmxvYXQyIHkp
IHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHBvdyh4WzBdLCB5WzBdKTsK
KyAgICByZXN1bHRbMV0gPSBwb3coeFsxXSwgeVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2Zsb2F0MyBwb3coZmxvYXQzIHgsIGZsb2F0MyB5KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBwb3coeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gcG93KHhbMV0s
IHlbMV0pOworICAgIHJlc3VsdFsyXSA9IHBvdyh4WzJdLCB5WzJdKTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorZmxvYXQ0IHBvdyhmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKKyAgICBmbG9hdDQgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IHBvdyh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBw
b3coeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gcG93KHhbMl0sIHlbMl0pOworICAgIHJl
c3VsdFszXSA9IHBvdyh4WzNdLCB5WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQy
eDIgcG93KGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVsw
XSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MyBwb3coZmxvYXQyeDMgeCwgZmxvYXQyeDMg
eSkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVsw
XSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1b
MV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJdLCB5WzFdWzJdKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDQgcG93KGZsb2F0Mng0IHgsIGZsb2F0Mng0
IHkpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1b
MF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzBd
WzNdID0gcG93KHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFd
WzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gcG93KHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsx
XVszXSA9IHBvdyh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxv
YXQzeDIgcG93KGZsb2F0M3gyIHgsIGZsb2F0M3gyIHkpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBwb3coeFsx
XVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0p
OworICAgIHJlc3VsdFsyXVswXSA9IHBvdyh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zs
b2F0M3gzIHBvdyhmbG9hdDN4MyB4LCBmbG9hdDN4MyB5KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBwb3coeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhb
MF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IHBvdyh4WzFdWzBdLCB5WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBwb3coeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gcG93KHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IHBvdyh4
WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsx
XSk7CisgICAgcmVzdWx0WzJdWzJdID0gcG93KHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDN4NCBwb3coZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgeworICAg
IGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBwb3coeFswXVswXSwgeVswXVsw
XSk7CisgICAgcmVzdWx0WzBdWzFdID0gcG93KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHBvdyh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBwb3co
eFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gcG93KHhbMV1bMF0sIHlbMV1b
MF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gcG93
KHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IHBvdyh4WzJdWzBdLCB5WzJd
WzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBwb3coeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gcG93KHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IHBv
dyh4WzJdWzNdLCB5WzJdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDIgcG93
KGZsb2F0NHgyIHgsIGZsb2F0NHgyIHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBv
dyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsx
XVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJl
c3VsdFsyXVswXSA9IHBvdyh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBw
b3coeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcG93KHhbM11bMF0sIHlb
M11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IHBvdyh4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDMgcG93KGZsb2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsK
KyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gcG93KHhbMF1bMF0sIHlb
MF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHBvdyh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBwb3coeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
cG93KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHBvdyh4WzFdWzFdLCB5
WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBwb3coeFsxXVsyXSwgeVsxXVsyXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9
IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsyXSwg
eVsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0gcG93KHhbM11bMF0sIHlbM11bMF0pOworICAg
IHJlc3VsdFszXVsxXSA9IHBvdyh4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0g
PSBwb3coeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0
IHBvdyhmbG9hdDR4NCB4LCBmbG9hdDR4NCB5KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHBvdyh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBwb3coeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gcG93KHhbMF1bMl0s
IHlbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHBvdyh4WzBdWzNdLCB5WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBwb3coeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gcG93KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHBvdyh4WzFdWzJd
LCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBwb3coeFsxXVszXSwgeVsxXVszXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gcG93KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFsyXVsx
XSA9IHBvdyh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBwb3coeFsyXVsy
XSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gcG93KHhbMl1bM10sIHlbMl1bM10pOwor
ICAgIHJlc3VsdFszXVswXSA9IHBvdyh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbM11b
MV0gPSBwb3coeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gcG93KHhbM11b
Ml0sIHlbM11bMl0pOworICAgIHJlc3VsdFszXVszXSA9IHBvdyh4WzNdWzNdLCB5WzNdWzNdKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyIHN0ZXAoZmxvYXQyIHgsIGZsb2F0MiB5KSB7
CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzdGVwKHhbMF0sIHlbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IHN0ZXAoeFsxXSwgeVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2Zsb2F0MyBzdGVwKGZsb2F0MyB4LCBmbG9hdDMgeSkgeworICAgIGZsb2F0MyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gc3RlcCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBzdGVwKHhb
MV0sIHlbMV0pOworICAgIHJlc3VsdFsyXSA9IHN0ZXAoeFsyXSwgeVsyXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2Zsb2F0NCBzdGVwKGZsb2F0NCB4LCBmbG9hdDQgeSkgeworICAgIGZsb2F0
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gc3RlcCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRb
MV0gPSBzdGVwKHhbMV0sIHlbMV0pOworICAgIHJlc3VsdFsyXSA9IHN0ZXAoeFsyXSwgeVsyXSk7
CisgICAgcmVzdWx0WzNdID0gc3RlcCh4WzNdLCB5WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorZmxvYXQyeDIgc3RlcChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5KSB7CisgICAgZmxvYXQyeDIg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHN0ZXAoeFswXVswXSwgeVswXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gc3RlcCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBzdGVwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHN0ZXAoeFsxXVsx
XSwgeVsxXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MngzIHN0ZXAoZmxvYXQy
eDMgeCwgZmxvYXQyeDMgeSkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBzdGVwKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHN0ZXAoeFsw
XVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc3RlcCh4WzBdWzJdLCB5WzBdWzJd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBzdGVwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc3Rl
cCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDQgc3Rl
cChmbG9hdDJ4NCB4LCBmbG9hdDJ4NCB5KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IHN0ZXAoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
c3RlcCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzdGVwKHhbMF1bMl0s
IHlbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHN0ZXAoeFswXVszXSwgeVswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gc3RlcCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBzdGVwKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHN0ZXAoeFsx
XVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc3RlcCh4WzFdWzNdLCB5WzFdWzNd
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDIgc3RlcChmbG9hdDN4MiB4LCBmbG9h
dDN4MiB5KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHN0ZXAo
eFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3RlcCh4WzBdWzFdLCB5WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzdGVwKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
c3RlcCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzdGVwKHhbMl1bMV0s
IHlbMl1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MyBzdGVwKGZsb2F0M3gz
IHgsIGZsb2F0M3gzIHkpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gc3RlcCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzdGVwKHhbMF1b
MV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHN0ZXAoeFswXVsyXSwgeVswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gc3RlcCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBzdGVwKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHN0ZXAo
eFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc3RlcCh4WzJdWzBdLCB5WzJd
WzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzdGVwKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJl
c3VsdFsyXVsyXSA9IHN0ZXAoeFsyXVsyXSwgeVsyXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2Zsb2F0M3g0IHN0ZXAoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgeworICAgIGZsb2F0M3g0
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzdGVwKHhbMF1bMF0sIHlbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHN0ZXAoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gc3RlcCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzdGVwKHhbMF1b
M10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHN0ZXAoeFsxXVswXSwgeVsxXVswXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gc3RlcCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBzdGVwKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IHN0ZXAo
eFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc3RlcCh4WzJdWzBdLCB5WzJd
WzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzdGVwKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJl
c3VsdFsyXVsyXSA9IHN0ZXAoeFsyXVsyXSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0g
c3RlcCh4WzJdWzNdLCB5WzJdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDIg
c3RlcChmbG9hdDR4MiB4LCBmbG9hdDR4MiB5KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHN0ZXAoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gc3RlcCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzdGVwKHhbMV1b
MF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gc3RlcCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBzdGVwKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFszXVswXSA9IHN0ZXAo
eFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc3RlcCh4WzNdWzFdLCB5WzNd
WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDMgc3RlcChmbG9hdDR4MyB4LCBm
bG9hdDR4MyB5KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHN0
ZXAoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc3RlcCh4WzBdWzFdLCB5
WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzdGVwKHhbMF1bMl0sIHlbMF1bMl0pOworICAg
IHJlc3VsdFsxXVswXSA9IHN0ZXAoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gc3RlcCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzdGVwKHhbMV1b
Ml0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IHN0ZXAoeFsyXVswXSwgeVsyXVswXSk7
CisgICAgcmVzdWx0WzJdWzFdID0gc3RlcCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRb
Ml1bMl0gPSBzdGVwKHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFszXVswXSA9IHN0ZXAo
eFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc3RlcCh4WzNdWzFdLCB5WzNd
WzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSBzdGVwKHhbM11bMl0sIHlbM11bMl0pOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitmbG9hdDR4NCBzdGVwKGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsK
KyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc3RlcCh4WzBdWzBdLCB5
WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzdGVwKHhbMF1bMV0sIHlbMF1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IHN0ZXAoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gc3RlcCh4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzdGVwKHhbMV1b
MF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gc3RlcCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRb
MV1bM10gPSBzdGVwKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IHN0ZXAo
eFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc3RlcCh4WzJdWzFdLCB5WzJd
WzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzdGVwKHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJl
c3VsdFsyXVszXSA9IHN0ZXAoeFsyXVszXSwgeVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzBdID0g
c3RlcCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzdGVwKHhbM11bMV0s
IHlbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IHN0ZXAoeFszXVsyXSwgeVszXVsyXSk7Cisg
ICAgcmVzdWx0WzNdWzNdID0gc3RlcCh4WzNdWzNdLCB5WzNdWzNdKTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorZmxvYXQyIGxkZXhwKGZsb2F0MiB4LCBmbG9hdDIgeSkgeworICAgIGZsb2F0MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbGRleHAoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFd
ID0gbGRleHAoeFsxXSwgeVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MyBsZGV4
cChmbG9hdDMgeCwgZmxvYXQzIHkpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IGxkZXhwKHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IGxkZXhwKHhbMV0sIHlbMV0p
OworICAgIHJlc3VsdFsyXSA9IGxkZXhwKHhbMl0sIHlbMl0pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDQgbGRleHAoZmxvYXQ0IHgsIGZsb2F0NCB5KSB7CisgICAgZmxvYXQ0IHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSBsZGV4cCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBs
ZGV4cCh4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBsZGV4cCh4WzJdLCB5WzJdKTsKKyAg
ICByZXN1bHRbM10gPSBsZGV4cCh4WzNdLCB5WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
ZmxvYXQyeDIgbGRleHAoZmxvYXQyeDIgeCwgZmxvYXQyeDIgeSkgeworICAgIGZsb2F0MngyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFd
WzFdLCB5WzFdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDMgbGRleHAoZmxv
YXQyeDMgeCwgZmxvYXQyeDMgeSkgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZGV4
cCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsZGV4cCh4WzBdWzJdLCB5
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBsZGV4cCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxv
YXQyeDQgbGRleHAoZmxvYXQyeDQgeCwgZmxvYXQyeDQgeSkgeworICAgIGZsb2F0Mng0IHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBs
ZGV4cCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsZGV4cCh4WzBdWzNd
LCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBsZGV4cCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsZGV4
cCh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDIgbGRl
eHAoZmxvYXQzeDIgeCwgZmxvYXQzeDIgeSkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFd
WzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorZmxvYXQzeDMgbGRleHAoZmxvYXQzeDMgeCwgZmxvYXQzeDMgeSkgeworICAgIGZsb2F0M3gz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBsZGV4cCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4
WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFd
WzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZGV4cCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBsZGV4cCh4WzJd
WzJdLCB5WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDQgbGRleHAoZmxv
YXQzeDQgeCwgZmxvYXQzeDQgeSkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZGV4
cCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsZGV4cCh4WzBdWzJdLCB5
WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsZGV4cCh4WzBdWzNdLCB5WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZGV4cCh4
WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsZGV4cCh4WzFdWzNdLCB5WzFd
WzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0g
PSBsZGV4cCh4WzJdWzJdLCB5WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBsZGV4cCh4WzJd
WzNdLCB5WzJdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDIgbGRleHAoZmxv
YXQ0eDIgeCwgZmxvYXQ0eDIgeSkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBsZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZGV4
cCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5
WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMF0gPSBsZGV4cCh4
WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsZGV4cCh4WzNdWzFdLCB5WzNd
WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDMgbGRleHAoZmxvYXQ0eDMgeCwg
ZmxvYXQ0eDMgeSkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBs
ZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFd
LCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsZGV4cCh4WzBdWzJdLCB5WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBsZGV4cCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZGV4
cCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJdWzBdLCB5
WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBsZGV4cCh4WzJdWzJdLCB5WzJdWzJdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBsZGV4cCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBsZGV4cCh4
WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSBsZGV4cCh4WzNdWzJdLCB5WzNd
WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDQgbGRleHAoZmxvYXQ0eDQgeCwg
ZmxvYXQ0eDQgeSkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBs
ZGV4cCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZGV4cCh4WzBdWzFd
LCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsZGV4cCh4WzBdWzJdLCB5WzBdWzJdKTsK
KyAgICByZXN1bHRbMF1bM10gPSBsZGV4cCh4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBsZGV4cCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsZGV4
cCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZGV4cCh4WzFdWzJdLCB5
WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsZGV4cCh4WzFdWzNdLCB5WzFdWzNdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBsZGV4cCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBsZGV4cCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBsZGV4cCh4
WzJdWzJdLCB5WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBsZGV4cCh4WzJdWzNdLCB5WzJd
WzNdKTsKKyAgICByZXN1bHRbM11bMF0gPSBsZGV4cCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSBsZGV4cCh4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0g
PSBsZGV4cCh4WzNdWzJdLCB5WzNdWzJdKTsKKyAgICByZXN1bHRbM11bM10gPSBsZGV4cCh4WzNd
WzNdLCB5WzNdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyIGZtb2QoZmxvYXQy
IHgsIGZsb2F0MiB5KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBmbW9k
KHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IGZtb2QoeFsxXSwgeVsxXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2Zsb2F0MyBmbW9kKGZsb2F0MyB4LCBmbG9hdDMgeSkgeworICAgIGZs
b2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZm1vZCh4WzBdLCB5WzBdKTsKKyAgICByZXN1
bHRbMV0gPSBmbW9kKHhbMV0sIHlbMV0pOworICAgIHJlc3VsdFsyXSA9IGZtb2QoeFsyXSwgeVsy
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NCBmbW9kKGZsb2F0NCB4LCBmbG9hdDQg
eSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZm1vZCh4WzBdLCB5WzBd
KTsKKyAgICByZXN1bHRbMV0gPSBmbW9kKHhbMV0sIHlbMV0pOworICAgIHJlc3VsdFsyXSA9IGZt
b2QoeFsyXSwgeVsyXSk7CisgICAgcmVzdWx0WzNdID0gZm1vZCh4WzNdLCB5WzNdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDIgZm1vZChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5KSB7
CisgICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwg
eVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsx
XSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0
MngzIGZtb2QoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSkgeworICAgIGZsb2F0MngzIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZm1vZCh4
WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1b
MF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorZmxvYXQyeDQgZm1vZChmbG9hdDJ4NCB4LCBmbG9hdDJ4NCB5KSB7CisgICAgZmxvYXQyeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBmbW9kKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZtb2QoeFswXVsz
XSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZm1vZCh4
WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDIgZm1vZChm
bG9hdDN4MiB4LCBmbG9hdDN4MiB5KSB7CisgICAgZmxvYXQzeDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1v
ZCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbW9kKHhbMV1bMF0sIHlb
MV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAg
cmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBmbW9kKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4
MyBmbW9kKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gZm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBmbW9kKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFsw
XVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZm1vZCh4WzFdWzBdLCB5WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbW9kKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3Vs
dFsxXVsyXSA9IGZtb2QoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1v
ZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0sIHlb
Ml1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZtb2QoeFsyXVsyXSwgeVsyXVsyXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3g0IGZtb2QoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkg
eworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmbW9kKHhbMF1bMF0s
IHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtb2QoeFswXVsxXSwgeVswXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gZm1vZCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSBmbW9kKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsx
XVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbW9kKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3Vs
dFsxXVszXSA9IGZtb2QoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1v
ZCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0sIHlb
Ml1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZtb2QoeFsyXVsyXSwgeVsyXVsyXSk7CisgICAg
cmVzdWx0WzJdWzNdID0gZm1vZCh4WzJdWzNdLCB5WzJdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorZmxvYXQ0eDIgZm1vZChmbG9hdDR4MiB4LCBmbG9hdDR4MiB5KSB7CisgICAgZmxvYXQ0
eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsx
XVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1vZCh4WzJdWzBdLCB5WzJdWzBd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbW9kKHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJlc3Vs
dFszXVswXSA9IGZtb2QoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZm1v
ZCh4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDMgZm1v
ZChmbG9hdDR4MyB4LCBmbG9hdDR4MyB5KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IGZtb2QoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Zm1vZCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbW9kKHhbMF1bMl0s
IHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGZtb2QoeFsxXVswXSwgeVsxXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gZm1vZCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBmbW9kKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGZtb2QoeFsy
XVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1vZCh4WzJdWzFdLCB5WzJdWzFd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbW9kKHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJlc3Vs
dFszXVswXSA9IGZtb2QoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gZm1v
ZCh4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSBmbW9kKHhbM11bMl0sIHlb
M11bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4NCBmbW9kKGZsb2F0NHg0IHgs
IGZsb2F0NHg0IHkpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
Zm1vZCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbW9kKHhbMF1bMV0s
IHlbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtb2QoeFswXVsyXSwgeVswXVsyXSk7Cisg
ICAgcmVzdWx0WzBdWzNdID0gZm1vZCh4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBmbW9kKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtb2QoeFsx
XVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1vZCh4WzFdWzJdLCB5WzFdWzJd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBmbW9kKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJlc3Vs
dFsyXVswXSA9IGZtb2QoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1v
ZCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbW9kKHhbMl1bMl0sIHlb
Ml1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IGZtb2QoeFsyXVszXSwgeVsyXVszXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gZm1vZCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBmbW9kKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGZtb2QoeFszXVsy
XSwgeVszXVsyXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZm1vZCh4WzNdWzNdLCB5WzNdWzNdKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorCitoYWxmIHNtb290aHN0ZXAoaGFsZiBlZGdlMCwgaGFs
ZiBlZGdlMSwgaGFsZiB4KSB7CisgICAgaGFsZiB0ID0gY2xhbXAoKHggLSBlZGdlMCkgLyAoZWRn
ZTEgLSBlZGdlMCksIDAsIDEpOworICAgIHJldHVybiB0ICogdCAqICgzIC0gMiAqIHQpOworfQor
aGFsZiBsZXJwKGhhbGYgeCwgaGFsZiB5LCBoYWxmIHMpIHsKKyAgICByZXR1cm4geCAqICgxIC0g
cykgKyB5ICogczsKK30KK2hhbGYgZm1hKGhhbGYgeCwgaGFsZiB5LCBoYWxmIHopIHsKKyAgICBy
ZXR1cm4geCAqIHkgKyB6OworfQoraGFsZiBtYWQoaGFsZiB4LCBoYWxmIHksIGhhbGYgeikgewor
ICAgIHJldHVybiB4ICogeSArIHo7Cit9CitoYWxmMiBzbW9vdGhzdGVwKGhhbGYyIHgsIGhhbGYy
IHksIGhhbGYyIHopIHsKKyAgICBoYWxmMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gc21vb3Ro
c3RlcCh4WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBzbW9vdGhzdGVwKHhbMV0s
IHlbMV0sIHpbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMyBzbW9vdGhzdGVwKGhh
bGYzIHgsIGhhbGYzIHksIGhhbGYzIHopIHsKKyAgICBoYWxmMyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gc21vb3Roc3RlcCh4WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBzbW9v
dGhzdGVwKHhbMV0sIHlbMV0sIHpbMV0pOworICAgIHJlc3VsdFsyXSA9IHNtb290aHN0ZXAoeFsy
XSwgeVsyXSwgelsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0IHNtb290aHN0ZXAo
aGFsZjQgeCwgaGFsZjQgeSwgaGFsZjQgeikgeworICAgIGhhbGY0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBzbW9vdGhzdGVwKHhbMF0sIHlbMF0sIHpbMF0pOworICAgIHJlc3VsdFsxXSA9IHNt
b290aHN0ZXAoeFsxXSwgeVsxXSwgelsxXSk7CisgICAgcmVzdWx0WzJdID0gc21vb3Roc3RlcCh4
WzJdLCB5WzJdLCB6WzJdKTsKKyAgICByZXN1bHRbM10gPSBzbW9vdGhzdGVwKHhbM10sIHlbM10s
IHpbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngyIHNtb290aHN0ZXAoaGFsZjJ4
MiB4LCBoYWxmMngyIHksIGhhbGYyeDIgeikgeworICAgIGhhbGYyeDIgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDMgc21vb3Roc3RlcChoYWxmMngzIHgsIGhh
bGYyeDMgeSwgaGFsZjJ4MyB6KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgc21vb3Roc3RlcChoYWxmMng0IHgsIGhhbGYy
eDQgeSwgaGFsZjJ4NCB6KSB7CisgICAgaGFsZjJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFsw
XVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gc21vb3Roc3RlcCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBzbW9vdGhzdGVwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gyIHNtb290aHN0ZXAoaGFsZjN4MiB4LCBoYWxm
M3gyIHksIGhhbGYzeDIgeikgeworICAgIGhhbGYzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gzIHNtb290aHN0ZXAoaGFsZjN4MyB4LCBoYWxmM3gz
IHksIGhhbGYzeDMgeikgeworICAgIGhhbGYzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsx
XVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJl
c3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3g0IHNtb290aHN0ZXAoaGFsZjN4NCB4LCBoYWxm
M3g0IHksIGhhbGYzeDQgeikgeworICAgIGhhbGYzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IHNtb290aHN0ZXAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAg
IHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7Cisg
ICAgcmVzdWx0WzFdWzNdID0gc21vb3Roc3RlcCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0p
OworICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsx
XSk7CisgICAgcmVzdWx0WzJdWzJdID0gc21vb3Roc3RlcCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJd
WzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzbW9vdGhzdGVwKHhbMl1bM10sIHlbMl1bM10sIHpb
Ml1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHgyIHNtb290aHN0ZXAoaGFsZjR4
MiB4LCBoYWxmNHgyIHksIGhhbGY0eDIgeikgeworICAgIGhhbGY0eDIgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1b
MV0pOworICAgIHJlc3VsdFszXVswXSA9IHNtb290aHN0ZXAoeFszXVswXSwgeVszXVswXSwgelsz
XVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc21vb3Roc3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6
WzNdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4MyBzbW9vdGhzdGVwKGhhbGY0
eDMgeCwgaGFsZjR4MyB5LCBoYWxmNHgzIHopIHsKKyAgICBoYWxmNHgzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsx
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFd
WzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzbW9vdGhzdGVwKHhbMl1bMF0sIHlbMl1bMF0sIHpb
Ml1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNtb290aHN0ZXAoeFsyXVsxXSwgeVsyXVsxXSwg
elsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc21vb3Roc3RlcCh4WzJdWzJdLCB5WzJdWzJd
LCB6WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzbW9vdGhzdGVwKHhbM11bMF0sIHlbM11b
MF0sIHpbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IHNtb290aHN0ZXAoeFszXVsxXSwgeVsz
XVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gc21vb3Roc3RlcCh4WzNdWzJdLCB5
WzNdWzJdLCB6WzNdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4NCBzbW9vdGhz
dGVwKGhhbGY0eDQgeCwgaGFsZjR4NCB5LCBoYWxmNHg0IHopIHsKKyAgICBoYWxmNHg0IHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelsw
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6
WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzbW9vdGhzdGVwKHhbMF1bM10sIHlbMF1bM10s
IHpbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVsw
XSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFd
WzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlb
MV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IHNtb290aHN0ZXAoeFsxXVszXSwg
eVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc21vb3Roc3RlcCh4WzJdWzBd
LCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVwKHhbMl1b
MV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNtb290aHN0ZXAoeFsy
XVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gc21vb3Roc3RlcCh4
WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzbW9vdGhzdGVw
KHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IHNtb290aHN0
ZXAoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gc21vb3Ro
c3RlcCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKKyAgICByZXN1bHRbM11bM10gPSBzbW9v
dGhzdGVwKHhbM11bM10sIHlbM11bM10sIHpbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitoYWxmMiBsZXJwKGhhbGYyIHgsIGhhbGYyIHksIGhhbGYyIHopIHsKKyAgICBoYWxmMiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0gbGVycCh4WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRb
MV0gPSBsZXJwKHhbMV0sIHlbMV0sIHpbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxm
MyBsZXJwKGhhbGYzIHgsIGhhbGYzIHksIGhhbGYzIHopIHsKKyAgICBoYWxmMyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gbGVycCh4WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBs
ZXJwKHhbMV0sIHlbMV0sIHpbMV0pOworICAgIHJlc3VsdFsyXSA9IGxlcnAoeFsyXSwgeVsyXSwg
elsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0IGxlcnAoaGFsZjQgeCwgaGFsZjQg
eSwgaGFsZjQgeikgeworICAgIGhhbGY0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBsZXJwKHhb
MF0sIHlbMF0sIHpbMF0pOworICAgIHJlc3VsdFsxXSA9IGxlcnAoeFsxXSwgeVsxXSwgelsxXSk7
CisgICAgcmVzdWx0WzJdID0gbGVycCh4WzJdLCB5WzJdLCB6WzJdKTsKKyAgICByZXN1bHRbM10g
PSBsZXJwKHhbM10sIHlbM10sIHpbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngy
IGxlcnAoaGFsZjJ4MiB4LCBoYWxmMngyIHksIGhhbGYyeDIgeikgeworICAgIGhhbGYyeDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJl
c3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYyeDMgbGVycChoYWxmMngzIHgsIGhhbGYyeDMgeSwgaGFsZjJ4MyB6
KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4WzBdWzBd
LCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1bMV0sIHlb
MF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwgeVswXVsy
XSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5WzFdWzBdLCB6
WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1b
MV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgbGVycChoYWxmMng0IHgsIGhhbGYyeDQg
eSwgaGFsZjJ4NCB6KSB7CisgICAgaGFsZjJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
bGVycCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZXJw
KHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFsw
XVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGVycCh4WzBdWzNd
LCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlb
MV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsx
XSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6
WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBsZXJwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1b
M10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gyIGxlcnAoaGFsZjN4MiB4LCBoYWxm
M3gyIHksIGhhbGYzeDIgeikgeworICAgIGhhbGYzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsZXJw
KHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsx
XVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBd
LCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlb
Ml1bMV0sIHpbMl1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gzIGxlcnAoaGFs
ZjN4MyB4LCBoYWxmM3gzIHksIGhhbGYzeDMgeikgeworICAgIGhhbGYzeDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVsw
XSA9IGxlcnAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
bGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZXJw
KHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGxlcnAoeFsy
XVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFd
LCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBsZXJwKHhbMl1bMl0sIHlb
Ml1bMl0sIHpbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3g0IGxlcnAoaGFs
ZjN4NCB4LCBoYWxmM3g0IHksIGhhbGYzeDQgeikgeworICAgIGhhbGYzeDQgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFswXVsz
XSA9IGxlcnAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0g
bGVycCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsZXJw
KHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsx
XVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbGVycCh4WzFdWzNd
LCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0sIHlb
Ml1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsyXVsx
XSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbGVycCh4WzJdWzJdLCB5WzJdWzJdLCB6
WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBsZXJwKHhbMl1bM10sIHlbMl1bM10sIHpbMl1b
M10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHgyIGxlcnAoaGFsZjR4MiB4LCBoYWxm
NHgyIHksIGhhbGY0eDIgeikgeworICAgIGhhbGY0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsZXJw
KHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsx
XVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBd
LCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlb
Ml1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFszXVswXSA9IGxlcnAoeFszXVswXSwgeVszXVsw
XSwgelszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gbGVycCh4WzNdWzFdLCB5WzNdWzFdLCB6
WzNdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4MyBsZXJwKGhhbGY0eDMgeCwg
aGFsZjR4MyB5LCBoYWxmNHgzIHopIHsKKyAgICBoYWxmNHgzIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBsZXJwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
bGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsZXJw
KHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsx
XVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJd
LCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBsZXJwKHhbMl1bMF0sIHlb
Ml1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGxlcnAoeFsyXVsxXSwgeVsyXVsx
XSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbGVycCh4WzJdWzJdLCB5WzJdWzJdLCB6
WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMF0gPSBsZXJwKHhbM11bMF0sIHlbM11bMF0sIHpbM11b
MF0pOworICAgIHJlc3VsdFszXVsxXSA9IGxlcnAoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7
CisgICAgcmVzdWx0WzNdWzJdID0gbGVycCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4NCBsZXJwKGhhbGY0eDQgeCwgaGFsZjR4NCB5LCBo
YWxmNHg0IHopIHsKKyAgICBoYWxmNHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBsZXJw
KHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAoeFsw
XVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBdWzJd
LCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1bM10sIHlb
MF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsxXVsw
XSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFdLCB6
WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1b
Ml0pOworICAgIHJlc3VsdFsxXVszXSA9IGxlcnAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJl
c3VsdFsyXVsyXSA9IGxlcnAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CisgICAgcmVzdWx0
WzJdWzNdID0gbGVycCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBsZXJwKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9
IGxlcnAoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbGVy
cCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKKyAgICByZXN1bHRbM11bM10gPSBsZXJwKHhb
M11bM10sIHlbM11bM10sIHpbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMiBm
bWEoaGFsZjIgeCwgaGFsZjIgeSwgaGFsZjIgeikgeworICAgIGhhbGYyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBmbWEoeFswXSwgeVswXSwgelswXSk7CisgICAgcmVzdWx0WzFdID0gZm1hKHhb
MV0sIHlbMV0sIHpbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMyBmbWEoaGFsZjMg
eCwgaGFsZjMgeSwgaGFsZjMgeikgeworICAgIGhhbGYzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBmbWEoeFswXSwgeVswXSwgelswXSk7CisgICAgcmVzdWx0WzFdID0gZm1hKHhbMV0sIHlbMV0s
IHpbMV0pOworICAgIHJlc3VsdFsyXSA9IGZtYSh4WzJdLCB5WzJdLCB6WzJdKTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQoraGFsZjQgZm1hKGhhbGY0IHgsIGhhbGY0IHksIGhhbGY0IHopIHsKKyAg
ICBoYWxmNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZm1hKHhbMF0sIHlbMF0sIHpbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGZtYSh4WzFdLCB5WzFdLCB6WzFdKTsKKyAgICByZXN1bHRbMl0gPSBm
bWEoeFsyXSwgeVsyXSwgelsyXSk7CisgICAgcmVzdWx0WzNdID0gZm1hKHhbM10sIHlbM10sIHpb
M10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngyIGZtYShoYWxmMngyIHgsIGhhbGYy
eDIgeSwgaGFsZjJ4MiB6KSB7CisgICAgaGFsZjJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZt
YSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsx
XVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0s
IHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngzIGZtYSho
YWxmMngzIHgsIGhhbGYyeDMgeSwgaGFsZjJ4MyB6KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZt
YSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsx
XVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQg
Zm1hKGhhbGYyeDQgeCwgaGFsZjJ4NCB5LCBoYWxmMng0IHopIHsKKyAgICBoYWxmMng0IHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBmbWEoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZt
YSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsx
XVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gZm1hKHhbMV1bM10s
IHlbMV1bM10sIHpbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gyIGZtYSho
YWxmM3gyIHgsIGhhbGYzeDIgeSwgaGFsZjN4MiB6KSB7CisgICAgaGFsZjN4MiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IGZt
YSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsy
XVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDMg
Zm1hKGhhbGYzeDMgeCwgaGFsZjN4MyB5LCBoYWxmM3gzIHopIHsKKyAgICBoYWxmM3gzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZt
YSh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbWEoeFsy
XVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0s
IHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJd
WzJdLCB6WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4NCBmbWEoaGFsZjN4
NCB4LCBoYWxmM3g0IHksIGhhbGYzeDQgeikgeworICAgIGhhbGYzeDQgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gZm1hKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGZt
YSh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsx
XVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0s
IHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtYSh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbWEoeFsxXVszXSwgeVsxXVszXSwg
elsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1b
MF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBmbWEoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CisgICAg
cmVzdWx0WzJdWzNdID0gZm1hKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitoYWxmNHgyIGZtYShoYWxmNHgyIHgsIGhhbGY0eDIgeSwgaGFsZjR4MiB6
KSB7CisgICAgaGFsZjR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0s
IHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBd
WzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwg
elsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1b
MV0pOworICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gZm1hKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3Vs
dFszXVsxXSA9IGZtYSh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQoraGFsZjR4MyBmbWEoaGFsZjR4MyB4LCBoYWxmNHgzIHksIGhhbGY0eDMgeikgewor
ICAgIGhhbGY0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBd
WzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwg
elswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZm1hKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1b
Ml0pOworICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3Vs
dFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBmbWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0g
Zm1hKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOworICAgIHJlc3VsdFszXVswXSA9IGZtYSh4
WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBmbWEoeFszXVsx
XSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gZm1hKHhbM11bMl0sIHlb
M11bMl0sIHpbM11bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHg0IGZtYShoYWxm
NHg0IHgsIGhhbGY0eDQgeSwgaGFsZjR4NCB6KSB7CisgICAgaGFsZjR4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMF1b
Ml0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
Zm1hKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4
WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsx
XSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlb
MV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGZtYSh4WzFdWzNdLCB5WzFdWzNd
LCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBmbWEoeFsyXVswXSwgeVsyXVswXSwgelsy
XVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gZm1hKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0p
OworICAgIHJlc3VsdFsyXVsyXSA9IGZtYSh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKKyAg
ICByZXN1bHRbMl1bM10gPSBmbWEoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gZm1hKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFsz
XVsxXSA9IGZtYSh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0g
PSBmbWEoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzNdWzNdID0gZm1h
KHhbM11bM10sIHlbM11bM10sIHpbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxm
MiBtYWQoaGFsZjIgeCwgaGFsZjIgeSwgaGFsZjIgeikgeworICAgIGhhbGYyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBtYWQoeFswXSwgeVswXSwgelswXSk7CisgICAgcmVzdWx0WzFdID0gbWFk
KHhbMV0sIHlbMV0sIHpbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMyBtYWQoaGFs
ZjMgeCwgaGFsZjMgeSwgaGFsZjMgeikgeworICAgIGhhbGYzIHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBtYWQoeFswXSwgeVswXSwgelswXSk7CisgICAgcmVzdWx0WzFdID0gbWFkKHhbMV0sIHlb
MV0sIHpbMV0pOworICAgIHJlc3VsdFsyXSA9IG1hZCh4WzJdLCB5WzJdLCB6WzJdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQoraGFsZjQgbWFkKGhhbGY0IHgsIGhhbGY0IHksIGhhbGY0IHopIHsK
KyAgICBoYWxmNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbWFkKHhbMF0sIHlbMF0sIHpbMF0p
OworICAgIHJlc3VsdFsxXSA9IG1hZCh4WzFdLCB5WzFdLCB6WzFdKTsKKyAgICByZXN1bHRbMl0g
PSBtYWQoeFsyXSwgeVsyXSwgelsyXSk7CisgICAgcmVzdWx0WzNdID0gbWFkKHhbM10sIHlbM10s
IHpbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngyIG1hZChoYWxmMngyIHgsIGhh
bGYyeDIgeSwgaGFsZjJ4MiB6KSB7CisgICAgaGFsZjJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzBdID0gbWFkKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtYWQo
eFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1b
MV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngzIG1h
ZChoYWxmMngzIHgsIGhhbGYyeDMgeSwgaGFsZjJ4MyB6KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gbWFkKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBtYWQoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9
IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYWQo
eFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYy
eDQgbWFkKGhhbGYyeDQgeCwgaGFsZjJ4NCB5LCBoYWxmMng0IHopIHsKKyAgICBoYWxmMng0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1
bHRbMF1bM10gPSBtYWQoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9
IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYWQo
eFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWFkKHhbMV1b
M10sIHlbMV1bM10sIHpbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gyIG1h
ZChoYWxmM3gyIHgsIGhhbGYzeDIgeSwgaGFsZjN4MiB6KSB7CisgICAgaGFsZjN4MiByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gbWFkKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9
IG1hZCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYWQo
eFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYz
eDMgbWFkKGhhbGYzeDMgeCwgaGFsZjN4MyB5LCBoYWxmM3gzIHopIHsKKyAgICBoYWxmM3gzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9
IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtYWQo
eFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWFkKHhbMl1b
MV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IG1hZCh4WzJdWzJdLCB5
WzJdWzJdLCB6WzJdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4NCBtYWQoaGFs
ZjN4NCB4LCBoYWxmM3g0IHksIGhhbGYzeDQgeikgeworICAgIGhhbGYzeDQgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9
IG1hZCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtYWQo
eFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1b
MV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5
WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBtYWQoeFsxXVszXSwgeVsxXVsz
XSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1bMF0sIHpb
Ml1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Cisg
ICAgcmVzdWx0WzJdWzNdID0gbWFkKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitoYWxmNHgyIG1hZChoYWxmNHgyIHgsIGhhbGY0eDIgeSwgaGFsZjR4
MiB6KSB7CisgICAgaGFsZjR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWFkKHhbMF1b
MF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5
WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsxXVsw
XSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpb
MV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IG1hZCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7Cisg
ICAgcmVzdWx0WzNdWzBdID0gbWFkKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJl
c3VsdFszXVsxXSA9IG1hZCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQoraGFsZjR4MyBtYWQoaGFsZjR4MyB4LCBoYWxmNHgzIHksIGhhbGY0eDMgeikg
eworICAgIGhhbGY0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5
WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsx
XSwgelswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpb
MF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IG1hZCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gbWFkKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJl
c3VsdFsyXVswXSA9IG1hZCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gbWFkKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOworICAgIHJlc3VsdFszXVswXSA9IG1h
ZCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBtYWQoeFsz
XVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbWFkKHhbM11bMl0s
IHlbM11bMl0sIHpbM11bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHg0IG1hZCho
YWxmNHg0IHgsIGhhbGY0eDQgeSwgaGFsZjR4NCB6KSB7CisgICAgaGFsZjR4NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gbWFkKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBtYWQoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNd
ID0gbWFkKHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IG1h
ZCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsx
XVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWFkKHhbMV1bMl0s
IHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IG1hZCh4WzFdWzNdLCB5WzFd
WzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtYWQoeFsyXVswXSwgeVsyXVswXSwg
elsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWFkKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1b
MV0pOworICAgIHJlc3VsdFsyXVsyXSA9IG1hZCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsK
KyAgICByZXN1bHRbMl1bM10gPSBtYWQoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gbWFkKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3Vs
dFszXVsxXSA9IG1hZCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbM11b
Ml0gPSBtYWQoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzNdWzNdID0g
bWFkKHhbM11bM10sIHlbM11bM10sIHpbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CisK
K2Zsb2F0IHNtb290aHN0ZXAoZmxvYXQgZWRnZTAsIGZsb2F0IGVkZ2UxLCBmbG9hdCB4KSB7Cisg
ICAgZmxvYXQgdCA9IGNsYW1wKCh4IC0gZWRnZTApIC8gKGVkZ2UxIC0gZWRnZTApLCAwLCAxKTsK
KyAgICByZXR1cm4gdCAqIHQgKiAoMyAtIDIgKiB0KTsKK30KK2Zsb2F0IGxlcnAoZmxvYXQgeCwg
ZmxvYXQgeSwgZmxvYXQgcykgeworICAgIHJldHVybiB4ICogKDEgLSBzKSArIHkgKiBzOworfQor
ZmxvYXQgZm1hKGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHopIHsKKyAgICByZXR1cm4geCAqIHkg
KyB6OworfQorZmxvYXQgbWFkKGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHopIHsKKyAgICByZXR1
cm4geCAqIHkgKyB6OworfQorZmxvYXQyIHNtb290aHN0ZXAoZmxvYXQyIHgsIGZsb2F0MiB5LCBm
bG9hdDIgeikgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gc21vb3Roc3Rl
cCh4WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBzbW9vdGhzdGVwKHhbMV0sIHlb
MV0sIHpbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgc21vb3Roc3RlcChmbG9h
dDMgeCwgZmxvYXQzIHksIGZsb2F0MyB6KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBzbW9vdGhzdGVwKHhbMF0sIHlbMF0sIHpbMF0pOworICAgIHJlc3VsdFsxXSA9IHNt
b290aHN0ZXAoeFsxXSwgeVsxXSwgelsxXSk7CisgICAgcmVzdWx0WzJdID0gc21vb3Roc3RlcCh4
WzJdLCB5WzJdLCB6WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0IHNtb290aHN0
ZXAoZmxvYXQ0IHgsIGZsb2F0NCB5LCBmbG9hdDQgeikgeworICAgIGZsb2F0NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gc21vb3Roc3RlcCh4WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRb
MV0gPSBzbW9vdGhzdGVwKHhbMV0sIHlbMV0sIHpbMV0pOworICAgIHJlc3VsdFsyXSA9IHNtb290
aHN0ZXAoeFsyXSwgeVsyXSwgelsyXSk7CisgICAgcmVzdWx0WzNdID0gc21vb3Roc3RlcCh4WzNd
LCB5WzNdLCB6WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDIgc21vb3Roc3Rl
cChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5LCBmbG9hdDJ4MiB6KSB7CisgICAgZmxvYXQyeDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelsw
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0s
IHpbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsx
XSwgelsxXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MngzIHNtb290aHN0ZXAo
ZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSwgZmxvYXQyeDMgeikgeworICAgIGZsb2F0MngzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFswXVsxXSwgeVswXVsxXSwgelsw
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4WzBdWzJdLCB5WzBdWzJdLCB6
WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0s
IHpbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsx
XSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFd
WzJdLCB6WzFdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDQgc21vb3Roc3Rl
cChmbG9hdDJ4NCB4LCBmbG9hdDJ4NCB5LCBmbG9hdDJ4NCB6KSB7CisgICAgZmxvYXQyeDQgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelsw
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6
WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0s
IHpbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNtb290aHN0ZXAoeFswXVszXSwgeVswXVsz
XSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBdLCB5WzFd
WzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsxXVsyXSwg
eVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc21vb3Roc3RlcCh4WzFdWzNd
LCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDIgc21v
b3Roc3RlcChmbG9hdDN4MiB4LCBmbG9hdDN4MiB5LCBmbG9hdDN4MiB6KSB7CisgICAgZmxvYXQz
eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVsw
XSwgelswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBd
WzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlb
MV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwg
eVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc21vb3Roc3RlcCh4WzJdWzBd
LCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVwKHhbMl1b
MV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MyBz
bW9vdGhzdGVwKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHksIGZsb2F0M3gzIHopIHsKKyAgICBmbG9h
dDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBd
WzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlb
MF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwg
eVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc21vb3Roc3RlcCh4WzFdWzBd
LCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzbW9vdGhzdGVwKHhbMV1b
MV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNtb290aHN0ZXAoeFsx
XVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gc21vb3Roc3RlcCh4
WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBzbW9vdGhzdGVw
KHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IHNtb290aHN0
ZXAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zs
b2F0M3g0IHNtb290aHN0ZXAoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSwgZmxvYXQzeDQgeikgewor
ICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzbW9vdGhzdGVwKHhbMF1b
MF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNtb290aHN0ZXAoeFsw
XVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc21vb3Roc3RlcCh4
WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzbW9vdGhzdGVw
KHhbMF1bM10sIHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHNtb290aHN0
ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc21vb3Ro
c3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzbW9v
dGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IHNt
b290aHN0ZXAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
c21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0g
PSBzbW9vdGhzdGVwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFsyXVsy
XSA9IHNtb290aHN0ZXAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CisgICAgcmVzdWx0WzJd
WzNdID0gc21vb3Roc3RlcCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorZmxvYXQ0eDIgc21vb3Roc3RlcChmbG9hdDR4MiB4LCBmbG9hdDR4MiB5LCBm
bG9hdDR4MiB6KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNt
b290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
c21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsxXVsx
XSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gc21vb3Roc3RlcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBzbW9vdGhzdGVwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3Vs
dFszXVswXSA9IHNtb290aHN0ZXAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAgcmVz
dWx0WzNdWzFdID0gc21vb3Roc3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDMgc21vb3Roc3RlcChmbG9hdDR4MyB4LCBmbG9hdDR4
MyB5LCBmbG9hdDR4MyB6KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IHNtb290aHN0ZXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gc21vb3Roc3RlcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBzbW9vdGhzdGVwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3Vs
dFsxXVswXSA9IHNtb290aHN0ZXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gc21vb3Roc3RlcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBzbW9vdGhzdGVwKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAg
IHJlc3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsK
KyAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0p
OworICAgIHJlc3VsdFszXVswXSA9IHNtb290aHN0ZXAoeFszXVswXSwgeVszXVswXSwgelszXVsw
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gc21vb3Roc3RlcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNd
WzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSBzbW9vdGhzdGVwKHhbM11bMl0sIHlbM11bMl0sIHpb
M11bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4NCBzbW9vdGhzdGVwKGZsb2F0
NHg0IHgsIGZsb2F0NHg0IHksIGZsb2F0NHg0IHopIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gc21vb3Roc3RlcCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBzbW9vdGhzdGVwKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IHNtb290aHN0ZXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsy
XSk7CisgICAgcmVzdWx0WzBdWzNdID0gc21vb3Roc3RlcCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzbW9vdGhzdGVwKHhbMV1bMF0sIHlbMV1bMF0sIHpb
MV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNtb290aHN0ZXAoeFsxXVsxXSwgeVsxXVsxXSwg
elsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc21vb3Roc3RlcCh4WzFdWzJdLCB5WzFdWzJd
LCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzbW9vdGhzdGVwKHhbMV1bM10sIHlbMV1b
M10sIHpbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IHNtb290aHN0ZXAoeFsyXVswXSwgeVsy
XVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc21vb3Roc3RlcCh4WzJdWzFdLCB5
WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzbW9vdGhzdGVwKHhbMl1bMl0s
IHlbMl1bMl0sIHpbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IHNtb290aHN0ZXAoeFsyXVsz
XSwgeVsyXVszXSwgelsyXVszXSk7CisgICAgcmVzdWx0WzNdWzBdID0gc21vb3Roc3RlcCh4WzNd
WzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBzbW9vdGhzdGVwKHhb
M11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IHNtb290aHN0ZXAo
eFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzNdWzNdID0gc21vb3Roc3Rl
cCh4WzNdWzNdLCB5WzNdWzNdLCB6WzNdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxv
YXQyIGxlcnAoZmxvYXQyIHgsIGZsb2F0MiB5LCBmbG9hdDIgeikgeworICAgIGZsb2F0MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0gbGVycCh4WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRb
MV0gPSBsZXJwKHhbMV0sIHlbMV0sIHpbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDMgbGVycChmbG9hdDMgeCwgZmxvYXQzIHksIGZsb2F0MyB6KSB7CisgICAgZmxvYXQzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSBsZXJwKHhbMF0sIHlbMF0sIHpbMF0pOworICAgIHJlc3VsdFsx
XSA9IGxlcnAoeFsxXSwgeVsxXSwgelsxXSk7CisgICAgcmVzdWx0WzJdID0gbGVycCh4WzJdLCB5
WzJdLCB6WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0IGxlcnAoZmxvYXQ0IHgs
IGZsb2F0NCB5LCBmbG9hdDQgeikgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gbGVycCh4WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBsZXJwKHhbMV0sIHlb
MV0sIHpbMV0pOworICAgIHJlc3VsdFsyXSA9IGxlcnAoeFsyXSwgeVsyXSwgelsyXSk7CisgICAg
cmVzdWx0WzNdID0gbGVycCh4WzNdLCB5WzNdLCB6WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorZmxvYXQyeDIgbGVycChmbG9hdDJ4MiB4LCBmbG9hdDJ4MiB5LCBmbG9hdDJ4MiB6KSB7Cisg
ICAgZmxvYXQyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVsw
XVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFd
LCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpb
MV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsx
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MngzIGxlcnAoZmxvYXQyeDMgeCwgZmxv
YXQyeDMgeSwgZmxvYXQyeDMgeikgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBsZXJwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGxlcnAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
bGVycCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsZXJw
KHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsx
XVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJd
LCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDQgbGVy
cChmbG9hdDJ4NCB4LCBmbG9hdDJ4NCB5LCBmbG9hdDJ4NCB6KSB7CisgICAgZmxvYXQyeDQgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBsZXJwKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJl
c3VsdFswXVszXSA9IGxlcnAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9
IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbGVy
cCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxv
YXQzeDIgbGVycChmbG9hdDN4MiB4LCBmbG9hdDN4MiB5LCBmbG9hdDN4MiB6KSB7CisgICAgZmxv
YXQzeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFswXVswXSwgeVswXVswXSwg
elswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0p
OworICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICBy
ZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDN4MyBsZXJwKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHksIGZsb2F0
M3gzIHopIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4
WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1b
MV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwg
eVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbGVycCh4WzFdWzBdLCB5WzFd
WzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBsZXJwKHhbMV1bMV0sIHlbMV1bMV0s
IHpbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGxlcnAoeFsxXVsyXSwgeVsxXVsyXSwgelsx
XVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGxlcnAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3g0IGxlcnAoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSwg
ZmxvYXQzeDQgeikgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBs
ZXJwKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGxlcnAo
eFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbGVycCh4WzBd
WzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBsZXJwKHhbMF1bM10s
IHlbMF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVswXSwgeVsx
XVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5WzFdWzFd
LCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1bMl0sIHpb
MV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGxlcnAoeFsxXVszXSwgeVsxXVszXSwgelsxXVsz
XSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAg
IHJlc3VsdFsyXVsyXSA9IGxlcnAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CisgICAgcmVz
dWx0WzJdWzNdID0gbGVycCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorZmxvYXQ0eDIgbGVycChmbG9hdDR4MiB4LCBmbG9hdDR4MiB5LCBmbG9hdDR4
MiB6KSB7CisgICAgZmxvYXQ0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGxlcnAoeFsw
XVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGVycCh4WzBdWzFd
LCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlb
MV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsx
XSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbGVycCh4WzJdWzBdLCB5WzJdWzBdLCB6
WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBsZXJwKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1b
MV0pOworICAgIHJlc3VsdFszXVswXSA9IGxlcnAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gbGVycCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDMgbGVycChmbG9hdDR4MyB4LCBmbG9hdDR4MyB5
LCBmbG9hdDR4MyB6KSB7CisgICAgZmxvYXQ0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGxlcnAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbGVy
cCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBsZXJwKHhb
MF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGxlcnAoeFsxXVsw
XSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbGVycCh4WzFdWzFdLCB5
WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBsZXJwKHhbMV1bMl0sIHlbMV1b
Ml0sIHpbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGxlcnAoeFsyXVswXSwgeVsyXVswXSwg
elsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJd
WzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBsZXJwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0p
OworICAgIHJlc3VsdFszXVswXSA9IGxlcnAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7Cisg
ICAgcmVzdWx0WzNdWzFdID0gbGVycCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMl0gPSBsZXJwKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitmbG9hdDR4NCBsZXJwKGZsb2F0NHg0IHgsIGZsb2F0NHg0IHksIGZsb2F0
NHg0IHopIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbGVycCh4
WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBsZXJwKHhbMF1b
MV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGxlcnAoeFswXVsyXSwg
eVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbGVycCh4WzBdWzNdLCB5WzBd
WzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBsZXJwKHhbMV1bMF0sIHlbMV1bMF0s
IHpbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGxlcnAoeFsxXVsxXSwgeVsxXVsxXSwgelsx
XVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbGVycCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJd
KTsKKyAgICByZXN1bHRbMV1bM10gPSBsZXJwKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGxlcnAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gbGVycCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1
bHRbMl1bMl0gPSBsZXJwKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOworICAgIHJlc3VsdFsy
XVszXSA9IGxlcnAoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CisgICAgcmVzdWx0WzNdWzBd
ID0gbGVycCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBs
ZXJwKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGxlcnAo
eFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7CisgICAgcmVzdWx0WzNdWzNdID0gbGVycCh4WzNd
WzNdLCB5WzNdWzNdLCB6WzNdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyIGZt
YShmbG9hdDIgeCwgZmxvYXQyIHksIGZsb2F0MiB6KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBmbWEoeFswXSwgeVswXSwgelswXSk7CisgICAgcmVzdWx0WzFdID0gZm1h
KHhbMV0sIHlbMV0sIHpbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgZm1hKGZs
b2F0MyB4LCBmbG9hdDMgeSwgZmxvYXQzIHopIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGZtYSh4WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmbWEoeFsx
XSwgeVsxXSwgelsxXSk7CisgICAgcmVzdWx0WzJdID0gZm1hKHhbMl0sIHlbMl0sIHpbMl0pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDQgZm1hKGZsb2F0NCB4LCBmbG9hdDQgeSwgZmxv
YXQ0IHopIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZtYSh4WzBdLCB5
WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmbWEoeFsxXSwgeVsxXSwgelsxXSk7CisgICAg
cmVzdWx0WzJdID0gZm1hKHhbMl0sIHlbMl0sIHpbMl0pOworICAgIHJlc3VsdFszXSA9IGZtYSh4
WzNdLCB5WzNdLCB6WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDIgZm1hKGZs
b2F0MngyIHgsIGZsb2F0MngyIHksIGZsb2F0MngyIHopIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDJ4MyBmbWEoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSwgZmxvYXQyeDMgeikgewor
ICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBmbWEoeFswXVswXSwgeVsw
XVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1hKHhbMF1bMV0sIHlbMF1bMV0s
IHpbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJdLCB5WzBdWzJdLCB6WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAg
IHJlc3VsdFsxXVsyXSA9IGZtYSh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorZmxvYXQyeDQgZm1hKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHksIGZsb2F0
Mng0IHopIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhb
MF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFd
LCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVsw
XVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gZm1hKHhbMF1bM10sIHlbMF1bM10s
IHpbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBdLCB5WzFdWzBdLCB6WzFd
WzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAg
IHJlc3VsdFsxXVszXSA9IGZtYSh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorZmxvYXQzeDIgZm1hKGZsb2F0M3gyIHgsIGZsb2F0M3gyIHksIGZsb2F0
M3gyIHopIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhb
MF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFd
LCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsx
XVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0s
IHpbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJd
WzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gzIGZtYShmbG9hdDN4MyB4LCBmbG9hdDN4
MyB5LCBmbG9hdDN4MyB6KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBm
bWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gZm1hKHhb
MF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGZtYSh4WzFdWzBd
LCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBmbWEoeFsxXVsxXSwgeVsx
XVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gZm1hKHhbMV1bMl0sIHlbMV1bMl0s
IHpbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJd
WzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7
CisgICAgcmVzdWx0WzJdWzJdID0gZm1hKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4NCBmbWEoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSwg
ZmxvYXQzeDQgeikgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBm
bWEoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gZm1hKHhb
MF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGZtYSh4WzBdWzJd
LCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBmbWEoeFswXVszXSwgeVsw
XVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0s
IHpbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFd
WzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7
CisgICAgcmVzdWx0WzFdWzNdID0gZm1hKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10pOworICAg
IHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gZm1hKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9
IGZtYSh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
ZmxvYXQ0eDIgZm1hKGZsb2F0NHgyIHgsIGZsb2F0NHgyIHksIGZsb2F0NHgyIHopIHsKKyAgICBm
bG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0s
IHpbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbWEoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAg
IHJlc3VsdFsyXVswXSA9IGZtYSh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1
bHRbMl1bMV0gPSBmbWEoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gZm1hKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9
IGZtYSh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
ZmxvYXQ0eDMgZm1hKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHksIGZsb2F0NHgzIHopIHsKKyAgICBm
bG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gZm1hKHhbMF1bMF0sIHlbMF1bMF0s
IHpbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGZtYSh4WzBdWzFdLCB5WzBdWzFdLCB6WzBd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBmbWEoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gZm1hKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGZtYSh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBmbWEoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJd
WzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9
IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbWEo
eFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0gZm1hKHhbM11b
MF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGZtYSh4WzNdWzFdLCB5
WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSBmbWEoeFszXVsyXSwgeVszXVsy
XSwgelszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0IGZtYShmbG9hdDR4
NCB4LCBmbG9hdDR4NCB5LCBmbG9hdDR4NCB6KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGZtYSh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBmbWEoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gZm1hKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9
IGZtYSh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBmbWEo
eFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gZm1hKHhbMV1b
MV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGZtYSh4WzFdWzJdLCB5
WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBmbWEoeFsxXVszXSwgeVsxXVsz
XSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gZm1hKHhbMl1bMF0sIHlbMl1bMF0sIHpb
Ml1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGZtYSh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBmbWEoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7Cisg
ICAgcmVzdWx0WzJdWzNdID0gZm1hKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOworICAgIHJl
c3VsdFszXVswXSA9IGZtYSh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBmbWEoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJd
ID0gZm1hKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOworICAgIHJlc3VsdFszXVszXSA9IGZt
YSh4WzNdWzNdLCB5WzNdWzNdLCB6WzNdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxv
YXQyIG1hZChmbG9hdDIgeCwgZmxvYXQyIHksIGZsb2F0MiB6KSB7CisgICAgZmxvYXQyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSBtYWQoeFswXSwgeVswXSwgelswXSk7CisgICAgcmVzdWx0WzFd
ID0gbWFkKHhbMV0sIHlbMV0sIHpbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMg
bWFkKGZsb2F0MyB4LCBmbG9hdDMgeSwgZmxvYXQzIHopIHsKKyAgICBmbG9hdDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IG1hZCh4WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBt
YWQoeFsxXSwgeVsxXSwgelsxXSk7CisgICAgcmVzdWx0WzJdID0gbWFkKHhbMl0sIHlbMl0sIHpb
Ml0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDQgbWFkKGZsb2F0NCB4LCBmbG9hdDQg
eSwgZmxvYXQ0IHopIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1hZCh4
WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtYWQoeFsxXSwgeVsxXSwgelsxXSk7
CisgICAgcmVzdWx0WzJdID0gbWFkKHhbMl0sIHlbMl0sIHpbMl0pOworICAgIHJlc3VsdFszXSA9
IG1hZCh4WzNdLCB5WzNdLCB6WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDIg
bWFkKGZsb2F0MngyIHgsIGZsb2F0MngyIHksIGZsb2F0MngyIHopIHsKKyAgICBmbG9hdDJ4MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWFkKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0p
OworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDJ4MyBtYWQoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSwgZmxvYXQyeDMg
eikgeworICAgIGZsb2F0MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBtYWQoeFswXVsw
XSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWFkKHhbMF1bMV0sIHlb
MF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4WzBdWzJdLCB5WzBdWzJd
LCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsx
XVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0p
OworICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDQgbWFkKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHks
IGZsb2F0Mng0IHopIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
bWFkKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4
WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYWQoeFswXVsy
XSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWFkKHhbMF1bM10sIHlb
MF1bM10sIHpbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IG1hZCh4WzFdWzBdLCB5WzFdWzBd
LCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsxXSwgeVsxXVsxXSwgelsx
XVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWFkKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0p
OworICAgIHJlc3VsdFsxXVszXSA9IG1hZCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDIgbWFkKGZsb2F0M3gyIHgsIGZsb2F0M3gyIHks
IGZsb2F0M3gyIHopIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
bWFkKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4
WzBdWzFdLCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVsw
XSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlb
MV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IG1hZCh4WzJdWzBdLCB5WzJdWzBd
LCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsy
XVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gzIG1hZChmbG9hdDN4MyB4LCBm
bG9hdDN4MyB5LCBmbG9hdDN4MyB6KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0g
bWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IG1hZCh4
WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtYWQoeFsxXVsx
XSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWFkKHhbMV1bMl0sIHlb
MV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IG1hZCh4WzJdWzBdLCB5WzJdWzBd
LCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsy
XVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbWFkKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0p
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4NCBtYWQoZmxvYXQzeDQgeCwgZmxvYXQz
eDQgeSwgZmxvYXQzeDQgeikgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBtYWQoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
bWFkKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1hZCh4
WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBtYWQoeFswXVsz
XSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlb
MV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFd
LCB6WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsxXVsyXSwgelsx
XVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWFkKHhbMV1bM10sIHlbMV1bM10sIHpbMV1bM10p
OworICAgIHJlc3VsdFsyXVswXSA9IG1hZCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVz
dWx0WzJdWzJdID0gbWFkKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOworICAgIHJlc3VsdFsy
XVszXSA9IG1hZCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorZmxvYXQ0eDIgbWFkKGZsb2F0NHgyIHgsIGZsb2F0NHgyIHksIGZsb2F0NHgyIHopIHsK
KyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWFkKHhbMF1bMF0sIHlb
MF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFd
LCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsx
XVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWFkKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0p
OworICAgIHJlc3VsdFsyXVswXSA9IG1hZCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBtYWQoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gbWFkKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFsz
XVsxXSA9IG1hZCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorZmxvYXQ0eDMgbWFkKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHksIGZsb2F0NHgzIHopIHsK
KyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWFkKHhbMF1bMF0sIHlb
MF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1hZCh4WzBdWzFdLCB5WzBdWzFd
LCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYWQoeFswXVsyXSwgeVswXVsyXSwgelsw
XVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWFkKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0p
OworICAgIHJlc3VsdFsxXVsxXSA9IG1hZCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAg
ICByZXN1bHRbMV1bMl0gPSBtYWQoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFsy
XVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0g
PSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbWFk
KHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IG1hZCh4WzNd
WzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSBtYWQoeFszXVsyXSwg
eVszXVsyXSwgelszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0IG1hZChm
bG9hdDR4NCB4LCBmbG9hdDR4NCB5LCBmbG9hdDR4NCB6KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IG1hZCh4WzBdWzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBtYWQoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVz
dWx0WzBdWzJdID0gbWFkKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IG1hZCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBtYWQoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWFk
KHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1hZCh4WzFd
WzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBtYWQoeFsxXVszXSwg
eVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWFkKHhbMl1bMF0sIHlbMl1b
MF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1hZCh4WzJdWzFdLCB5WzJdWzFdLCB6
WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtYWQoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsy
XSk7CisgICAgcmVzdWx0WzJdWzNdID0gbWFkKHhbMl1bM10sIHlbMl1bM10sIHpbMl1bM10pOwor
ICAgIHJlc3VsdFszXVswXSA9IG1hZCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICBy
ZXN1bHRbM11bMV0gPSBtYWQoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmVzdWx0
WzNdWzJdID0gbWFkKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOworICAgIHJlc3VsdFszXVsz
XSA9IG1hZCh4WzNdWzNdLCB5WzNdWzNdLCB6WzNdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorCituYXRpdmUgYm9vbCBpc25vcm1hbChoYWxmKTsKK25hdGl2ZSBib29sIGlzbm9ybWFsKGZs
b2F0KTsKK2Jvb2wyIGlzbm9ybWFsKGhhbGYyIHgpIHsKKyAgICBib29sMiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gaXNub3JtYWwoeFswXSk7CisgICAgcmVzdWx0WzFdID0gaXNub3JtYWwoeFsx
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wzIGlzbm9ybWFsKGhhbGYzIHgpIHsKKyAg
ICBib29sMyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gaXNub3JtYWwoeFswXSk7CisgICAgcmVz
dWx0WzFdID0gaXNub3JtYWwoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gaXNub3JtYWwoeFsyXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2w0IGlzbm9ybWFsKGhhbGY0IHgpIHsKKyAgICBi
b29sNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gaXNub3JtYWwoeFswXSk7CisgICAgcmVzdWx0
WzFdID0gaXNub3JtYWwoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gaXNub3JtYWwoeFsyXSk7Cisg
ICAgcmVzdWx0WzNdID0gaXNub3JtYWwoeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwor
Ym9vbDIgaXNub3JtYWwoZmxvYXQyIHgpIHsKKyAgICBib29sMiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gaXNub3JtYWwoeFswXSk7CisgICAgcmVzdWx0WzFdID0gaXNub3JtYWwoeFsxXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wzIGlzbm9ybWFsKGZsb2F0MyB4KSB7CisgICAgYm9v
bDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlzbm9ybWFsKHhbMF0pOworICAgIHJlc3VsdFsx
XSA9IGlzbm9ybWFsKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGlzbm9ybWFsKHhbMl0pOworICAg
IHJldHVybiByZXN1bHQ7Cit9Citib29sNCBpc25vcm1hbChmbG9hdDQgeCkgeworICAgIGJvb2w0
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBpc25vcm1hbCh4WzBdKTsKKyAgICByZXN1bHRbMV0g
PSBpc25vcm1hbCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBpc25vcm1hbCh4WzJdKTsKKyAgICBy
ZXN1bHRbM10gPSBpc25vcm1hbCh4WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCituYXRp
dmUgYm9vbCBpc2Zpbml0ZShmbG9hdCk7Citib29sIGlzZmluaXRlKGhhbGYgeCkgeworICAgIHJl
dHVybiBpc2Zpbml0ZShmbG9hdCh4KSk7Cit9CituYXRpdmUgYm9vbCBpc2luZihmbG9hdCk7Citi
b29sIGlzaW5mKGhhbGYgeCkgeworICAgIHJldHVybiBpc2luZihmbG9hdCh4KSk7Cit9CituYXRp
dmUgYm9vbCBpc25hbihmbG9hdCk7Citib29sIGlzbmFuKGhhbGYgeCkgeworICAgIHJldHVybiBp
c25hbihmbG9hdCh4KSk7Cit9Citib29sMiBpc2Zpbml0ZShoYWxmMiB4KSB7CisgICAgYm9vbDIg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlzZmluaXRlKHhbMF0pOworICAgIHJlc3VsdFsxXSA9
IGlzZmluaXRlKHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Citib29sMyBpc2Zpbml0ZSho
YWxmMyB4KSB7CisgICAgYm9vbDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlzZmluaXRlKHhb
MF0pOworICAgIHJlc3VsdFsxXSA9IGlzZmluaXRlKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGlz
ZmluaXRlKHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Citib29sNCBpc2Zpbml0ZShoYWxm
NCB4KSB7CisgICAgYm9vbDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlzZmluaXRlKHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IGlzZmluaXRlKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGlzZmlu
aXRlKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGlzZmluaXRlKHhbM10pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9Citib29sMiBpc2luZihoYWxmMiB4KSB7CisgICAgYm9vbDIgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IGlzaW5mKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGlzaW5mKHhbMV0pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9Citib29sMyBpc2luZihoYWxmMyB4KSB7CisgICAgYm9vbDMg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlzaW5mKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGlz
aW5mKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGlzaW5mKHhbMl0pOworICAgIHJldHVybiByZXN1
bHQ7Cit9Citib29sNCBpc2luZihoYWxmNCB4KSB7CisgICAgYm9vbDQgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGlzaW5mKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGlzaW5mKHhbMV0pOworICAg
IHJlc3VsdFsyXSA9IGlzaW5mKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGlzaW5mKHhbM10pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9Citib29sMiBpc25hbihoYWxmMiB4KSB7CisgICAgYm9vbDIg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlzbmFuKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGlz
bmFuKHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Citib29sMyBpc25hbihoYWxmMyB4KSB7
CisgICAgYm9vbDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlzbmFuKHhbMF0pOworICAgIHJl
c3VsdFsxXSA9IGlzbmFuKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGlzbmFuKHhbMl0pOworICAg
IHJldHVybiByZXN1bHQ7Cit9Citib29sNCBpc25hbihoYWxmNCB4KSB7CisgICAgYm9vbDQgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IGlzbmFuKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGlzbmFu
KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGlzbmFuKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGlz
bmFuKHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2Jvb2wyIGlzZmluaXRlKGZsb2F0
MiB4KSB7CisgICAgYm9vbDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlzZmluaXRlKHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IGlzZmluaXRlKHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9
Citib29sMyBpc2Zpbml0ZShmbG9hdDMgeCkgeworICAgIGJvb2wzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBpc2Zpbml0ZSh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBpc2Zpbml0ZSh4WzFdKTsK
KyAgICByZXN1bHRbMl0gPSBpc2Zpbml0ZSh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
Ym9vbDQgaXNmaW5pdGUoZmxvYXQ0IHgpIHsKKyAgICBib29sNCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gaXNmaW5pdGUoeFswXSk7CisgICAgcmVzdWx0WzFdID0gaXNmaW5pdGUoeFsxXSk7Cisg
ICAgcmVzdWx0WzJdID0gaXNmaW5pdGUoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gaXNmaW5pdGUo
eFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wyIGlzaW5mKGZsb2F0MiB4KSB7Cisg
ICAgYm9vbDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlzaW5mKHhbMF0pOworICAgIHJlc3Vs
dFsxXSA9IGlzaW5mKHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Citib29sMyBpc2luZihm
bG9hdDMgeCkgeworICAgIGJvb2wzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBpc2luZih4WzBd
KTsKKyAgICByZXN1bHRbMV0gPSBpc2luZih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBpc2luZih4
WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorYm9vbDQgaXNpbmYoZmxvYXQ0IHgpIHsKKyAg
ICBib29sNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gaXNpbmYoeFswXSk7CisgICAgcmVzdWx0
WzFdID0gaXNpbmYoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gaXNpbmYoeFsyXSk7CisgICAgcmVz
dWx0WzNdID0gaXNpbmYoeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wyIGlzbmFu
KGZsb2F0MiB4KSB7CisgICAgYm9vbDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlzbmFuKHhb
MF0pOworICAgIHJlc3VsdFsxXSA9IGlzbmFuKHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9
Citib29sMyBpc25hbihmbG9hdDMgeCkgeworICAgIGJvb2wzIHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBpc25hbih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBpc25hbih4WzFdKTsKKyAgICByZXN1
bHRbMl0gPSBpc25hbih4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorYm9vbDQgaXNuYW4o
ZmxvYXQ0IHgpIHsKKyAgICBib29sNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gaXNuYW4oeFsw
XSk7CisgICAgcmVzdWx0WzFdID0gaXNuYW4oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gaXNuYW4o
eFsyXSk7CisgICAgcmVzdWx0WzNdID0gaXNuYW4oeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KKworYm9vbCBpc29yZGVyZWQoaGFsZiB4LCBoYWxmIHkpIHsKKyAgICByZXR1cm4gKHggPT0g
eCkgJiYgKHkgPT0geSk7Cit9Citib29sIGlzdW5vcmRlcmVkKGhhbGYgeCwgaGFsZiB5KSB7Cisg
ICAgcmV0dXJuIGlzbmFuKHgpIHx8IGlzbmFuKHkpOworfQorYm9vbDIgaXNvcmRlcmVkKGhhbGYy
IHgsIGhhbGYyIHkpIHsKKyAgICBib29sMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gaXNvcmRl
cmVkKHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IGlzb3JkZXJlZCh4WzFdLCB5WzFdKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorYm9vbDMgaXNvcmRlcmVkKGhhbGYzIHgsIGhhbGYzIHkp
IHsKKyAgICBib29sMyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gaXNvcmRlcmVkKHhbMF0sIHlb
MF0pOworICAgIHJlc3VsdFsxXSA9IGlzb3JkZXJlZCh4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRb
Ml0gPSBpc29yZGVyZWQoeFsyXSwgeVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2w0
IGlzb3JkZXJlZChoYWxmNCB4LCBoYWxmNCB5KSB7CisgICAgYm9vbDQgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGlzb3JkZXJlZCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBpc29yZGVy
ZWQoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gaXNvcmRlcmVkKHhbMl0sIHlbMl0pOwor
ICAgIHJlc3VsdFszXSA9IGlzb3JkZXJlZCh4WzNdLCB5WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorYm9vbDIgaXN1bm9yZGVyZWQoaGFsZjIgeCwgaGFsZjIgeSkgeworICAgIGJvb2wyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSBpc3Vub3JkZXJlZCh4WzBdLCB5WzBdKTsKKyAgICByZXN1
bHRbMV0gPSBpc3Vub3JkZXJlZCh4WzFdLCB5WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
Ym9vbDMgaXN1bm9yZGVyZWQoaGFsZjMgeCwgaGFsZjMgeSkgeworICAgIGJvb2wzIHJlc3VsdDsK
KyAgICByZXN1bHRbMF0gPSBpc3Vub3JkZXJlZCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0g
PSBpc3Vub3JkZXJlZCh4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBpc3Vub3JkZXJlZCh4
WzJdLCB5WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorYm9vbDQgaXN1bm9yZGVyZWQoaGFs
ZjQgeCwgaGFsZjQgeSkgeworICAgIGJvb2w0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBpc3Vu
b3JkZXJlZCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBpc3Vub3JkZXJlZCh4WzFdLCB5
WzFdKTsKKyAgICByZXN1bHRbMl0gPSBpc3Vub3JkZXJlZCh4WzJdLCB5WzJdKTsKKyAgICByZXN1
bHRbM10gPSBpc3Vub3JkZXJlZCh4WzNdLCB5WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
Citib29sIGlzb3JkZXJlZChmbG9hdCB4LCBmbG9hdCB5KSB7CisgICAgcmV0dXJuICh4ID09IHgp
ICYmICh5ID09IHkpOworfQorYm9vbCBpc3Vub3JkZXJlZChmbG9hdCB4LCBmbG9hdCB5KSB7Cisg
ICAgcmV0dXJuIGlzbmFuKHgpIHx8IGlzbmFuKHkpOworfQorYm9vbDIgaXNvcmRlcmVkKGZsb2F0
MiB4LCBmbG9hdDIgeSkgeworICAgIGJvb2wyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBpc29y
ZGVyZWQoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gaXNvcmRlcmVkKHhbMV0sIHlbMV0p
OworICAgIHJldHVybiByZXN1bHQ7Cit9Citib29sMyBpc29yZGVyZWQoZmxvYXQzIHgsIGZsb2F0
MyB5KSB7CisgICAgYm9vbDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlzb3JkZXJlZCh4WzBd
LCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBpc29yZGVyZWQoeFsxXSwgeVsxXSk7CisgICAgcmVz
dWx0WzJdID0gaXNvcmRlcmVkKHhbMl0sIHlbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Citi
b29sNCBpc29yZGVyZWQoZmxvYXQ0IHgsIGZsb2F0NCB5KSB7CisgICAgYm9vbDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IGlzb3JkZXJlZCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBp
c29yZGVyZWQoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gaXNvcmRlcmVkKHhbMl0sIHlb
Ml0pOworICAgIHJlc3VsdFszXSA9IGlzb3JkZXJlZCh4WzNdLCB5WzNdKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorYm9vbDIgaXN1bm9yZGVyZWQoZmxvYXQyIHgsIGZsb2F0MiB5KSB7CisgICAg
Ym9vbDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGlzdW5vcmRlcmVkKHhbMF0sIHlbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGlzdW5vcmRlcmVkKHhbMV0sIHlbMV0pOworICAgIHJldHVybiByZXN1
bHQ7Cit9Citib29sMyBpc3Vub3JkZXJlZChmbG9hdDMgeCwgZmxvYXQzIHkpIHsKKyAgICBib29s
MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gaXN1bm9yZGVyZWQoeFswXSwgeVswXSk7CisgICAg
cmVzdWx0WzFdID0gaXN1bm9yZGVyZWQoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gaXN1
bm9yZGVyZWQoeFsyXSwgeVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2w0IGlzdW5v
cmRlcmVkKGZsb2F0NCB4LCBmbG9hdDQgeSkgeworICAgIGJvb2w0IHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBpc3Vub3JkZXJlZCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBpc3Vub3Jk
ZXJlZCh4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBpc3Vub3JkZXJlZCh4WzJdLCB5WzJd
KTsKKyAgICByZXN1bHRbM10gPSBpc3Vub3JkZXJlZCh4WzNdLCB5WzNdKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorCituYXRpdmUgZmxvYXQgYXRhbjIoZmxvYXQsIGZsb2F0KTsKK2hhbGYgYXRh
bjIoaGFsZiB4LCBoYWxmIHkpIHsKKyAgICByZXR1cm4gaGFsZihhdGFuMihmbG9hdCh4KSwgZmxv
YXQoeSkpKTsKK30KK2hhbGYyIGF0YW4yKGhhbGYyIHgsIGhhbGYyIHkpIHsKKyAgICBoYWxmMiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXRhbjIoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFd
ID0gYXRhbjIoeFsxXSwgeVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIGF0YW4y
KGhhbGYzIHgsIGhhbGYzIHkpIHsKKyAgICBoYWxmMyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
YXRhbjIoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gYXRhbjIoeFsxXSwgeVsxXSk7Cisg
ICAgcmVzdWx0WzJdID0gYXRhbjIoeFsyXSwgeVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGY0IGF0YW4yKGhhbGY0IHgsIGhhbGY0IHkpIHsKKyAgICBoYWxmNCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gYXRhbjIoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gYXRhbjIoeFsx
XSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gYXRhbjIoeFsyXSwgeVsyXSk7CisgICAgcmVzdWx0
WzNdID0gYXRhbjIoeFszXSwgeVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIg
YXRhbjIoaGFsZjJ4MiB4LCBoYWxmMngyIHkpIHsKKyAgICBoYWxmMngyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFd
WzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFd
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4MyBhdGFuMihoYWxmMngzIHgsIGhhbGYy
eDMgeSkgeworICAgIGhhbGYyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGF0YW4yKHhb
MF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4yKHhbMF1bMV0sIHlbMF1b
MV0pOworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4yKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJl
c3VsdFsxXVswXSA9IGF0YW4yKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9
IGF0YW4yKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGF0YW4yKHhbMV1b
Ml0sIHlbMV1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMng0IGF0YW4yKGhhbGYy
eDQgeCwgaGFsZjJ4NCB5KSB7CisgICAgaGFsZjJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFsw
XVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsy
XSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
YXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsy
XSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwgeVsxXVszXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgYXRhbjIoaGFsZjN4MiB4LCBoYWxmM3gy
IHkpIHsKKyAgICBoYWxmM3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBd
WzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBhdGFuMih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBh
dGFuMih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFd
LCB5WzJdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4MyBhdGFuMihoYWxmM3gz
IHgsIGhhbGYzeDMgeSkgeworICAgIGhhbGYzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IGF0YW4yKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGF0YW4yKHhbMF1b
MV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4yKHhbMF1bMl0sIHlbMF1bMl0p
OworICAgIHJlc3VsdFsxXVswXSA9IGF0YW4yKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGF0YW4yKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGF0
YW4yKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGF0YW4yKHhbMl1bMF0s
IHlbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4yKHhbMl1bMV0sIHlbMl1bMV0pOwor
ICAgIHJlc3VsdFsyXVsyXSA9IGF0YW4yKHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitoYWxmM3g0IGF0YW4yKGhhbGYzeDQgeCwgaGFsZjN4NCB5KSB7CisgICAgaGFs
ZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7
CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0
WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXRh
bjIoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwg
eVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gYXRhbjIoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXRhbjIo
eFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsy
XVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXRhbjIoeFsyXVsyXSwgeVsyXVsyXSk7CisgICAg
cmVzdWx0WzJdWzNdID0gYXRhbjIoeFsyXVszXSwgeVsyXVszXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2hhbGY0eDIgYXRhbjIoaGFsZjR4MiB4LCBoYWxmNHgyIHkpIHsKKyAgICBoYWxmNHgy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhdGFuMih4WzBdWzBdLCB5WzBdWzBdKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBhdGFuMih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBhdGFuMih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhdGFuMih4
WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBhdGFuMih4WzJdWzBdLCB5WzJd
WzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhdGFuMih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICBy
ZXN1bHRbM11bMF0gPSBhdGFuMih4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0g
PSBhdGFuMih4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4
MyBhdGFuMihoYWxmNHgzIHgsIGhhbGY0eDMgeSkgeworICAgIGhhbGY0eDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IGF0YW4yKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGF0YW4yKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGF0YW4yKHhb
MF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGF0YW4yKHhbMV1bMF0sIHlbMV1b
MF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGF0YW4yKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGF0YW4yKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9
IGF0YW4yKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGF0YW4yKHhbMl1b
MV0sIHlbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGF0YW4yKHhbMl1bMl0sIHlbMl1bMl0p
OworICAgIHJlc3VsdFszXVswXSA9IGF0YW4yKHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3Vs
dFszXVsxXSA9IGF0YW4yKHhbM11bMV0sIHlbM11bMV0pOworICAgIHJlc3VsdFszXVsyXSA9IGF0
YW4yKHhbM11bMl0sIHlbM11bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHg0IGF0
YW4yKGhhbGY0eDQgeCwgaGFsZjR4NCB5KSB7CisgICAgaGFsZjR4NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
YXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsy
XSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRh
bjIoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwg
eVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gYXRhbjIoeFsyXVsyXSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYXRhbjIo
eFsyXVszXSwgeVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYXRhbjIoeFszXVswXSwgeVsz
XVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYXRhbjIoeFszXVsxXSwgeVszXVsxXSk7CisgICAg
cmVzdWx0WzNdWzJdID0gYXRhbjIoeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmVzdWx0WzNdWzNd
ID0gYXRhbjIoeFszXVszXSwgeVszXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0
MiBhdGFuMihmbG9hdDIgeCwgZmxvYXQyIHkpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGF0YW4yKHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IGF0YW4yKHhbMV0s
IHlbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgYXRhbjIoZmxvYXQzIHgsIGZs
b2F0MyB5KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhdGFuMih4WzBd
LCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhdGFuMih4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRb
Ml0gPSBhdGFuMih4WzJdLCB5WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0IGF0
YW4yKGZsb2F0NCB4LCBmbG9hdDQgeSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gYXRhbjIoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gYXRhbjIoeFsxXSwgeVsx
XSk7CisgICAgcmVzdWx0WzJdID0gYXRhbjIoeFsyXSwgeVsyXSk7CisgICAgcmVzdWx0WzNdID0g
YXRhbjIoeFszXSwgeVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MngyIGF0YW4y
KGZsb2F0MngyIHgsIGZsb2F0MngyIHkpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
YXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVsw
XSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MngzIGF0YW4yKGZsb2F0MngzIHgsIGZsb2F0
MngzIHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIo
eFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVsw
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsx
XVsyXSwgeVsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0Mng0IGF0YW4yKGZs
b2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRh
bjIoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwg
eVswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbjIo
eFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwgeVsx
XVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gyIGF0YW4yKGZsb2F0M3gyIHgs
IGZsb2F0M3gyIHkpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
YXRhbjIoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsx
XSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0
WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRh
bjIoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gzIGF0
YW4yKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFsw
XVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVsw
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVz
dWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
YXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsx
XSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXRhbjIoeFsyXVsyXSwgeVsyXVsyXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3g0IGF0YW4yKGZsb2F0M3g0IHgsIGZsb2F0
M3g0IHkpIHsKKyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIo
eFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVsw
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAg
cmVzdWx0WzBdWzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsx
XVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsy
XSk7CisgICAgcmVzdWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
YXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXRhbjIoeFsyXVsy
XSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYXRhbjIoeFsyXVszXSwgeVsyXVszXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHgyIGF0YW4yKGZsb2F0NHgyIHgsIGZsb2F0
NHgyIHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIo
eFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsy
XVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYXRhbjIoeFszXVswXSwgeVszXVsw
XSk7CisgICAgcmVzdWx0WzNdWzFdID0gYXRhbjIoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHgzIGF0YW4yKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsK
KyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwg
eVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFd
WzBdID0gYXRhbjIoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIo
eFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsx
XVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gYXRhbjIoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gYXRhbjIoeFsyXVsyXSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYXRhbjIoeFsz
XVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gYXRhbjIoeFszXVsxXSwgeVszXVsx
XSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXRhbjIoeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0IGF0YW4yKGZsb2F0NHg0IHgsIGZsb2F0NHg0IHkpIHsK
KyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYXRhbjIoeFswXVswXSwg
eVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYXRhbjIoeFswXVsxXSwgeVswXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gYXRhbjIoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzBd
WzNdID0gYXRhbjIoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYXRhbjIo
eFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYXRhbjIoeFsxXVsxXSwgeVsx
XVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYXRhbjIoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gYXRhbjIoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gYXRhbjIoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gYXRhbjIoeFsy
XVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYXRhbjIoeFsyXVsyXSwgeVsyXVsy
XSk7CisgICAgcmVzdWx0WzJdWzNdID0gYXRhbjIoeFsyXVszXSwgeVsyXVszXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gYXRhbjIoeFszXVswXSwgeVszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0g
YXRhbjIoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYXRhbjIoeFszXVsy
XSwgeVszXVsyXSk7CisgICAgcmVzdWx0WzNdWzNdID0gYXRhbjIoeFszXVszXSwgeVszXVszXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordm9pZCBzaW5jb3MoaGFsZiB4LCB0aHJlYWQgaGFs
ZiogeSwgdGhyZWFkIGhhbGYqIHopIHsKKyAgICAqeSA9IHNpbih4KTsKKyAgICAqeiA9IGNvcyh4
KTsKK30KK3ZvaWQgc2luY29zKGhhbGYyIHgsIHRocmVhZCBoYWxmMiogeSwgdGhyZWFkIGhhbGYy
KiB6KSB7CisgICAgc2luY29zKHhbMF0sICYoKCp5KVswXSksICYoKCp6KVswXSkpOworICAgIHNp
bmNvcyh4WzFdLCAmKCgqeSlbMV0pLCAmKCgqeilbMV0pKTsKK30KK3ZvaWQgc2luY29zKGhhbGYz
IHgsIHRocmVhZCBoYWxmMyogeSwgdGhyZWFkIGhhbGYzKiB6KSB7CisgICAgc2luY29zKHhbMF0s
ICYoKCp5KVswXSksICYoKCp6KVswXSkpOworICAgIHNpbmNvcyh4WzFdLCAmKCgqeSlbMV0pLCAm
KCgqeilbMV0pKTsKKyAgICBzaW5jb3MoeFsyXSwgJigoKnkpWzJdKSwgJigoKnopWzJdKSk7Cit9
Cit2b2lkIHNpbmNvcyhoYWxmNCB4LCB0aHJlYWQgaGFsZjQqIHksIHRocmVhZCBoYWxmNCogeikg
eworICAgIHNpbmNvcyh4WzBdLCAmKCgqeSlbMF0pLCAmKCgqeilbMF0pKTsKKyAgICBzaW5jb3Mo
eFsxXSwgJigoKnkpWzFdKSwgJigoKnopWzFdKSk7CisgICAgc2luY29zKHhbMl0sICYoKCp5KVsy
XSksICYoKCp6KVsyXSkpOworICAgIHNpbmNvcyh4WzNdLCAmKCgqeSlbM10pLCAmKCgqeilbM10p
KTsKK30KK3ZvaWQgc2luY29zKGhhbGYyeDIgeCwgdGhyZWFkIGhhbGYyeDIqIHksIHRocmVhZCBo
YWxmMngyKiB6KSB7CisgICAgc2luY29zKHhbMF1bMF0sICYoKCp5KVswXVswXSksICYoKCp6KVsw
XVswXSkpOworICAgIHNpbmNvcyh4WzBdWzFdLCAmKCgqeSlbMF1bMV0pLCAmKCgqeilbMF1bMV0p
KTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJigoKnkpWzFdWzBdKSwgJigoKnopWzFdWzBdKSk7Cisg
ICAgc2luY29zKHhbMV1bMV0sICYoKCp5KVsxXVsxXSksICYoKCp6KVsxXVsxXSkpOworfQordm9p
ZCBzaW5jb3MoaGFsZjJ4MyB4LCB0aHJlYWQgaGFsZjJ4MyogeSwgdGhyZWFkIGhhbGYyeDMqIHop
IHsKKyAgICBzaW5jb3MoeFswXVswXSwgJigoKnkpWzBdWzBdKSwgJigoKnopWzBdWzBdKSk7Cisg
ICAgc2luY29zKHhbMF1bMV0sICYoKCp5KVswXVsxXSksICYoKCp6KVswXVsxXSkpOworICAgIHNp
bmNvcyh4WzBdWzJdLCAmKCgqeSlbMF1bMl0pLCAmKCgqeilbMF1bMl0pKTsKKyAgICBzaW5jb3Mo
eFsxXVswXSwgJigoKnkpWzFdWzBdKSwgJigoKnopWzFdWzBdKSk7CisgICAgc2luY29zKHhbMV1b
MV0sICYoKCp5KVsxXVsxXSksICYoKCp6KVsxXVsxXSkpOworICAgIHNpbmNvcyh4WzFdWzJdLCAm
KCgqeSlbMV1bMl0pLCAmKCgqeilbMV1bMl0pKTsKK30KK3ZvaWQgc2luY29zKGhhbGYyeDQgeCwg
dGhyZWFkIGhhbGYyeDQqIHksIHRocmVhZCBoYWxmMng0KiB6KSB7CisgICAgc2luY29zKHhbMF1b
MF0sICYoKCp5KVswXVswXSksICYoKCp6KVswXVswXSkpOworICAgIHNpbmNvcyh4WzBdWzFdLCAm
KCgqeSlbMF1bMV0pLCAmKCgqeilbMF1bMV0pKTsKKyAgICBzaW5jb3MoeFswXVsyXSwgJigoKnkp
WzBdWzJdKSwgJigoKnopWzBdWzJdKSk7CisgICAgc2luY29zKHhbMF1bM10sICYoKCp5KVswXVsz
XSksICYoKCp6KVswXVszXSkpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmKCgqeSlbMV1bMF0pLCAm
KCgqeilbMV1bMF0pKTsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJigoKnkpWzFdWzFdKSwgJigoKnop
WzFdWzFdKSk7CisgICAgc2luY29zKHhbMV1bMl0sICYoKCp5KVsxXVsyXSksICYoKCp6KVsxXVsy
XSkpOworICAgIHNpbmNvcyh4WzFdWzNdLCAmKCgqeSlbMV1bM10pLCAmKCgqeilbMV1bM10pKTsK
K30KK3ZvaWQgc2luY29zKGhhbGYzeDIgeCwgdGhyZWFkIGhhbGYzeDIqIHksIHRocmVhZCBoYWxm
M3gyKiB6KSB7CisgICAgc2luY29zKHhbMF1bMF0sICYoKCp5KVswXVswXSksICYoKCp6KVswXVsw
XSkpOworICAgIHNpbmNvcyh4WzBdWzFdLCAmKCgqeSlbMF1bMV0pLCAmKCgqeilbMF1bMV0pKTsK
KyAgICBzaW5jb3MoeFsxXVswXSwgJigoKnkpWzFdWzBdKSwgJigoKnopWzFdWzBdKSk7CisgICAg
c2luY29zKHhbMV1bMV0sICYoKCp5KVsxXVsxXSksICYoKCp6KVsxXVsxXSkpOworICAgIHNpbmNv
cyh4WzJdWzBdLCAmKCgqeSlbMl1bMF0pLCAmKCgqeilbMl1bMF0pKTsKKyAgICBzaW5jb3MoeFsy
XVsxXSwgJigoKnkpWzJdWzFdKSwgJigoKnopWzJdWzFdKSk7Cit9Cit2b2lkIHNpbmNvcyhoYWxm
M3gzIHgsIHRocmVhZCBoYWxmM3gzKiB5LCB0aHJlYWQgaGFsZjN4MyogeikgeworICAgIHNpbmNv
cyh4WzBdWzBdLCAmKCgqeSlbMF1bMF0pLCAmKCgqeilbMF1bMF0pKTsKKyAgICBzaW5jb3MoeFsw
XVsxXSwgJigoKnkpWzBdWzFdKSwgJigoKnopWzBdWzFdKSk7CisgICAgc2luY29zKHhbMF1bMl0s
ICYoKCp5KVswXVsyXSksICYoKCp6KVswXVsyXSkpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmKCgq
eSlbMV1bMF0pLCAmKCgqeilbMV1bMF0pKTsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJigoKnkpWzFd
WzFdKSwgJigoKnopWzFdWzFdKSk7CisgICAgc2luY29zKHhbMV1bMl0sICYoKCp5KVsxXVsyXSks
ICYoKCp6KVsxXVsyXSkpOworICAgIHNpbmNvcyh4WzJdWzBdLCAmKCgqeSlbMl1bMF0pLCAmKCgq
eilbMl1bMF0pKTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJigoKnkpWzJdWzFdKSwgJigoKnopWzJd
WzFdKSk7CisgICAgc2luY29zKHhbMl1bMl0sICYoKCp5KVsyXVsyXSksICYoKCp6KVsyXVsyXSkp
OworfQordm9pZCBzaW5jb3MoaGFsZjN4NCB4LCB0aHJlYWQgaGFsZjN4NCogeSwgdGhyZWFkIGhh
bGYzeDQqIHopIHsKKyAgICBzaW5jb3MoeFswXVswXSwgJigoKnkpWzBdWzBdKSwgJigoKnopWzBd
WzBdKSk7CisgICAgc2luY29zKHhbMF1bMV0sICYoKCp5KVswXVsxXSksICYoKCp6KVswXVsxXSkp
OworICAgIHNpbmNvcyh4WzBdWzJdLCAmKCgqeSlbMF1bMl0pLCAmKCgqeilbMF1bMl0pKTsKKyAg
ICBzaW5jb3MoeFswXVszXSwgJigoKnkpWzBdWzNdKSwgJigoKnopWzBdWzNdKSk7CisgICAgc2lu
Y29zKHhbMV1bMF0sICYoKCp5KVsxXVswXSksICYoKCp6KVsxXVswXSkpOworICAgIHNpbmNvcyh4
WzFdWzFdLCAmKCgqeSlbMV1bMV0pLCAmKCgqeilbMV1bMV0pKTsKKyAgICBzaW5jb3MoeFsxXVsy
XSwgJigoKnkpWzFdWzJdKSwgJigoKnopWzFdWzJdKSk7CisgICAgc2luY29zKHhbMV1bM10sICYo
KCp5KVsxXVszXSksICYoKCp6KVsxXVszXSkpOworICAgIHNpbmNvcyh4WzJdWzBdLCAmKCgqeSlb
Ml1bMF0pLCAmKCgqeilbMl1bMF0pKTsKKyAgICBzaW5jb3MoeFsyXVsxXSwgJigoKnkpWzJdWzFd
KSwgJigoKnopWzJdWzFdKSk7CisgICAgc2luY29zKHhbMl1bMl0sICYoKCp5KVsyXVsyXSksICYo
KCp6KVsyXVsyXSkpOworICAgIHNpbmNvcyh4WzJdWzNdLCAmKCgqeSlbMl1bM10pLCAmKCgqeilb
Ml1bM10pKTsKK30KK3ZvaWQgc2luY29zKGhhbGY0eDIgeCwgdGhyZWFkIGhhbGY0eDIqIHksIHRo
cmVhZCBoYWxmNHgyKiB6KSB7CisgICAgc2luY29zKHhbMF1bMF0sICYoKCp5KVswXVswXSksICYo
KCp6KVswXVswXSkpOworICAgIHNpbmNvcyh4WzBdWzFdLCAmKCgqeSlbMF1bMV0pLCAmKCgqeilb
MF1bMV0pKTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJigoKnkpWzFdWzBdKSwgJigoKnopWzFdWzBd
KSk7CisgICAgc2luY29zKHhbMV1bMV0sICYoKCp5KVsxXVsxXSksICYoKCp6KVsxXVsxXSkpOwor
ICAgIHNpbmNvcyh4WzJdWzBdLCAmKCgqeSlbMl1bMF0pLCAmKCgqeilbMl1bMF0pKTsKKyAgICBz
aW5jb3MoeFsyXVsxXSwgJigoKnkpWzJdWzFdKSwgJigoKnopWzJdWzFdKSk7CisgICAgc2luY29z
KHhbM11bMF0sICYoKCp5KVszXVswXSksICYoKCp6KVszXVswXSkpOworICAgIHNpbmNvcyh4WzNd
WzFdLCAmKCgqeSlbM11bMV0pLCAmKCgqeilbM11bMV0pKTsKK30KK3ZvaWQgc2luY29zKGhhbGY0
eDMgeCwgdGhyZWFkIGhhbGY0eDMqIHksIHRocmVhZCBoYWxmNHgzKiB6KSB7CisgICAgc2luY29z
KHhbMF1bMF0sICYoKCp5KVswXVswXSksICYoKCp6KVswXVswXSkpOworICAgIHNpbmNvcyh4WzBd
WzFdLCAmKCgqeSlbMF1bMV0pLCAmKCgqeilbMF1bMV0pKTsKKyAgICBzaW5jb3MoeFswXVsyXSwg
JigoKnkpWzBdWzJdKSwgJigoKnopWzBdWzJdKSk7CisgICAgc2luY29zKHhbMV1bMF0sICYoKCp5
KVsxXVswXSksICYoKCp6KVsxXVswXSkpOworICAgIHNpbmNvcyh4WzFdWzFdLCAmKCgqeSlbMV1b
MV0pLCAmKCgqeilbMV1bMV0pKTsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJigoKnkpWzFdWzJdKSwg
JigoKnopWzFdWzJdKSk7CisgICAgc2luY29zKHhbMl1bMF0sICYoKCp5KVsyXVswXSksICYoKCp6
KVsyXVswXSkpOworICAgIHNpbmNvcyh4WzJdWzFdLCAmKCgqeSlbMl1bMV0pLCAmKCgqeilbMl1b
MV0pKTsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJigoKnkpWzJdWzJdKSwgJigoKnopWzJdWzJdKSk7
CisgICAgc2luY29zKHhbM11bMF0sICYoKCp5KVszXVswXSksICYoKCp6KVszXVswXSkpOworICAg
IHNpbmNvcyh4WzNdWzFdLCAmKCgqeSlbM11bMV0pLCAmKCgqeilbM11bMV0pKTsKKyAgICBzaW5j
b3MoeFszXVsyXSwgJigoKnkpWzNdWzJdKSwgJigoKnopWzNdWzJdKSk7Cit9Cit2b2lkIHNpbmNv
cyhoYWxmNHg0IHgsIHRocmVhZCBoYWxmNHg0KiB5LCB0aHJlYWQgaGFsZjR4NCogeikgeworICAg
IHNpbmNvcyh4WzBdWzBdLCAmKCgqeSlbMF1bMF0pLCAmKCgqeilbMF1bMF0pKTsKKyAgICBzaW5j
b3MoeFswXVsxXSwgJigoKnkpWzBdWzFdKSwgJigoKnopWzBdWzFdKSk7CisgICAgc2luY29zKHhb
MF1bMl0sICYoKCp5KVswXVsyXSksICYoKCp6KVswXVsyXSkpOworICAgIHNpbmNvcyh4WzBdWzNd
LCAmKCgqeSlbMF1bM10pLCAmKCgqeilbMF1bM10pKTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJigo
KnkpWzFdWzBdKSwgJigoKnopWzFdWzBdKSk7CisgICAgc2luY29zKHhbMV1bMV0sICYoKCp5KVsx
XVsxXSksICYoKCp6KVsxXVsxXSkpOworICAgIHNpbmNvcyh4WzFdWzJdLCAmKCgqeSlbMV1bMl0p
LCAmKCgqeilbMV1bMl0pKTsKKyAgICBzaW5jb3MoeFsxXVszXSwgJigoKnkpWzFdWzNdKSwgJigo
KnopWzFdWzNdKSk7CisgICAgc2luY29zKHhbMl1bMF0sICYoKCp5KVsyXVswXSksICYoKCp6KVsy
XVswXSkpOworICAgIHNpbmNvcyh4WzJdWzFdLCAmKCgqeSlbMl1bMV0pLCAmKCgqeilbMl1bMV0p
KTsKKyAgICBzaW5jb3MoeFsyXVsyXSwgJigoKnkpWzJdWzJdKSwgJigoKnopWzJdWzJdKSk7Cisg
ICAgc2luY29zKHhbMl1bM10sICYoKCp5KVsyXVszXSksICYoKCp6KVsyXVszXSkpOworICAgIHNp
bmNvcyh4WzNdWzBdLCAmKCgqeSlbM11bMF0pLCAmKCgqeilbM11bMF0pKTsKKyAgICBzaW5jb3Mo
eFszXVsxXSwgJigoKnkpWzNdWzFdKSwgJigoKnopWzNdWzFdKSk7CisgICAgc2luY29zKHhbM11b
Ml0sICYoKCp5KVszXVsyXSksICYoKCp6KVszXVsyXSkpOworICAgIHNpbmNvcyh4WzNdWzNdLCAm
KCgqeSlbM11bM10pLCAmKCgqeilbM11bM10pKTsKK30KK3ZvaWQgc2luY29zKGZsb2F0IHgsIHRo
cmVhZCBmbG9hdCogeSwgdGhyZWFkIGZsb2F0KiB6KSB7CisgICAgKnkgPSBzaW4oeCk7CisgICAg
KnogPSBjb3MoeCk7Cit9Cit2b2lkIHNpbmNvcyhmbG9hdDIgeCwgdGhyZWFkIGZsb2F0MiogeSwg
dGhyZWFkIGZsb2F0MiogeikgeworICAgIHNpbmNvcyh4WzBdLCAmKCgqeSlbMF0pLCAmKCgqeilb
MF0pKTsKKyAgICBzaW5jb3MoeFsxXSwgJigoKnkpWzFdKSwgJigoKnopWzFdKSk7Cit9Cit2b2lk
IHNpbmNvcyhmbG9hdDMgeCwgdGhyZWFkIGZsb2F0MyogeSwgdGhyZWFkIGZsb2F0Myogeikgewor
ICAgIHNpbmNvcyh4WzBdLCAmKCgqeSlbMF0pLCAmKCgqeilbMF0pKTsKKyAgICBzaW5jb3MoeFsx
XSwgJigoKnkpWzFdKSwgJigoKnopWzFdKSk7CisgICAgc2luY29zKHhbMl0sICYoKCp5KVsyXSks
ICYoKCp6KVsyXSkpOworfQordm9pZCBzaW5jb3MoZmxvYXQ0IHgsIHRocmVhZCBmbG9hdDQqIHks
IHRocmVhZCBmbG9hdDQqIHopIHsKKyAgICBzaW5jb3MoeFswXSwgJigoKnkpWzBdKSwgJigoKnop
WzBdKSk7CisgICAgc2luY29zKHhbMV0sICYoKCp5KVsxXSksICYoKCp6KVsxXSkpOworICAgIHNp
bmNvcyh4WzJdLCAmKCgqeSlbMl0pLCAmKCgqeilbMl0pKTsKKyAgICBzaW5jb3MoeFszXSwgJigo
KnkpWzNdKSwgJigoKnopWzNdKSk7Cit9Cit2b2lkIHNpbmNvcyhmbG9hdDJ4MiB4LCB0aHJlYWQg
ZmxvYXQyeDIqIHksIHRocmVhZCBmbG9hdDJ4MiogeikgeworICAgIHNpbmNvcyh4WzBdWzBdLCAm
KCgqeSlbMF1bMF0pLCAmKCgqeilbMF1bMF0pKTsKKyAgICBzaW5jb3MoeFswXVsxXSwgJigoKnkp
WzBdWzFdKSwgJigoKnopWzBdWzFdKSk7CisgICAgc2luY29zKHhbMV1bMF0sICYoKCp5KVsxXVsw
XSksICYoKCp6KVsxXVswXSkpOworICAgIHNpbmNvcyh4WzFdWzFdLCAmKCgqeSlbMV1bMV0pLCAm
KCgqeilbMV1bMV0pKTsKK30KK3ZvaWQgc2luY29zKGZsb2F0MngzIHgsIHRocmVhZCBmbG9hdDJ4
MyogeSwgdGhyZWFkIGZsb2F0MngzKiB6KSB7CisgICAgc2luY29zKHhbMF1bMF0sICYoKCp5KVsw
XVswXSksICYoKCp6KVswXVswXSkpOworICAgIHNpbmNvcyh4WzBdWzFdLCAmKCgqeSlbMF1bMV0p
LCAmKCgqeilbMF1bMV0pKTsKKyAgICBzaW5jb3MoeFswXVsyXSwgJigoKnkpWzBdWzJdKSwgJigo
KnopWzBdWzJdKSk7CisgICAgc2luY29zKHhbMV1bMF0sICYoKCp5KVsxXVswXSksICYoKCp6KVsx
XVswXSkpOworICAgIHNpbmNvcyh4WzFdWzFdLCAmKCgqeSlbMV1bMV0pLCAmKCgqeilbMV1bMV0p
KTsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJigoKnkpWzFdWzJdKSwgJigoKnopWzFdWzJdKSk7Cit9
Cit2b2lkIHNpbmNvcyhmbG9hdDJ4NCB4LCB0aHJlYWQgZmxvYXQyeDQqIHksIHRocmVhZCBmbG9h
dDJ4NCogeikgeworICAgIHNpbmNvcyh4WzBdWzBdLCAmKCgqeSlbMF1bMF0pLCAmKCgqeilbMF1b
MF0pKTsKKyAgICBzaW5jb3MoeFswXVsxXSwgJigoKnkpWzBdWzFdKSwgJigoKnopWzBdWzFdKSk7
CisgICAgc2luY29zKHhbMF1bMl0sICYoKCp5KVswXVsyXSksICYoKCp6KVswXVsyXSkpOworICAg
IHNpbmNvcyh4WzBdWzNdLCAmKCgqeSlbMF1bM10pLCAmKCgqeilbMF1bM10pKTsKKyAgICBzaW5j
b3MoeFsxXVswXSwgJigoKnkpWzFdWzBdKSwgJigoKnopWzFdWzBdKSk7CisgICAgc2luY29zKHhb
MV1bMV0sICYoKCp5KVsxXVsxXSksICYoKCp6KVsxXVsxXSkpOworICAgIHNpbmNvcyh4WzFdWzJd
LCAmKCgqeSlbMV1bMl0pLCAmKCgqeilbMV1bMl0pKTsKKyAgICBzaW5jb3MoeFsxXVszXSwgJigo
KnkpWzFdWzNdKSwgJigoKnopWzFdWzNdKSk7Cit9Cit2b2lkIHNpbmNvcyhmbG9hdDN4MiB4LCB0
aHJlYWQgZmxvYXQzeDIqIHksIHRocmVhZCBmbG9hdDN4MiogeikgeworICAgIHNpbmNvcyh4WzBd
WzBdLCAmKCgqeSlbMF1bMF0pLCAmKCgqeilbMF1bMF0pKTsKKyAgICBzaW5jb3MoeFswXVsxXSwg
JigoKnkpWzBdWzFdKSwgJigoKnopWzBdWzFdKSk7CisgICAgc2luY29zKHhbMV1bMF0sICYoKCp5
KVsxXVswXSksICYoKCp6KVsxXVswXSkpOworICAgIHNpbmNvcyh4WzFdWzFdLCAmKCgqeSlbMV1b
MV0pLCAmKCgqeilbMV1bMV0pKTsKKyAgICBzaW5jb3MoeFsyXVswXSwgJigoKnkpWzJdWzBdKSwg
JigoKnopWzJdWzBdKSk7CisgICAgc2luY29zKHhbMl1bMV0sICYoKCp5KVsyXVsxXSksICYoKCp6
KVsyXVsxXSkpOworfQordm9pZCBzaW5jb3MoZmxvYXQzeDMgeCwgdGhyZWFkIGZsb2F0M3gzKiB5
LCB0aHJlYWQgZmxvYXQzeDMqIHopIHsKKyAgICBzaW5jb3MoeFswXVswXSwgJigoKnkpWzBdWzBd
KSwgJigoKnopWzBdWzBdKSk7CisgICAgc2luY29zKHhbMF1bMV0sICYoKCp5KVswXVsxXSksICYo
KCp6KVswXVsxXSkpOworICAgIHNpbmNvcyh4WzBdWzJdLCAmKCgqeSlbMF1bMl0pLCAmKCgqeilb
MF1bMl0pKTsKKyAgICBzaW5jb3MoeFsxXVswXSwgJigoKnkpWzFdWzBdKSwgJigoKnopWzFdWzBd
KSk7CisgICAgc2luY29zKHhbMV1bMV0sICYoKCp5KVsxXVsxXSksICYoKCp6KVsxXVsxXSkpOwor
ICAgIHNpbmNvcyh4WzFdWzJdLCAmKCgqeSlbMV1bMl0pLCAmKCgqeilbMV1bMl0pKTsKKyAgICBz
aW5jb3MoeFsyXVswXSwgJigoKnkpWzJdWzBdKSwgJigoKnopWzJdWzBdKSk7CisgICAgc2luY29z
KHhbMl1bMV0sICYoKCp5KVsyXVsxXSksICYoKCp6KVsyXVsxXSkpOworICAgIHNpbmNvcyh4WzJd
WzJdLCAmKCgqeSlbMl1bMl0pLCAmKCgqeilbMl1bMl0pKTsKK30KK3ZvaWQgc2luY29zKGZsb2F0
M3g0IHgsIHRocmVhZCBmbG9hdDN4NCogeSwgdGhyZWFkIGZsb2F0M3g0KiB6KSB7CisgICAgc2lu
Y29zKHhbMF1bMF0sICYoKCp5KVswXVswXSksICYoKCp6KVswXVswXSkpOworICAgIHNpbmNvcyh4
WzBdWzFdLCAmKCgqeSlbMF1bMV0pLCAmKCgqeilbMF1bMV0pKTsKKyAgICBzaW5jb3MoeFswXVsy
XSwgJigoKnkpWzBdWzJdKSwgJigoKnopWzBdWzJdKSk7CisgICAgc2luY29zKHhbMF1bM10sICYo
KCp5KVswXVszXSksICYoKCp6KVswXVszXSkpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmKCgqeSlb
MV1bMF0pLCAmKCgqeilbMV1bMF0pKTsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJigoKnkpWzFdWzFd
KSwgJigoKnopWzFdWzFdKSk7CisgICAgc2luY29zKHhbMV1bMl0sICYoKCp5KVsxXVsyXSksICYo
KCp6KVsxXVsyXSkpOworICAgIHNpbmNvcyh4WzFdWzNdLCAmKCgqeSlbMV1bM10pLCAmKCgqeilb
MV1bM10pKTsKKyAgICBzaW5jb3MoeFsyXVswXSwgJigoKnkpWzJdWzBdKSwgJigoKnopWzJdWzBd
KSk7CisgICAgc2luY29zKHhbMl1bMV0sICYoKCp5KVsyXVsxXSksICYoKCp6KVsyXVsxXSkpOwor
ICAgIHNpbmNvcyh4WzJdWzJdLCAmKCgqeSlbMl1bMl0pLCAmKCgqeilbMl1bMl0pKTsKKyAgICBz
aW5jb3MoeFsyXVszXSwgJigoKnkpWzJdWzNdKSwgJigoKnopWzJdWzNdKSk7Cit9Cit2b2lkIHNp
bmNvcyhmbG9hdDR4MiB4LCB0aHJlYWQgZmxvYXQ0eDIqIHksIHRocmVhZCBmbG9hdDR4Miogeikg
eworICAgIHNpbmNvcyh4WzBdWzBdLCAmKCgqeSlbMF1bMF0pLCAmKCgqeilbMF1bMF0pKTsKKyAg
ICBzaW5jb3MoeFswXVsxXSwgJigoKnkpWzBdWzFdKSwgJigoKnopWzBdWzFdKSk7CisgICAgc2lu
Y29zKHhbMV1bMF0sICYoKCp5KVsxXVswXSksICYoKCp6KVsxXVswXSkpOworICAgIHNpbmNvcyh4
WzFdWzFdLCAmKCgqeSlbMV1bMV0pLCAmKCgqeilbMV1bMV0pKTsKKyAgICBzaW5jb3MoeFsyXVsw
XSwgJigoKnkpWzJdWzBdKSwgJigoKnopWzJdWzBdKSk7CisgICAgc2luY29zKHhbMl1bMV0sICYo
KCp5KVsyXVsxXSksICYoKCp6KVsyXVsxXSkpOworICAgIHNpbmNvcyh4WzNdWzBdLCAmKCgqeSlb
M11bMF0pLCAmKCgqeilbM11bMF0pKTsKKyAgICBzaW5jb3MoeFszXVsxXSwgJigoKnkpWzNdWzFd
KSwgJigoKnopWzNdWzFdKSk7Cit9Cit2b2lkIHNpbmNvcyhmbG9hdDR4MyB4LCB0aHJlYWQgZmxv
YXQ0eDMqIHksIHRocmVhZCBmbG9hdDR4MyogeikgeworICAgIHNpbmNvcyh4WzBdWzBdLCAmKCgq
eSlbMF1bMF0pLCAmKCgqeilbMF1bMF0pKTsKKyAgICBzaW5jb3MoeFswXVsxXSwgJigoKnkpWzBd
WzFdKSwgJigoKnopWzBdWzFdKSk7CisgICAgc2luY29zKHhbMF1bMl0sICYoKCp5KVswXVsyXSks
ICYoKCp6KVswXVsyXSkpOworICAgIHNpbmNvcyh4WzFdWzBdLCAmKCgqeSlbMV1bMF0pLCAmKCgq
eilbMV1bMF0pKTsKKyAgICBzaW5jb3MoeFsxXVsxXSwgJigoKnkpWzFdWzFdKSwgJigoKnopWzFd
WzFdKSk7CisgICAgc2luY29zKHhbMV1bMl0sICYoKCp5KVsxXVsyXSksICYoKCp6KVsxXVsyXSkp
OworICAgIHNpbmNvcyh4WzJdWzBdLCAmKCgqeSlbMl1bMF0pLCAmKCgqeilbMl1bMF0pKTsKKyAg
ICBzaW5jb3MoeFsyXVsxXSwgJigoKnkpWzJdWzFdKSwgJigoKnopWzJdWzFdKSk7CisgICAgc2lu
Y29zKHhbMl1bMl0sICYoKCp5KVsyXVsyXSksICYoKCp6KVsyXVsyXSkpOworICAgIHNpbmNvcyh4
WzNdWzBdLCAmKCgqeSlbM11bMF0pLCAmKCgqeilbM11bMF0pKTsKKyAgICBzaW5jb3MoeFszXVsx
XSwgJigoKnkpWzNdWzFdKSwgJigoKnopWzNdWzFdKSk7CisgICAgc2luY29zKHhbM11bMl0sICYo
KCp5KVszXVsyXSksICYoKCp6KVszXVsyXSkpOworfQordm9pZCBzaW5jb3MoZmxvYXQ0eDQgeCwg
dGhyZWFkIGZsb2F0NHg0KiB5LCB0aHJlYWQgZmxvYXQ0eDQqIHopIHsKKyAgICBzaW5jb3MoeFsw
XVswXSwgJigoKnkpWzBdWzBdKSwgJigoKnopWzBdWzBdKSk7CisgICAgc2luY29zKHhbMF1bMV0s
ICYoKCp5KVswXVsxXSksICYoKCp6KVswXVsxXSkpOworICAgIHNpbmNvcyh4WzBdWzJdLCAmKCgq
eSlbMF1bMl0pLCAmKCgqeilbMF1bMl0pKTsKKyAgICBzaW5jb3MoeFswXVszXSwgJigoKnkpWzBd
WzNdKSwgJigoKnopWzBdWzNdKSk7CisgICAgc2luY29zKHhbMV1bMF0sICYoKCp5KVsxXVswXSks
ICYoKCp6KVsxXVswXSkpOworICAgIHNpbmNvcyh4WzFdWzFdLCAmKCgqeSlbMV1bMV0pLCAmKCgq
eilbMV1bMV0pKTsKKyAgICBzaW5jb3MoeFsxXVsyXSwgJigoKnkpWzFdWzJdKSwgJigoKnopWzFd
WzJdKSk7CisgICAgc2luY29zKHhbMV1bM10sICYoKCp5KVsxXVszXSksICYoKCp6KVsxXVszXSkp
OworICAgIHNpbmNvcyh4WzJdWzBdLCAmKCgqeSlbMl1bMF0pLCAmKCgqeilbMl1bMF0pKTsKKyAg
ICBzaW5jb3MoeFsyXVsxXSwgJigoKnkpWzJdWzFdKSwgJigoKnopWzJdWzFdKSk7CisgICAgc2lu
Y29zKHhbMl1bMl0sICYoKCp5KVsyXVsyXSksICYoKCp6KVsyXVsyXSkpOworICAgIHNpbmNvcyh4
WzJdWzNdLCAmKCgqeSlbMl1bM10pLCAmKCgqeilbMl1bM10pKTsKKyAgICBzaW5jb3MoeFszXVsw
XSwgJigoKnkpWzNdWzBdKSwgJigoKnopWzNdWzBdKSk7CisgICAgc2luY29zKHhbM11bMV0sICYo
KCp5KVszXVsxXSksICYoKCp6KVszXVsxXSkpOworICAgIHNpbmNvcyh4WzNdWzJdLCAmKCgqeSlb
M11bMl0pLCAmKCgqeilbM11bMl0pKTsKKyAgICBzaW5jb3MoeFszXVszXSwgJigoKnkpWzNdWzNd
KSwgJigoKnopWzNdWzNdKSk7Cit9CisKK2Jvb2wgYWxsKGJvb2wgeCkgeworICAgIHJldHVybiB4
OworfQorYm9vbCBhbGwoYm9vbDIgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0pOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYWxsKGJvb2wzIHgpIHsKKyAgICBib29sIHJl
c3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMV0pOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYWxsKGJvb2w0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9
IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMV0pOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXSk7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorYm9vbCBhbGwodWNo
YXIgeCkgeworICAgIHJldHVybiB4ICE9IDA7Cit9Citib29sIGFsbCh1Y2hhcjIgeCkgeworICAg
IGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7
Cit9Citib29sIGFsbCh1Y2hhcjMgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXSAhPSAwKTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorYm9vbCBhbGwodWNoYXI0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRy
dWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7
Cit9Citib29sIGFsbCh1c2hvcnQgeCkgeworICAgIHJldHVybiB4ICE9IDA7Cit9Citib29sIGFs
bCh1c2hvcnQyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorYm9vbCBhbGwodXNob3J0MyB4KSB7CisgICAgYm9vbCBy
ZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzJdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7Cit9Citib29sIGFsbCh1c2hvcnQ0IHgpIHsK
KyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdICE9IDAp
OworICAgIHJldHVybiByZXN1bHQ7Cit9Citib29sIGFsbCh1aW50IHgpIHsKKyAgICByZXR1cm4g
eCAhPSAwOworfQorYm9vbCBhbGwodWludDIgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzFdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7Cit9Citib29sIGFsbCh1aW50MyB4
KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsw
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzJdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7Cit9Citib29sIGFs
bCh1aW50NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFszXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorYm9vbCBhbGwoY2hhciB4KSB7
CisgICAgcmV0dXJuIHggIT0gMDsKK30KK2Jvb2wgYWxsKGNoYXIyIHgpIHsKKyAgICBib29sIHJl
c3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorYm9v
bCBhbGwoY2hhcjMgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorYm9vbCBhbGwoY2hhcjQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbM10gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wg
YWxsKHNob3J0IHgpIHsKKyAgICByZXR1cm4geCAhPSAwOworfQorYm9vbCBhbGwoc2hvcnQyIHgp
IHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorYm9vbCBhbGwoc2hvcnQzIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl0gIT0gMCk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYWxsKHNob3J0NCB4KSB7CisgICAgYm9vbCByZXN1
bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXSAhPSAwKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorYm9vbCBhbGwoaW50IHgpIHsKKyAgICByZXR1cm4geCAhPSAwOworfQorYm9v
bCBhbGwoaW50MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0gIT0gMCk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYWxsKGludDMgeCkgeworICAgIGJvb2wgcmVz
dWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsy
XSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorYm9vbCBhbGwoaW50NCB4KSB7CisgICAg
Ym9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXSAhPSAwKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorYm9vbCBhbGwoaGFsZiB4KSB7CisgICAgcmV0dXJuIHggIT0g
MDsKK30KK2Jvb2wgYWxsKGhhbGYyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFsxXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorYm9vbCBhbGwoaGFsZjMgeCkgewor
ICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFsyXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorYm9vbCBhbGwoaGFs
ZjQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
M10gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYWxsKGhhbGYyeDIgeCkgewor
ICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MV1bMV0gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYWxsKGhhbGYyeDMgeCkg
eworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1b
MF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorYm9vbCBhbGwoaGFsZjJ4NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMV1bM10gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jv
b2wgYWxsKGhhbGYzeDIgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBd
WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorYm9vbCBhbGwoaGFsZjN4MyB4KSB7CisgICAgYm9vbCBy
ZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAw
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzFdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsw
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzJdWzJdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7Cit9Citi
b29sIGFsbChoYWxmM3g0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsw
XVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFsxXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzFdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsyXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
Ml1bM10gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYWxsKGhhbGY0eDIgeCkg
eworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1b
MF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMV1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbM11bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzFdICE9
IDApOworICAgIHJldHVybiByZXN1bHQ7Cit9Citib29sIGFsbChoYWxmNHgzIHgpIHsKKyAgICBi
b29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzNdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVsxXSAhPSAw
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMl0gIT0gMCk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK2Jvb2wgYWxsKGhhbGY0eDQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsK
KyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0ICYmICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bM10gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsx
XVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFsyXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMF0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzFdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFszXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
M11bM10gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYWxsKGZsb2F0IHgpIHsK
KyAgICByZXR1cm4geCAhPSAwOworfQorYm9vbCBhbGwoZmxvYXQyIHgpIHsKKyAgICBib29sIHJl
c3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorYm9v
bCBhbGwoZmxvYXQzIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXSAhPSAw
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMl0gIT0gMCk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2Jvb2wgYWxsKGZsb2F0NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFszXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorYm9v
bCBhbGwoZmxvYXQyeDIgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBd
WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2Jvb2wgYWxsKGZsb2F0MngzIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAo
eFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMl0gIT0g
MCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYWxsKGZsb2F0Mng0IHgpIHsKKyAgICBi
b29sIHJlc3VsdCA9IHRydWU7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzBdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzNd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzFdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVszXSAhPSAwKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorYm9vbCBhbGwoZmxvYXQzeDIgeCkgeworICAgIGJvb2wgcmVz
dWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorYm9vbCBhbGwo
ZmxvYXQzeDMgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1
bHQgJiYgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFd
WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgJiYgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYm
ICh4WzJdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsyXSAhPSAwKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorYm9vbCBhbGwoZmxvYXQzeDQgeCkgeworICAgIGJvb2wg
cmVzdWx0ID0gdHJ1ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCAmJiAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bM10gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCAmJiAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1b
Ml0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzNdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYg
KHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzJdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVszXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorYm9vbCBhbGwoZmxvYXQ0eDIgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gdHJ1ZTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
ICYmICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAw
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0g
cmVzdWx0ICYmICh4WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVsx
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbM11bMF0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0ICYmICh4WzNdWzFdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7Cit9Citi
b29sIGFsbChmbG9hdDR4MyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
MF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbMV1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzJdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgJiYgKHhbMl1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzJd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgJiYgKHhbM11bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4
WzNdWzJdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7Cit9Citib29sIGFsbChmbG9hdDR4NCB4
KSB7CisgICAgYm9vbCByZXN1bHQgPSB0cnVlOworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFsw
XVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMF1bMV0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0ICYmICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCAm
JiAoeFswXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bMF0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzFdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCAmJiAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhbMV1bM10g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzBdICE9IDApOworICAgIHJlc3Vs
dCA9IHJlc3VsdCAmJiAoeFsyXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgJiYgKHhb
Ml1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzJdWzNdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQg
JiYgKHhbM11bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0ICYmICh4WzNdWzJdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCAmJiAoeFszXVszXSAhPSAwKTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorCitib29sIGFueShib29sIHgpIHsKKyAgICByZXR1cm4geDsKK30KK2Jvb2wgYW55
KGJvb2wyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFswXSk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorYm9vbCBhbnkoYm9vbDMgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7
CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMV0pOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2Jvb2wgYW55KGJvb2w0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFd
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl0pOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYW55KHVjaGFyIHgpIHsKKyAg
ICByZXR1cm4geCAhPSAwOworfQorYm9vbCBhbnkodWNoYXIyIHgpIHsKKyAgICBib29sIHJlc3Vs
dCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wg
YW55KHVjaGFyMyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorYm9vbCBhbnkodWNoYXI0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFszXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorYm9v
bCBhbnkodXNob3J0IHgpIHsKKyAgICByZXR1cm4geCAhPSAwOworfQorYm9vbCBhbnkodXNob3J0
MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOworICAgIHJl
dHVybiByZXN1bHQ7Cit9Citib29sIGFueSh1c2hvcnQzIHgpIHsKKyAgICBib29sIHJlc3VsdCA9
IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdICE9
IDApOworICAgIHJldHVybiByZXN1bHQ7Cit9Citib29sIGFueSh1c2hvcnQ0IHgpIHsKKyAgICBi
b29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
IHx8ICh4WzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXSAhPSAwKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorYm9vbCBhbnkodWludCB4KSB7CisgICAgcmV0dXJuIHggIT0g
MDsKK30KK2Jvb2wgYW55KHVpbnQyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMV0gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYW55KHVpbnQzIHgpIHsK
KyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV0gIT0gMCk7CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzJdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7Cit9Citib29sIGFueSh1
aW50NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQg
fHwgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOworICAg
IHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbM10gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYW55KGNoYXIgeCkgewor
ICAgIHJldHVybiB4ICE9IDA7Cit9Citib29sIGFueShjaGFyMiB4KSB7CisgICAgYm9vbCByZXN1
bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7Cit9Citib29s
IGFueShjaGFyMyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorYm9vbCBhbnkoY2hhcjQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzNdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7Cit9Citib29s
IGFueShzaG9ydCB4KSB7CisgICAgcmV0dXJuIHggIT0gMDsKK30KK2Jvb2wgYW55KHNob3J0MiB4
KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhb
MF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOworICAgIHJldHVy
biByZXN1bHQ7Cit9Citib29sIGFueShzaG9ydDMgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFs
c2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl0gIT0gMCk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYW55KHNob3J0NCB4KSB7CisgICAgYm9vbCBy
ZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM10gIT0gMCk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2Jvb2wgYW55KGludCB4KSB7CisgICAgcmV0dXJuIHggIT0gMDsKK30K
K2Jvb2wgYW55KGludDIgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXSAh
PSAwKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorYm9vbCBhbnkoaW50MyB4KSB7CisgICAgYm9v
bCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFsyXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorYm9vbCBhbnkoaW50NCB4KSB7
CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM10gIT0g
MCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYW55KGhhbGYgeCkgeworICAgIHJldHVy
biB4ICE9IDA7Cit9Citib29sIGFueShoYWxmMiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxz
ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzFdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7Cit9Citib29sIGFueShoYWxm
MyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsyXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorYm9v
bCBhbnkoaGFsZjQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXSAhPSAw
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzNdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7Cit9Citib29sIGFueShoYWxm
MngyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorYm9vbCBhbnko
aGFsZjJ4MyB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFd
WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorYm9vbCBhbnkoaGFsZjJ4NCB4KSB7CisgICAgYm9vbCByZXN1bHQg
PSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bM10gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMl0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzNdICE9IDApOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9Citib29sIGFueShoYWxmM3gyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNl
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4
WzJdWzFdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7Cit9Citib29sIGFueShoYWxmM3gzIHgp
IHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsw
XVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7CisgICAg
cmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7
CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJl
c3VsdCB8fCAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMV0g
IT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzJdICE9IDApOworICAgIHJldHVy
biByZXN1bHQ7Cit9Citib29sIGFueShoYWxmM3g0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZh
bHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBd
WzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVszXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzFdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsK
KyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVz
dWx0IHx8ICh4WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsxXSAh
PSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMl0gIT0gMCk7CisgICAgcmVzdWx0
ID0gcmVzdWx0IHx8ICh4WzJdWzNdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7Cit9Citib29s
IGFueShoYWxmNHgyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1b
MV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbM11bMV0gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYW55KGhh
bGY0eDMgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0
IHx8ICh4WzBdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAw
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsx
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMl0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzJdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsyXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMl0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFszXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMl0gIT0g
MCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYW55KGhhbGY0eDQgeCkgeworICAgIGJv
b2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDAp
OworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzNd
ICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVswXSAhPSAwKTsKKyAgICByZXN1
bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4
WzFdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVszXSAhPSAwKTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0
IHx8ICh4WzJdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsyXVsyXSAhPSAw
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bM10gIT0gMCk7CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzNdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFszXVsx
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMl0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzNdWzNdICE9IDApOworICAgIHJldHVybiByZXN1bHQ7Cit9Citi
b29sIGFueShmbG9hdCB4KSB7CisgICAgcmV0dXJuIHggIT0gMDsKK30KK2Jvb2wgYW55KGZsb2F0
MiB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOworICAgIHJl
dHVybiByZXN1bHQ7Cit9Citib29sIGFueShmbG9hdDMgeCkgeworICAgIGJvb2wgcmVzdWx0ID0g
ZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl0gIT0g
MCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYW55KGZsb2F0NCB4KSB7CisgICAgYm9v
bCByZXN1bHQgPSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8
fCAoeFsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM10gIT0gMCk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYW55KGZsb2F0MngyIHgpIHsKKyAgICBib29sIHJlc3Vs
dCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8
ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorYm9vbCBhbnkoZmxvYXQyeDMgeCkgeworICAgIGJvb2wg
cmVzdWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9
IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQg
PSByZXN1bHQgfHwgKHhbMV1bMl0gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wg
YW55KGZsb2F0Mng0IHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1b
MV0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFswXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbMV1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1
bHQgfHwgKHhbMV1bM10gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYW55KGZs
b2F0M3gyIHgpIHsKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFswXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1b
MF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOworICAgIHJl
dHVybiByZXN1bHQ7Cit9Citib29sIGFueShmbG9hdDN4MyB4KSB7CisgICAgYm9vbCByZXN1bHQg
PSBmYWxzZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFswXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMF0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsxXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsyXVsyXSAhPSAwKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorYm9vbCBh
bnkoZmxvYXQzeDQgeCkgeworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzBdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsx
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMl0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzBdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsxXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsxXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsyXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1b
M10gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYW55KGZsb2F0NHgyIHgpIHsK
KyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsw
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMF0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMV0gIT0g
MCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Jvb2wgYW55KGZsb2F0NHgzIHgpIHsKKyAgICBi
b29sIHJlc3VsdCA9IGZhbHNlOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVswXSAhPSAw
KTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMV0gIT0gMCk7CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzBdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFsxXVsw
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMV0gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzFdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMV0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzJdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFszXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11bMV0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzJdICE9IDApOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9Citib29sIGFueShmbG9hdDR4NCB4KSB7CisgICAgYm9vbCByZXN1bHQgPSBmYWxz
ZTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bMF0gIT0gMCk7CisgICAgcmVzdWx0ID0g
cmVzdWx0IHx8ICh4WzBdWzFdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAoeFswXVsy
XSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMF1bM10gIT0gMCk7CisgICAgcmVz
dWx0ID0gcmVzdWx0IHx8ICh4WzFdWzBdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3VsdCB8fCAo
eFsxXVsxXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMV1bMl0gIT0gMCk7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzFdWzNdICE9IDApOworICAgIHJlc3VsdCA9IHJlc3Vs
dCB8fCAoeFsyXVswXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbMl1bMV0gIT0g
MCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzJdWzJdICE9IDApOworICAgIHJlc3VsdCA9
IHJlc3VsdCB8fCAoeFsyXVszXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwgKHhbM11b
MF0gIT0gMCk7CisgICAgcmVzdWx0ID0gcmVzdWx0IHx8ICh4WzNdWzFdICE9IDApOworICAgIHJl
c3VsdCA9IHJlc3VsdCB8fCAoeFszXVsyXSAhPSAwKTsKKyAgICByZXN1bHQgPSByZXN1bHQgfHwg
KHhbM11bM10gIT0gMCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordWNoYXIgYWJzKHVjaGFy
IHgpIHsKKyAgICByZXR1cm4geDsKK30KK3VzaG9ydCBhYnModXNob3J0IHgpIHsKKyAgICByZXR1
cm4geDsKK30KK3VpbnQgYWJzKHVpbnQgeCkgeworICAgIHJldHVybiB4OworfQorY2hhciBhYnMo
Y2hhciB4KSB7CisgICAgaWYgKHggPCAwKQorICAgICAgICByZXR1cm4gLXg7CisgICAgcmV0dXJu
IHg7Cit9CitzaG9ydCBhYnMoc2hvcnQgeCkgeworICAgIGlmICh4IDwgMCkKKyAgICAgICAgcmV0
dXJuIC14OworICAgIHJldHVybiB4OworfQoraW50IGFicyhpbnQgeCkgeworICAgIGlmICh4IDwg
MCkKKyAgICAgICAgcmV0dXJuIC14OworICAgIHJldHVybiB4OworfQoraGFsZiBhYnMoaGFsZiB4
KSB7CisgICAgaWYgKHggPCAwKQorICAgICAgICByZXR1cm4gLXg7CisgICAgcmV0dXJuIHg7Cit9
CitmbG9hdCBhYnMoZmxvYXQgeCkgeworICAgIGlmICh4IDwgMCkKKyAgICAgICAgcmV0dXJuIC14
OworICAgIHJldHVybiB4OworfQordWNoYXIyIGFicyh1Y2hhcjIgeCkgeworICAgIHVjaGFyMiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFicyh4
WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWNoYXIzIGFicyh1Y2hhcjMgeCkgeworICAg
IHVjaGFyMyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOworICAgIHJlc3VsdFsx
XSA9IGFicyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhYnMoeFsyXSk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK3VjaGFyNCBhYnModWNoYXI0IHgpIHsKKyAgICB1Y2hhcjQgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IGFicyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7CisgICAg
cmVzdWx0WzJdID0gYWJzKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGFicyh4WzNdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQordXNob3J0MiBhYnModXNob3J0MiB4KSB7CisgICAgdXNob3J0MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFicyh4
WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordXNob3J0MyBhYnModXNob3J0MyB4KSB7Cisg
ICAgdXNob3J0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOworICAgIHJlc3Vs
dFsxXSA9IGFicyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhYnMoeFsyXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK3VzaG9ydDQgYWJzKHVzaG9ydDQgeCkgeworICAgIHVzaG9ydDQgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IGFicyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7
CisgICAgcmVzdWx0WzJdID0gYWJzKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGFicyh4WzNdKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQordWludDIgYWJzKHVpbnQyIHgpIHsKKyAgICB1aW50MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFicyh4
WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludDMgYWJzKHVpbnQzIHgpIHsKKyAgICB1
aW50MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9
IGFicyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhYnMoeFsyXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK3VpbnQ0IGFicyh1aW50NCB4KSB7CisgICAgdWludDQgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IGFicyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7CisgICAgcmVzdWx0
WzJdID0gYWJzKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGFicyh4WzNdKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorY2hhcjIgYWJzKGNoYXIyIHgpIHsKKyAgICBjaGFyMiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gYWJzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorY2hhcjMgYWJzKGNoYXIzIHgpIHsKKyAgICBjaGFyMyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsK
KyAgICByZXN1bHRbMl0gPSBhYnMoeFsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2NoYXI0
IGFicyhjaGFyNCB4KSB7CisgICAgY2hhcjQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFicyh4
WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYWJzKHhb
Ml0pOworICAgIHJlc3VsdFszXSA9IGFicyh4WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
c2hvcnQyIGFicyhzaG9ydDIgeCkgeworICAgIHNob3J0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gYWJzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorc2hvcnQzIGFicyhzaG9ydDMgeCkgeworICAgIHNob3J0MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gYWJzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKKyAgICBy
ZXN1bHRbMl0gPSBhYnMoeFsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3Nob3J0NCBhYnMo
c2hvcnQ0IHgpIHsKKyAgICBzaG9ydDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFicyh4WzBd
KTsKKyAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYWJzKHhbMl0p
OworICAgIHJlc3VsdFszXSA9IGFicyh4WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraW50
MiBhYnMoaW50MiB4KSB7CisgICAgaW50MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJzKHhb
MF0pOworICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
aW50MyBhYnMoaW50MyB4KSB7CisgICAgaW50MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJz
KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhYnMo
eFsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2ludDQgYWJzKGludDQgeCkgeworICAgIGlu
dDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFicyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBh
YnMoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYWJzKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGFi
cyh4WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjIgYWJzKGhhbGYyIHgpIHsKKyAg
ICBoYWxmMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOworICAgIHJlc3VsdFsx
XSA9IGFicyh4WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjMgYWJzKGhhbGYzIHgp
IHsKKyAgICBoYWxmMyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOworICAgIHJl
c3VsdFsxXSA9IGFicyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhYnMoeFsyXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2hhbGY0IGFicyhoYWxmNCB4KSB7CisgICAgaGFsZjQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IGFicyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhYnMoeFsxXSk7Cisg
ICAgcmVzdWx0WzJdID0gYWJzKHhbMl0pOworICAgIHJlc3VsdFszXSA9IGFicyh4WzNdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4MiBhYnMoaGFsZjJ4MiB4KSB7CisgICAgaGFsZjJ4
MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cito
YWxmMngzIGFicyhoYWxmMngzIHgpIHsKKyAgICBoYWxmMngzIHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bMF0gPSBhYnMoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhYnMo
eFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGFicyh4WzFdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4NCBhYnMo
aGFsZjJ4NCB4KSB7CisgICAgaGFsZjJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWJz
KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBhYnMoeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gYWJzKHhbMF1bM10pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhYnMo
eFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOworICAgIHJlc3VsdFsx
XVszXSA9IGFicyh4WzFdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4MiBhYnMo
aGFsZjN4MiB4KSB7CisgICAgaGFsZjN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWJz
KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBhYnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGFicyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhYnMo
eFsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDMgYWJzKGhhbGYzeDMgeCkg
eworICAgIGhhbGYzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWJz
KHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBhYnMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOwor
ICAgIHJlc3VsdFsyXVswXSA9IGFicyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhYnMo
eFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYWJzKHhbMl1bMl0pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitoYWxmM3g0IGFicyhoYWxmM3g0IHgpIHsKKyAgICBoYWxmM3g0IHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWJz
KHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsKKyAgICByZXN1bHRb
MF1bM10gPSBhYnMoeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOwor
ICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhYnMo
eFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gYWJzKHhbMV1bM10pOworICAgIHJlc3VsdFsy
XVswXSA9IGFicyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzJdWzJdID0gYWJzKHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IGFicyh4
WzJdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4MiBhYnMoaGFsZjR4MiB4KSB7
CisgICAgaGFsZjR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhYnMo
eFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOworICAgIHJlc3VsdFsy
XVswXSA9IGFicyh4WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7Cisg
ICAgcmVzdWx0WzNdWzBdID0gYWJzKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGFicyh4
WzNdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4MyBhYnMoaGFsZjR4MyB4KSB7
CisgICAgaGFsZjR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhYnMo
eFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFsx
XVsxXSA9IGFicyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7Cisg
ICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4
WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBhYnMoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNd
WzBdID0gYWJzKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGFicyh4WzNdWzFdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBhYnMoeFszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hh
bGY0eDQgYWJzKGhhbGY0eDQgeCkgeworICAgIGhhbGY0eDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IGFicyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFicyh4
WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gYWJzKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMV1bM10gPSBhYnMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhb
Ml1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1b
Ml0gPSBhYnMoeFsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYWJzKHhbMl1bM10pOworICAg
IHJlc3VsdFszXVswXSA9IGFicyh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhYnMoeFsz
XVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gYWJzKHhbM11bMl0pOworICAgIHJlc3VsdFszXVsz
XSA9IGFicyh4WzNdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyIGFicyhmbG9h
dDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJzKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQz
IGFicyhmbG9hdDMgeCkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYWJz
KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFicyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhYnMo
eFsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NCBhYnMoZmxvYXQ0IHgpIHsKKyAg
ICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFicyh4WzBdKTsKKyAgICByZXN1bHRb
MV0gPSBhYnMoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYWJzKHhbMl0pOworICAgIHJlc3VsdFsz
XSA9IGFicyh4WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDIgYWJzKGZsb2F0
MngyIHgpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhb
MF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1b
MF0gPSBhYnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MyBhYnMoZmxvYXQyeDMgeCkgeworICAgIGZsb2F0
MngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBhYnMoeFswXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gYWJzKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGFicyh4WzBdWzJdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWJz
KHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorZmxvYXQyeDQgYWJzKGZsb2F0Mng0IHgpIHsKKyAgICBmbG9hdDJ4NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsyXSk7CisgICAgcmVz
dWx0WzBdWzNdID0gYWJzKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IGFicyh4WzFdWzBd
KTsKKyAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
YWJzKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IGFicyh4WzFdWzNdKTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorZmxvYXQzeDIgYWJzKGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDN4MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IGFicyh4WzJd
WzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2Zsb2F0M3gzIGFicyhmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IGFicyh4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMo
eFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gYWJzKHhbMF1bMl0pOworICAgIHJlc3VsdFsx
XVswXSA9IGFicyh4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBhYnMoeFsxXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gYWJzKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGFicyh4
WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gYWJzKHhbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4NCBhYnMo
ZmxvYXQzeDQgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBh
YnMoeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gYWJzKHhbMF1bMV0pOworICAgIHJlc3Vs
dFswXVsyXSA9IGFicyh4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBhYnMoeFswXVszXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFi
cyh4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CisgICAgcmVzdWx0
WzFdWzNdID0gYWJzKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IGFicyh4WzJdWzBdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gYWJz
KHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IGFicyh4WzJdWzNdKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorZmxvYXQ0eDIgYWJzKGZsb2F0NHgyIHgpIHsKKyAgICBmbG9hdDR4MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gYWJzKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IGFicyh4WzJdWzBd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBhYnMoeFsyXVsxXSk7CisgICAgcmVzdWx0WzNdWzBdID0g
YWJzKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IGFicyh4WzNdWzFdKTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorZmxvYXQ0eDMgYWJzKGZsb2F0NHgzIHgpIHsKKyAgICBmbG9hdDR4MyBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gYWJzKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IGFicyh4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBhYnMoeFswXVsyXSk7CisgICAg
cmVzdWx0WzFdWzBdID0gYWJzKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGFicyh4WzFd
WzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBhYnMoeFsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gYWJzKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsKKyAgICBy
ZXN1bHRbMl1bMl0gPSBhYnMoeFsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0gYWJzKHhbM11b
MF0pOworICAgIHJlc3VsdFszXVsxXSA9IGFicyh4WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0g
PSBhYnMoeFszXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0IGFicyhmbG9h
dDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGFicyh4
WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBhYnMoeFswXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gYWJzKHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IGFicyh4WzBdWzNdKTsKKyAg
ICByZXN1bHRbMV1bMF0gPSBhYnMoeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gYWJzKHhb
MV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGFicyh4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1b
M10gPSBhYnMoeFsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gYWJzKHhbMl1bMF0pOworICAg
IHJlc3VsdFsyXVsxXSA9IGFicyh4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBhYnMoeFsy
XVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gYWJzKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsw
XSA9IGFicyh4WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBhYnMoeFszXVsxXSk7CisgICAg
cmVzdWx0WzNdWzJdID0gYWJzKHhbM11bMl0pOworICAgIHJlc3VsdFszXVszXSA9IGFicyh4WzNd
WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit1Y2hhciBzaWduKHVjaGFyIHgpIHsKKyAg
ICByZXR1cm4geCA9PSAwID8gMCA6IDE7Cit9Cit1c2hvcnQgc2lnbih1c2hvcnQgeCkgeworICAg
IHJldHVybiB4ID09IDAgPyAwIDogMTsKK30KK3VpbnQgc2lnbih1aW50IHgpIHsKKyAgICByZXR1
cm4geCA9PSAwID8gMCA6IDE7Cit9CitjaGFyIHNpZ24oY2hhciB4KSB7CisgICAgaWYgKHggPCAw
KQorICAgICAgICByZXR1cm4gLTE7CisgICAgaWYgKHggPT0gMCkKKyAgICAgICAgcmV0dXJuIDA7
CisgICAgcmV0dXJuIDE7Cit9CitzaG9ydCBzaWduKHNob3J0IHgpIHsKKyAgICBpZiAoeCA8IDAp
CisgICAgICAgIHJldHVybiAtMTsKKyAgICBpZiAoeCA9PSAwKQorICAgICAgICByZXR1cm4gMDsK
KyAgICByZXR1cm4gMTsKK30KK2ludCBzaWduKGludCB4KSB7CisgICAgaWYgKHggPCAwKQorICAg
ICAgICByZXR1cm4gLTE7CisgICAgaWYgKHggPT0gMCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
cmV0dXJuIDE7Cit9CitoYWxmIHNpZ24oaGFsZiB4KSB7CisgICAgaWYgKHggPCAwKQorICAgICAg
ICByZXR1cm4gLTE7CisgICAgaWYgKHggPT0gMCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0
dXJuIDE7Cit9CitmbG9hdCBzaWduKGZsb2F0IHgpIHsKKyAgICBpZiAoeCA8IDApCisgICAgICAg
IHJldHVybiAtMTsKKyAgICBpZiAoeCA9PSAwKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1
cm4gMTsKK30KK3VjaGFyMiBzaWduKHVjaGFyMiB4KSB7CisgICAgdWNoYXIyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBzaWduKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHNpZ24oeFsxXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK3VjaGFyMyBzaWduKHVjaGFyMyB4KSB7CisgICAgdWNoYXIz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzaWduKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHNp
Z24oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gc2lnbih4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQordWNoYXI0IHNpZ24odWNoYXI0IHgpIHsKKyAgICB1Y2hhcjQgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IHNpZ24oeFswXSk7CisgICAgcmVzdWx0WzFdID0gc2lnbih4WzFdKTsKKyAgICBy
ZXN1bHRbMl0gPSBzaWduKHhbMl0pOworICAgIHJlc3VsdFszXSA9IHNpZ24oeFszXSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK3VzaG9ydDIgc2lnbih1c2hvcnQyIHgpIHsKKyAgICB1c2hvcnQy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzaWduKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHNp
Z24oeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VzaG9ydDMgc2lnbih1c2hvcnQzIHgp
IHsKKyAgICB1c2hvcnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzaWduKHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IHNpZ24oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gc2lnbih4WzJdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQordXNob3J0NCBzaWduKHVzaG9ydDQgeCkgeworICAgIHVzaG9y
dDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHNpZ24oeFswXSk7CisgICAgcmVzdWx0WzFdID0g
c2lnbih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBzaWduKHhbMl0pOworICAgIHJlc3VsdFszXSA9
IHNpZ24oeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VpbnQyIHNpZ24odWludDIgeCkg
eworICAgIHVpbnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzaWduKHhbMF0pOworICAgIHJl
c3VsdFsxXSA9IHNpZ24oeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VpbnQzIHNpZ24o
dWludDMgeCkgeworICAgIHVpbnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzaWduKHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IHNpZ24oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gc2lnbih4WzJd
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludDQgc2lnbih1aW50NCB4KSB7CisgICAgdWlu
dDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHNpZ24oeFswXSk7CisgICAgcmVzdWx0WzFdID0g
c2lnbih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBzaWduKHhbMl0pOworICAgIHJlc3VsdFszXSA9
IHNpZ24oeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2NoYXIyIHNpZ24oY2hhcjIgeCkg
eworICAgIGNoYXIyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzaWduKHhbMF0pOworICAgIHJl
c3VsdFsxXSA9IHNpZ24oeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2NoYXIzIHNpZ24o
Y2hhcjMgeCkgeworICAgIGNoYXIzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzaWduKHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IHNpZ24oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gc2lnbih4WzJd
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorY2hhcjQgc2lnbihjaGFyNCB4KSB7CisgICAgY2hh
cjQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHNpZ24oeFswXSk7CisgICAgcmVzdWx0WzFdID0g
c2lnbih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBzaWduKHhbMl0pOworICAgIHJlc3VsdFszXSA9
IHNpZ24oeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3Nob3J0MiBzaWduKHNob3J0MiB4
KSB7CisgICAgc2hvcnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzaWduKHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IHNpZ24oeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3Nob3J0MyBz
aWduKHNob3J0MyB4KSB7CisgICAgc2hvcnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzaWdu
KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IHNpZ24oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gc2ln
bih4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorc2hvcnQ0IHNpZ24oc2hvcnQ0IHgpIHsK
KyAgICBzaG9ydDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHNpZ24oeFswXSk7CisgICAgcmVz
dWx0WzFdID0gc2lnbih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBzaWduKHhbMl0pOworICAgIHJl
c3VsdFszXSA9IHNpZ24oeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2ludDIgc2lnbihp
bnQyIHgpIHsKKyAgICBpbnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzaWduKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IHNpZ24oeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2ludDMg
c2lnbihpbnQzIHgpIHsKKyAgICBpbnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzaWduKHhb
MF0pOworICAgIHJlc3VsdFsxXSA9IHNpZ24oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gc2lnbih4
WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraW50NCBzaWduKGludDQgeCkgeworICAgIGlu
dDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHNpZ24oeFswXSk7CisgICAgcmVzdWx0WzFdID0g
c2lnbih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBzaWduKHhbMl0pOworICAgIHJlc3VsdFszXSA9
IHNpZ24oeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyIHNpZ24oaGFsZjIgeCkg
eworICAgIGhhbGYyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzaWduKHhbMF0pOworICAgIHJl
c3VsdFsxXSA9IHNpZ24oeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzIHNpZ24o
aGFsZjMgeCkgeworICAgIGhhbGYzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzaWduKHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IHNpZ24oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gc2lnbih4WzJd
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjQgc2lnbihoYWxmNCB4KSB7CisgICAgaGFs
ZjQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHNpZ24oeFswXSk7CisgICAgcmVzdWx0WzFdID0g
c2lnbih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBzaWduKHhbMl0pOworICAgIHJlc3VsdFszXSA9
IHNpZ24oeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgc2lnbihoYWxmMngy
IHgpIHsKKyAgICBoYWxmMngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaWduKHhbMF1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpZ24oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gc2lnbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaWduKHhbMV1bMV0pOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngzIHNpZ24oaGFsZjJ4MyB4KSB7CisgICAgaGFsZjJ4
MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2lnbih4WzBdWzBdKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBzaWduKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpZ24oeFswXVsyXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gc2lnbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBz
aWduKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpZ24oeFsxXVsyXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2hhbGYyeDQgc2lnbihoYWxmMng0IHgpIHsKKyAgICBoYWxmMng0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaWduKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsx
XSA9IHNpZ24oeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2lnbih4WzBdWzJdKTsKKyAg
ICByZXN1bHRbMF1bM10gPSBzaWduKHhbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IHNpZ24o
eFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2lnbih4WzFdWzFdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBzaWduKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IHNpZ24oeFsxXVszXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDIgc2lnbihoYWxmM3gyIHgpIHsKKyAgICBo
YWxmM3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaWduKHhbMF1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHNpZ24oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2lnbih4WzFd
WzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaWduKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVsw
XSA9IHNpZ24oeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2lnbih4WzJdWzFdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4MyBzaWduKGhhbGYzeDMgeCkgeworICAgIGhhbGYz
eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpZ24oeFswXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gc2lnbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaWduKHhbMF1bMl0p
OworICAgIHJlc3VsdFsxXVswXSA9IHNpZ24oeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
c2lnbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBzaWduKHhbMV1bMl0pOworICAgIHJl
c3VsdFsyXVswXSA9IHNpZ24oeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2lnbih4WzJd
WzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzaWduKHhbMl1bMl0pOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitoYWxmM3g0IHNpZ24oaGFsZjN4NCB4KSB7CisgICAgaGFsZjN4NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0gc2lnbih4WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBzaWdu
KHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNpZ24oeFswXVsyXSk7CisgICAgcmVzdWx0
WzBdWzNdID0gc2lnbih4WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzaWduKHhbMV1bMF0p
OworICAgIHJlc3VsdFsxXVsxXSA9IHNpZ24oeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
c2lnbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBzaWduKHhbMV1bM10pOworICAgIHJl
c3VsdFsyXVswXSA9IHNpZ24oeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2lnbih4WzJd
WzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzaWduKHhbMl1bMl0pOworICAgIHJlc3VsdFsyXVsz
XSA9IHNpZ24oeFsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgc2lnbiho
YWxmNHgyIHgpIHsKKyAgICBoYWxmNHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaWdu
KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpZ24oeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gc2lnbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaWduKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVswXSA9IHNpZ24oeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
c2lnbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzaWduKHhbM11bMF0pOworICAgIHJl
c3VsdFszXVsxXSA9IHNpZ24oeFszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0
eDMgc2lnbihoYWxmNHgzIHgpIHsKKyAgICBoYWxmNHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
MF0gPSBzaWduKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpZ24oeFswXVsxXSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gc2lnbih4WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzaWdu
KHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpZ24oeFsxXVsxXSk7CisgICAgcmVzdWx0
WzFdWzJdID0gc2lnbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzaWduKHhbMl1bMF0p
OworICAgIHJlc3VsdFsyXVsxXSA9IHNpZ24oeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0g
c2lnbih4WzJdWzJdKTsKKyAgICByZXN1bHRbM11bMF0gPSBzaWduKHhbM11bMF0pOworICAgIHJl
c3VsdFszXVsxXSA9IHNpZ24oeFszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gc2lnbih4WzNd
WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4NCBzaWduKGhhbGY0eDQgeCkgewor
ICAgIGhhbGY0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpZ24oeFswXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gc2lnbih4WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaWdu
KHhbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IHNpZ24oeFswXVszXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gc2lnbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaWduKHhbMV1bMV0p
OworICAgIHJlc3VsdFsxXVsyXSA9IHNpZ24oeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
c2lnbih4WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBzaWduKHhbMl1bMF0pOworICAgIHJl
c3VsdFsyXVsxXSA9IHNpZ24oeFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc2lnbih4WzJd
WzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBzaWduKHhbMl1bM10pOworICAgIHJlc3VsdFszXVsw
XSA9IHNpZ24oeFszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gc2lnbih4WzNdWzFdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBzaWduKHhbM11bMl0pOworICAgIHJlc3VsdFszXVszXSA9IHNpZ24o
eFszXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MiBzaWduKGZsb2F0MiB4KSB7
CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzaWduKHhbMF0pOworICAgIHJl
c3VsdFsxXSA9IHNpZ24oeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MyBzaWdu
KGZsb2F0MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBzaWduKHhb
MF0pOworICAgIHJlc3VsdFsxXSA9IHNpZ24oeFsxXSk7CisgICAgcmVzdWx0WzJdID0gc2lnbih4
WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0IHNpZ24oZmxvYXQ0IHgpIHsKKyAg
ICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHNpZ24oeFswXSk7CisgICAgcmVzdWx0
WzFdID0gc2lnbih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBzaWduKHhbMl0pOworICAgIHJlc3Vs
dFszXSA9IHNpZ24oeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MngyIHNpZ24o
ZmxvYXQyeDIgeCkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBz
aWduKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpZ24oeFswXVsxXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gc2lnbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaWduKHhbMV1b
MV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MyBzaWduKGZsb2F0MngzIHgpIHsK
KyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2lnbih4WzBdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBzaWduKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNp
Z24oeFswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2lnbih4WzFdWzBdKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBzaWduKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNpZ24oeFsxXVsy
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0Mng0IHNpZ24oZmxvYXQyeDQgeCkgewor
ICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaWduKHhbMF1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IHNpZ24oeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2ln
bih4WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBzaWduKHhbMF1bM10pOworICAgIHJlc3Vs
dFsxXVswXSA9IHNpZ24oeFsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gc2lnbih4WzFdWzFd
KTsKKyAgICByZXN1bHRbMV1bMl0gPSBzaWduKHhbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9
IHNpZ24oeFsxXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gyIHNpZ24oZmxv
YXQzeDIgeCkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaWdu
KHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IHNpZ24oeFswXVsxXSk7CisgICAgcmVzdWx0
WzFdWzBdID0gc2lnbih4WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBzaWduKHhbMV1bMV0p
OworICAgIHJlc3VsdFsyXVswXSA9IHNpZ24oeFsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
c2lnbih4WzJdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDMgc2lnbihmbG9h
dDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHNpZ24o
eFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2lnbih4WzBdWzFdKTsKKyAgICByZXN1bHRb
MF1bMl0gPSBzaWduKHhbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IHNpZ24oeFsxXVswXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gc2lnbih4WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBz
aWduKHhbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IHNpZ24oeFsyXVswXSk7CisgICAgcmVz
dWx0WzJdWzFdID0gc2lnbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzaWduKHhbMl1b
Ml0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4NCBzaWduKGZsb2F0M3g0IHgpIHsK
KyAgICBmbG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gc2lnbih4WzBdWzBdKTsK
KyAgICByZXN1bHRbMF1bMV0gPSBzaWduKHhbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IHNp
Z24oeFswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gc2lnbih4WzBdWzNdKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBzaWduKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IHNpZ24oeFsxXVsx
XSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2lnbih4WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10g
PSBzaWduKHhbMV1bM10pOworICAgIHJlc3VsdFsyXVswXSA9IHNpZ24oeFsyXVswXSk7CisgICAg
cmVzdWx0WzJdWzFdID0gc2lnbih4WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBzaWduKHhb
Ml1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IHNpZ24oeFsyXVszXSk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK2Zsb2F0NHgyIHNpZ24oZmxvYXQ0eDIgeCkgeworICAgIGZsb2F0NHgyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaWduKHhbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IHNpZ24oeFswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2lnbih4WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBzaWduKHhbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IHNpZ24oeFsy
XVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gc2lnbih4WzJdWzFdKTsKKyAgICByZXN1bHRbM11b
MF0gPSBzaWduKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IHNpZ24oeFszXVsxXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHgzIHNpZ24oZmxvYXQ0eDMgeCkgeworICAgIGZs
b2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBzaWduKHhbMF1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IHNpZ24oeFswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gc2lnbih4WzBd
WzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBzaWduKHhbMV1bMF0pOworICAgIHJlc3VsdFsxXVsx
XSA9IHNpZ24oeFsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gc2lnbih4WzFdWzJdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBzaWduKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNpZ24o
eFsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gc2lnbih4WzJdWzJdKTsKKyAgICByZXN1bHRb
M11bMF0gPSBzaWduKHhbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IHNpZ24oeFszXVsxXSk7
CisgICAgcmVzdWx0WzNdWzJdID0gc2lnbih4WzNdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorZmxvYXQ0eDQgc2lnbihmbG9hdDR4NCB4KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHNpZ24oeFswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gc2lnbih4
WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBzaWduKHhbMF1bMl0pOworICAgIHJlc3VsdFsw
XVszXSA9IHNpZ24oeFswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gc2lnbih4WzFdWzBdKTsK
KyAgICByZXN1bHRbMV1bMV0gPSBzaWduKHhbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IHNp
Z24oeFsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gc2lnbih4WzFdWzNdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBzaWduKHhbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IHNpZ24oeFsyXVsx
XSk7CisgICAgcmVzdWx0WzJdWzJdID0gc2lnbih4WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10g
PSBzaWduKHhbMl1bM10pOworICAgIHJlc3VsdFszXVswXSA9IHNpZ24oeFszXVswXSk7CisgICAg
cmVzdWx0WzNdWzFdID0gc2lnbih4WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSBzaWduKHhb
M11bMl0pOworICAgIHJlc3VsdFszXVszXSA9IHNpZ24oeFszXVszXSk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KKwordWNoYXIgbWluKHVjaGFyIHgsIHVjaGFyIHkpIHsKKyAgICByZXR1cm4geCA+
IHkgPyB5IDogeDsKK30KK3VjaGFyIG1heCh1Y2hhciB4LCB1Y2hhciB5KSB7CisgICAgcmV0dXJu
IHggPiB5ID8geCA6IHk7Cit9Cit1Y2hhcjIgbWluKHVjaGFyMiB4LCB1Y2hhcjIgeSkgeworICAg
IHVjaGFyMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0pOworICAgIHJl
c3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWNoYXIz
IG1pbih1Y2hhcjMgeCwgdWNoYXIzIHkpIHsKKyAgICB1Y2hhcjMgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IG1pbih4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtaW4oeFsxXSwgeVsxXSk7
CisgICAgcmVzdWx0WzJdID0gbWluKHhbMl0sIHlbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9
Cit1Y2hhcjQgbWluKHVjaGFyNCB4LCB1Y2hhcjQgeSkgeworICAgIHVjaGFyNCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IG1pbih4WzFd
LCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBtaW4oeFsyXSwgeVsyXSk7CisgICAgcmVzdWx0WzNd
ID0gbWluKHhbM10sIHlbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1Y2hhcjIgbWF4KHVj
aGFyMiB4LCB1Y2hhcjIgeSkgeworICAgIHVjaGFyMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
bWF4KHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IG1heCh4WzFdLCB5WzFdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQordWNoYXIzIG1heCh1Y2hhcjMgeCwgdWNoYXIzIHkpIHsKKyAgICB1
Y2hhcjMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1heCh4WzBdLCB5WzBdKTsKKyAgICByZXN1
bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gbWF4KHhbMl0sIHlbMl0p
OworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1Y2hhcjQgbWF4KHVjaGFyNCB4LCB1Y2hhcjQgeSkg
eworICAgIHVjaGFyNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbWF4KHhbMF0sIHlbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IG1heCh4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBtYXgoeFsy
XSwgeVsyXSk7CisgICAgcmVzdWx0WzNdID0gbWF4KHhbM10sIHlbM10pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CisKK3VzaG9ydCBtaW4odXNob3J0IHgsIHVzaG9ydCB5KSB7CisgICAgcmV0dXJu
IHggPiB5ID8geSA6IHg7Cit9Cit1c2hvcnQgbWF4KHVzaG9ydCB4LCB1c2hvcnQgeSkgeworICAg
IHJldHVybiB4ID4geSA/IHggOiB5OworfQordXNob3J0MiBtaW4odXNob3J0MiB4LCB1c2hvcnQy
IHkpIHsKKyAgICB1c2hvcnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBtaW4oeFswXSwgeVsw
XSk7CisgICAgcmVzdWx0WzFdID0gbWluKHhbMV0sIHlbMV0pOworICAgIHJldHVybiByZXN1bHQ7
Cit9Cit1c2hvcnQzIG1pbih1c2hvcnQzIHgsIHVzaG9ydDMgeSkgeworICAgIHVzaG9ydDMgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IG1pbih4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBt
aW4oeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gbWluKHhbMl0sIHlbMl0pOworICAgIHJl
dHVybiByZXN1bHQ7Cit9Cit1c2hvcnQ0IG1pbih1c2hvcnQ0IHgsIHVzaG9ydDQgeSkgeworICAg
IHVzaG9ydDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1pbih4WzBdLCB5WzBdKTsKKyAgICBy
ZXN1bHRbMV0gPSBtaW4oeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gbWluKHhbMl0sIHlb
Ml0pOworICAgIHJlc3VsdFszXSA9IG1pbih4WzNdLCB5WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQordXNob3J0MiBtYXgodXNob3J0MiB4LCB1c2hvcnQyIHkpIHsKKyAgICB1c2hvcnQyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0g
bWF4KHhbMV0sIHlbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1c2hvcnQzIG1heCh1c2hv
cnQzIHgsIHVzaG9ydDMgeSkgeworICAgIHVzaG9ydDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9
IG1heCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7CisgICAg
cmVzdWx0WzJdID0gbWF4KHhbMl0sIHlbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1c2hv
cnQ0IG1heCh1c2hvcnQ0IHgsIHVzaG9ydDQgeSkgeworICAgIHVzaG9ydDQgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IG1heCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwg
eVsxXSk7CisgICAgcmVzdWx0WzJdID0gbWF4KHhbMl0sIHlbMl0pOworICAgIHJlc3VsdFszXSA9
IG1heCh4WzNdLCB5WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit1aW50IG1pbih1aW50
IHgsIHVpbnQgeSkgeworICAgIHJldHVybiB4ID4geSA/IHkgOiB4OworfQordWludCBtYXgodWlu
dCB4LCB1aW50IHkpIHsKKyAgICByZXR1cm4geCA+IHkgPyB4IDogeTsKK30KK3VpbnQyIG1pbih1
aW50MiB4LCB1aW50MiB5KSB7CisgICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1p
bih4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtaW4oeFsxXSwgeVsxXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK3VpbnQzIG1pbih1aW50MyB4LCB1aW50MyB5KSB7CisgICAgdWludDMg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1pbih4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0g
PSBtaW4oeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gbWluKHhbMl0sIHlbMl0pOworICAg
IHJldHVybiByZXN1bHQ7Cit9Cit1aW50NCBtaW4odWludDQgeCwgdWludDQgeSkgeworICAgIHVp
bnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7CisgICAgcmVzdWx0
WzFdID0gbWluKHhbMV0sIHlbMV0pOworICAgIHJlc3VsdFsyXSA9IG1pbih4WzJdLCB5WzJdKTsK
KyAgICByZXN1bHRbM10gPSBtaW4oeFszXSwgeVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K3VpbnQyIG1heCh1aW50MiB4LCB1aW50MiB5KSB7CisgICAgdWludDIgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IG1heCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsx
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VpbnQzIG1heCh1aW50MyB4LCB1aW50MyB5KSB7
CisgICAgdWludDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1heCh4WzBdLCB5WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0gbWF4KHhbMl0s
IHlbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50NCBtYXgodWludDQgeCwgdWludDQg
eSkgeworICAgIHVpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7
CisgICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0pOworICAgIHJlc3VsdFsyXSA9IG1heCh4
WzJdLCB5WzJdKTsKKyAgICByZXN1bHRbM10gPSBtYXgoeFszXSwgeVszXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KKworY2hhciBtaW4oY2hhciB4LCBjaGFyIHkpIHsKKyAgICByZXR1cm4geCA+
IHkgPyB5IDogeDsKK30KK2NoYXIgbWF4KGNoYXIgeCwgY2hhciB5KSB7CisgICAgcmV0dXJuIHgg
PiB5ID8geCA6IHk7Cit9CitjaGFyMiBtaW4oY2hhcjIgeCwgY2hhcjIgeSkgeworICAgIGNoYXIy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFd
ID0gbWluKHhbMV0sIHlbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitjaGFyMyBtaW4oY2hh
cjMgeCwgY2hhcjMgeSkgeworICAgIGNoYXIzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBtaW4o
eFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWluKHhbMV0sIHlbMV0pOworICAgIHJlc3Vs
dFsyXSA9IG1pbih4WzJdLCB5WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorY2hhcjQgbWlu
KGNoYXI0IHgsIGNoYXI0IHkpIHsKKyAgICBjaGFyNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
bWluKHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKKyAgICBy
ZXN1bHRbMl0gPSBtaW4oeFsyXSwgeVsyXSk7CisgICAgcmVzdWx0WzNdID0gbWluKHhbM10sIHlb
M10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitjaGFyMiBtYXgoY2hhcjIgeCwgY2hhcjIgeSkg
eworICAgIGNoYXIyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7Cisg
ICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Citj
aGFyMyBtYXgoY2hhcjMgeCwgY2hhcjMgeSkgeworICAgIGNoYXIzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0p
OworICAgIHJlc3VsdFsyXSA9IG1heCh4WzJdLCB5WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorY2hhcjQgbWF4KGNoYXI0IHgsIGNoYXI0IHkpIHsKKyAgICBjaGFyNCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gbWF4KHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsxXSA9IG1heCh4WzFdLCB5
WzFdKTsKKyAgICByZXN1bHRbMl0gPSBtYXgoeFsyXSwgeVsyXSk7CisgICAgcmVzdWx0WzNdID0g
bWF4KHhbM10sIHlbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3Nob3J0IG1pbihzaG9y
dCB4LCBzaG9ydCB5KSB7CisgICAgcmV0dXJuIHggPiB5ID8geSA6IHg7Cit9CitzaG9ydCBtYXgo
c2hvcnQgeCwgc2hvcnQgeSkgeworICAgIHJldHVybiB4ID4geSA/IHggOiB5OworfQorc2hvcnQy
IG1pbihzaG9ydDIgeCwgc2hvcnQyIHkpIHsKKyAgICBzaG9ydDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IG1pbih4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtaW4oeFsxXSwgeVsxXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3Nob3J0MyBtaW4oc2hvcnQzIHgsIHNob3J0MyB5KSB7
CisgICAgc2hvcnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7Cisg
ICAgcmVzdWx0WzFdID0gbWluKHhbMV0sIHlbMV0pOworICAgIHJlc3VsdFsyXSA9IG1pbih4WzJd
LCB5WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorc2hvcnQ0IG1pbihzaG9ydDQgeCwgc2hv
cnQ0IHkpIHsKKyAgICBzaG9ydDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1pbih4WzBdLCB5
WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtaW4oeFsxXSwgeVsxXSk7CisgICAgcmVzdWx0WzJdID0g
bWluKHhbMl0sIHlbMl0pOworICAgIHJlc3VsdFszXSA9IG1pbih4WzNdLCB5WzNdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorc2hvcnQyIG1heChzaG9ydDIgeCwgc2hvcnQyIHkpIHsKKyAgICBz
aG9ydDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1heCh4WzBdLCB5WzBdKTsKKyAgICByZXN1
bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3Nob3J0MyBt
YXgoc2hvcnQzIHgsIHNob3J0MyB5KSB7CisgICAgc2hvcnQzIHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBtYXgoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0pOwor
ICAgIHJlc3VsdFsyXSA9IG1heCh4WzJdLCB5WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
c2hvcnQ0IG1heChzaG9ydDQgeCwgc2hvcnQ0IHkpIHsKKyAgICBzaG9ydDQgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IG1heCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwg
eVsxXSk7CisgICAgcmVzdWx0WzJdID0gbWF4KHhbMl0sIHlbMl0pOworICAgIHJlc3VsdFszXSA9
IG1heCh4WzNdLCB5WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitpbnQgbWluKGludCB4
LCBpbnQgeSkgeworICAgIHJldHVybiB4ID4geSA/IHkgOiB4OworfQoraW50IG1heChpbnQgeCwg
aW50IHkpIHsKKyAgICByZXR1cm4geCA+IHkgPyB4IDogeTsKK30KK2ludDIgbWluKGludDIgeCwg
aW50MiB5KSB7CisgICAgaW50MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlb
MF0pOworICAgIHJlc3VsdFsxXSA9IG1pbih4WzFdLCB5WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQoraW50MyBtaW4oaW50MyB4LCBpbnQzIHkpIHsKKyAgICBpbnQzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWluKHhbMV0sIHlb
MV0pOworICAgIHJlc3VsdFsyXSA9IG1pbih4WzJdLCB5WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQoraW50NCBtaW4oaW50NCB4LCBpbnQ0IHkpIHsKKyAgICBpbnQ0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWluKHhbMV0sIHlb
MV0pOworICAgIHJlc3VsdFsyXSA9IG1pbih4WzJdLCB5WzJdKTsKKyAgICByZXN1bHRbM10gPSBt
aW4oeFszXSwgeVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2ludDIgbWF4KGludDIgeCwg
aW50MiB5KSB7CisgICAgaW50MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbWF4KHhbMF0sIHlb
MF0pOworICAgIHJlc3VsdFsxXSA9IG1heCh4WzFdLCB5WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQoraW50MyBtYXgoaW50MyB4LCBpbnQzIHkpIHsKKyAgICBpbnQzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlb
MV0pOworICAgIHJlc3VsdFsyXSA9IG1heCh4WzJdLCB5WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQoraW50NCBtYXgoaW50NCB4LCBpbnQ0IHkpIHsKKyAgICBpbnQ0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlb
MV0pOworICAgIHJlc3VsdFsyXSA9IG1heCh4WzJdLCB5WzJdKTsKKyAgICByZXN1bHRbM10gPSBt
YXgoeFszXSwgeVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworaGFsZiBtaW4oaGFsZiB4
LCBoYWxmIHkpIHsKKyAgICByZXR1cm4geCA+IHkgPyB5IDogeDsKK30KK2hhbGYgbWF4KGhhbGYg
eCwgaGFsZiB5KSB7CisgICAgcmV0dXJuIHggPiB5ID8geCA6IHk7Cit9CitoYWxmMiBtaW4oaGFs
ZjIgeCwgaGFsZjIgeSkgeworICAgIGhhbGYyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBtaW4o
eFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWluKHhbMV0sIHlbMV0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitoYWxmMyBtaW4oaGFsZjMgeCwgaGFsZjMgeSkgeworICAgIGhhbGYzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSBtaW4oeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0g
bWluKHhbMV0sIHlbMV0pOworICAgIHJlc3VsdFsyXSA9IG1pbih4WzJdLCB5WzJdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQoraGFsZjQgbWluKGhhbGY0IHgsIGhhbGY0IHkpIHsKKyAgICBoYWxm
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbWluKHhbMF0sIHlbMF0pOworICAgIHJlc3VsdFsx
XSA9IG1pbih4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBtaW4oeFsyXSwgeVsyXSk7Cisg
ICAgcmVzdWx0WzNdID0gbWluKHhbM10sIHlbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cito
YWxmMngyIG1pbihoYWxmMngyIHgsIGhhbGYyeDIgeSkgeworICAgIGhhbGYyeDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1b
MF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4MyBtaW4oaGFsZjJ4MyB4LCBoYWxmMngzIHkp
IHsKKyAgICBoYWxmMngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwg
eVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0g
PSBtaW4oeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0s
IHlbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4NCBtaW4oaGFsZjJ4NCB4LCBoYWxmMng0IHkpIHsK
KyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVsw
XVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJl
c3VsdFswXVsyXSA9IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBt
aW4oeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlb
MV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0g
bWluKHhbMV1bM10sIHlbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gyIG1p
bihoYWxmM3gyIHgsIGhhbGYzeDIgeSkgeworICAgIGhhbGYzeDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtaW4o
eFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1b
MF0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1
bHRbMl1bMF0gPSBtaW4oeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWlu
KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gzIG1pbiho
YWxmM3gzIHgsIGhhbGYzeDMgeSkgeworICAgIGhhbGYzeDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFsw
XVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0p
OworICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRb
MV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWluKHhb
MV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IG1pbih4WzJdWzBdLCB5WzJdWzBd
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0
WzJdWzJdID0gbWluKHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cito
YWxmM3g0IG1pbihoYWxmM3g0IHgsIGhhbGYzeDQgeSkgeworICAgIGhhbGYzeDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1b
MV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1b
Ml0sIHlbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IG1pbih4WzBdWzNdLCB5WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFd
WzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBtaW4oeFsxXVszXSwgeVsxXVszXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFsy
XVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsy
XVsyXSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbWluKHhbMl1bM10sIHlbMl1bM10p
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHgyIG1pbihoYWxmNHgyIHgsIGhhbGY0eDIg
eSkgeworICAgIGhhbGY0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IG1pbih4WzBdWzBd
LCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVswXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsx
XSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtaW4oeFsyXVsw
XSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWluKHhbMl1bMV0sIHlbMl1bMV0pOwor
ICAgIHJlc3VsdFszXVswXSA9IG1pbih4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbM11b
MV0gPSBtaW4oeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0
eDMgbWluKGhhbGY0eDMgeCwgaGFsZjR4MyB5KSB7CisgICAgaGFsZjR4MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9
IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtaW4oeFswXVsyXSwg
eVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAg
IHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0g
PSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWluKHhbMl1bMF0s
IHlbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBd
ID0gbWluKHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IG1pbih4WzNdWzFd
LCB5WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSBtaW4oeFszXVsyXSwgeVszXVsyXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDQgbWluKGhhbGY0eDQgeCwgaGFsZjR4NCB5KSB7
CisgICAgaGFsZjR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlb
MF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICBy
ZXN1bHRbMF1bMl0gPSBtaW4oeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
bWluKHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5
WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7CisgICAg
cmVzdWx0WzFdWzJdID0gbWluKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9
IG1pbih4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtaW4oeFsyXVswXSwg
eVsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWluKHhbMl1bMV0sIHlbMl1bMV0pOworICAg
IHJlc3VsdFsyXVsyXSA9IG1pbih4WzJdWzJdLCB5WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10g
PSBtaW4oeFsyXVszXSwgeVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbWluKHhbM11bMF0s
IHlbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IG1pbih4WzNdWzFdLCB5WzNdWzFdKTsKKyAg
ICByZXN1bHRbM11bMl0gPSBtaW4oeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmVzdWx0WzNdWzNd
ID0gbWluKHhbM11bM10sIHlbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMiBt
YXgoaGFsZjIgeCwgaGFsZjIgeSkgeworICAgIGhhbGYyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBtYXgoeFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0pOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitoYWxmMyBtYXgoaGFsZjMgeCwgaGFsZjMgeSkgeworICAgIGhh
bGYzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBtYXgoeFswXSwgeVswXSk7CisgICAgcmVzdWx0
WzFdID0gbWF4KHhbMV0sIHlbMV0pOworICAgIHJlc3VsdFsyXSA9IG1heCh4WzJdLCB5WzJdKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjQgbWF4KGhhbGY0IHgsIGhhbGY0IHkpIHsKKyAg
ICBoYWxmNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbWF4KHhbMF0sIHlbMF0pOworICAgIHJl
c3VsdFsxXSA9IG1heCh4WzFdLCB5WzFdKTsKKyAgICByZXN1bHRbMl0gPSBtYXgoeFsyXSwgeVsy
XSk7CisgICAgcmVzdWx0WzNdID0gbWF4KHhbM10sIHlbM10pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitoYWxmMngyIG1heChoYWxmMngyIHgsIGhhbGYyeDIgeSkgeworICAgIGhhbGYyeDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWF4
KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFd
WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4MyBtYXgoaGFsZjJ4MyB4LCBoYWxm
MngzIHkpIHsKKyAgICBoYWxmMngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFsw
XVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRb
MV1bMF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWF4KHhb
MV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFdWzJd
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4NCBtYXgoaGFsZjJ4NCB4LCBoYWxmMng0
IHkpIHsKKyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVsw
XSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOwor
ICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMF1b
M10gPSBtYXgoeFswXVszXSwgeVswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1b
MF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsK
KyAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzFd
WzNdID0gbWF4KHhbMV1bM10sIHlbMV1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxm
M3gyIG1heChoYWxmM3gyIHgsIGhhbGYzeDIgeSkgeworICAgIGhhbGYzeDIgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0g
PSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0s
IHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMF0gPSBtYXgoeFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFd
ID0gbWF4KHhbMl1bMV0sIHlbMl1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gz
IG1heChoYWxmM3gzIHgsIGhhbGYzeDMgeSkgeworICAgIGhhbGYzeDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBt
YXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlb
MF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
bWF4KHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5
WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAg
cmVzdWx0WzJdWzJdID0gbWF4KHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitoYWxmM3g0IG1heChoYWxmM3g0IHgsIGhhbGYzeDQgeSkgeworICAgIGhhbGYzeDQgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1
bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWF4
KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3VsdFswXVszXSA9IG1heCh4WzBdWzNdLCB5WzBd
WzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1h
eCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBtYXgoeFsxXVszXSwgeVsx
XVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWF4KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJl
c3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBt
YXgoeFsyXVsyXSwgeVsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gbWF4KHhbMl1bM10sIHlb
Ml1bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHgyIG1heChoYWxmNHgyIHgsIGhh
bGY0eDIgeSkgeworICAgIGhhbGY0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IG1heCh4
WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsx
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtYXgo
eFsyXVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlbMl1b
MV0pOworICAgIHJlc3VsdFszXVswXSA9IG1heCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1
bHRbM11bMV0gPSBtYXgoeFszXVsxXSwgeVszXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2hhbGY0eDMgbWF4KGhhbGY0eDMgeCwgaGFsZjR4MyB5KSB7CisgICAgaGFsZjR4MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFsw
XVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0p
OworICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWF4KHhb
Ml1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBtYXgoeFsyXVsyXSwgeVsyXVsyXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gbWF4KHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IG1heCh4
WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSBtYXgoeFszXVsyXSwgeVszXVsy
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDQgbWF4KGhhbGY0eDQgeCwgaGFsZjR4
NCB5KSB7CisgICAgaGFsZjR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1b
MF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzBd
WzNdID0gbWF4KHhbMF1bM10sIHlbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFd
WzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7
CisgICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsx
XVszXSA9IG1heCh4WzFdWzNdLCB5WzFdWzNdKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtYXgoeFsy
XVswXSwgeVsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gbWF4KHhbMl1bMV0sIHlbMl1bMV0p
OworICAgIHJlc3VsdFsyXVsyXSA9IG1heCh4WzJdWzJdLCB5WzJdWzJdKTsKKyAgICByZXN1bHRb
Ml1bM10gPSBtYXgoeFsyXVszXSwgeVsyXVszXSk7CisgICAgcmVzdWx0WzNdWzBdID0gbWF4KHhb
M11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IG1heCh4WzNdWzFdLCB5WzNdWzFd
KTsKKyAgICByZXN1bHRbM11bMl0gPSBtYXgoeFszXVsyXSwgeVszXVsyXSk7CisgICAgcmVzdWx0
WzNdWzNdID0gbWF4KHhbM11bM10sIHlbM11bM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9CisK
K2Zsb2F0IG1pbihmbG9hdCB4LCBmbG9hdCB5KSB7CisgICAgcmV0dXJuIHggPiB5ID8geSA6IHg7
Cit9CitmbG9hdCBtYXgoZmxvYXQgeCwgZmxvYXQgeSkgeworICAgIHJldHVybiB4ID4geSA/IHgg
OiB5OworfQorZmxvYXQyIG1pbihmbG9hdDIgeCwgZmxvYXQyIHkpIHsKKyAgICBmbG9hdDIgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IG1pbih4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBt
aW4oeFsxXSwgeVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MyBtaW4oZmxvYXQz
IHgsIGZsb2F0MyB5KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBtaW4o
eFswXSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWluKHhbMV0sIHlbMV0pOworICAgIHJlc3Vs
dFsyXSA9IG1pbih4WzJdLCB5WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0IG1p
bihmbG9hdDQgeCwgZmxvYXQ0IHkpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IG1pbih4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtaW4oeFsxXSwgeVsxXSk7Cisg
ICAgcmVzdWx0WzJdID0gbWluKHhbMl0sIHlbMl0pOworICAgIHJlc3VsdFszXSA9IG1pbih4WzNd
LCB5WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDIgbWluKGZsb2F0MngyIHgs
IGZsb2F0MngyIHkpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
bWluKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDJ4MyBtaW4oZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSkgeworICAgIGZsb2F0Mngz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7CisgICAg
cmVzdWx0WzBdWzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9
IG1pbih4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwg
eVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOworICAg
IHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorZmxvYXQyeDQgbWluKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKKyAgICBmbG9hdDJ4
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOworICAg
IHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0g
PSBtaW4oeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWluKHhbMF1bM10s
IHlbMF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJd
ID0gbWluKHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IG1pbih4WzFdWzNd
LCB5WzFdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDIgbWluKGZsb2F0M3gy
IHgsIGZsb2F0M3gyIHkpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFd
LCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7Cisg
ICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVsw
XSA9IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsx
XSwgeVsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gzIG1pbihmbG9hdDN4
MyB4LCBmbG9hdDN4MyB5KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVsw
XSA9IG1pbih4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsx
XSwgeVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IG1pbih4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMV1b
MV0gPSBtaW4oeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWluKHhbMV1b
Ml0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gbWluKHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDN4NCBtaW4oZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSBtaW4oeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gbWluKHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1pbih4WzBd
WzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBtaW4oeFswXVszXSwgeVswXVszXSk7
CisgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsx
XVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtaW4oeFsx
XVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWluKHhbMV1bM10sIHlbMV1bM10p
OworICAgIHJlc3VsdFsyXVswXSA9IG1pbih4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRb
Ml1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbWluKHhb
Ml1bMl0sIHlbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IG1pbih4WzJdWzNdLCB5WzJdWzNd
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDIgbWluKGZsb2F0NHgyIHgsIGZsb2F0
NHgyIHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWluKHhb
MF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFd
KTsKKyAgICByZXN1bHRbMV1bMF0gPSBtaW4oeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gbWluKHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IG1pbih4
WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtaW4oeFsyXVsxXSwgeVsyXVsx
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gbWluKHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3Vs
dFszXVsxXSA9IG1pbih4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
ZmxvYXQ0eDMgbWluKGZsb2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsKKyAgICBmbG9hdDR4MyByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWluKHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3Vs
dFswXVsxXSA9IG1pbih4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtaW4o
eFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWluKHhbMV1bMF0sIHlbMV1b
MF0pOworICAgIHJlc3VsdFsxXVsxXSA9IG1pbih4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1
bHRbMV1bMl0gPSBtaW4oeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWlu
KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5WzJd
WzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7CisgICAgcmVz
dWx0WzNdWzBdID0gbWluKHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IG1p
bih4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSBtaW4oeFszXVsyXSwgeVsz
XVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0IG1pbihmbG9hdDR4NCB4LCBm
bG9hdDR4NCB5KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IG1p
bih4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtaW4oeFswXVsxXSwgeVsw
XVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWluKHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJl
c3VsdFswXVszXSA9IG1pbih4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBt
aW4oeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWluKHhbMV1bMV0sIHlb
MV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1pbih4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICBy
ZXN1bHRbMV1bM10gPSBtaW4oeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0g
bWluKHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1pbih4WzJdWzFdLCB5
WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtaW4oeFsyXVsyXSwgeVsyXVsyXSk7CisgICAg
cmVzdWx0WzJdWzNdID0gbWluKHhbMl1bM10sIHlbMl1bM10pOworICAgIHJlc3VsdFszXVswXSA9
IG1pbih4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBtaW4oeFszXVsxXSwg
eVszXVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbWluKHhbM11bMl0sIHlbM11bMl0pOworICAg
IHJlc3VsdFszXVszXSA9IG1pbih4WzNdWzNdLCB5WzNdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorZmxvYXQyIG1heChmbG9hdDIgeCwgZmxvYXQyIHkpIHsKKyAgICBmbG9hdDIgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IG1heCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtYXgo
eFsxXSwgeVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MyBtYXgoZmxvYXQzIHgs
IGZsb2F0MyB5KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBtYXgoeFsw
XSwgeVswXSk7CisgICAgcmVzdWx0WzFdID0gbWF4KHhbMV0sIHlbMV0pOworICAgIHJlc3VsdFsy
XSA9IG1heCh4WzJdLCB5WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0IG1heChm
bG9hdDQgeCwgZmxvYXQ0IHkpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9
IG1heCh4WzBdLCB5WzBdKTsKKyAgICByZXN1bHRbMV0gPSBtYXgoeFsxXSwgeVsxXSk7CisgICAg
cmVzdWx0WzJdID0gbWF4KHhbMl0sIHlbMl0pOworICAgIHJlc3VsdFszXSA9IG1heCh4WzNdLCB5
WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDIgbWF4KGZsb2F0MngyIHgsIGZs
b2F0MngyIHkpIHsKKyAgICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWF4
KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBd
WzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVz
dWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDJ4MyBtYXgoZmxvYXQyeDMgeCwgZmxvYXQyeDMgeSkgeworICAgIGZsb2F0MngzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVz
dWx0WzBdWzFdID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1h
eCh4WzBdWzJdLCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsx
XVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJl
c3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorZmxvYXQyeDQgbWF4KGZsb2F0Mng0IHgsIGZsb2F0Mng0IHkpIHsKKyAgICBmbG9hdDJ4NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJl
c3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBt
YXgoeFswXVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gbWF4KHhbMF1bM10sIHlb
MF1bM10pOworICAgIHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICBy
ZXN1bHRbMV1bMV0gPSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0g
bWF4KHhbMV1bMl0sIHlbMV1bMl0pOworICAgIHJlc3VsdFsxXVszXSA9IG1heCh4WzFdWzNdLCB5
WzFdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDIgbWF4KGZsb2F0M3gyIHgs
IGZsb2F0M3gyIHkpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
bWF4KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5
WzBdWzFdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7CisgICAg
cmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9
IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwg
eVsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gzIG1heChmbG9hdDN4MyB4
LCBmbG9hdDN4MyB5KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9
IG1heCh4WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwg
eVswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOworICAg
IHJlc3VsdFsxXVswXSA9IG1heCh4WzFdWzBdLCB5WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0g
PSBtYXgoeFsxXVsxXSwgeVsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gbWF4KHhbMV1bMl0s
IHlbMV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAg
ICByZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJd
ID0gbWF4KHhbMl1bMl0sIHlbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4
NCBtYXgoZmxvYXQzeDQgeCwgZmxvYXQzeDQgeSkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSBtYXgoeFswXVswXSwgeVswXVswXSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gbWF4KHhbMF1bMV0sIHlbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IG1heCh4WzBdWzJd
LCB5WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBtYXgoeFswXVszXSwgeVswXVszXSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0pOworICAgIHJlc3VsdFsxXVsx
XSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtYXgoeFsxXVsy
XSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gbWF4KHhbMV1bM10sIHlbMV1bM10pOwor
ICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJdWzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gbWF4KHhbMl1b
Ml0sIHlbMl1bMl0pOworICAgIHJlc3VsdFsyXVszXSA9IG1heCh4WzJdWzNdLCB5WzJdWzNdKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDIgbWF4KGZsb2F0NHgyIHgsIGZsb2F0NHgy
IHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1b
MF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBtYXgoeFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFd
WzFdID0gbWF4KHhbMV1bMV0sIHlbMV1bMV0pOworICAgIHJlc3VsdFsyXVswXSA9IG1heCh4WzJd
WzBdLCB5WzJdWzBdKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtYXgoeFsyXVsxXSwgeVsyXVsxXSk7
CisgICAgcmVzdWx0WzNdWzBdID0gbWF4KHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFsz
XVsxXSA9IG1heCh4WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxv
YXQ0eDMgbWF4KGZsb2F0NHgzIHgsIGZsb2F0NHgzIHkpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gbWF4KHhbMF1bMF0sIHlbMF1bMF0pOworICAgIHJlc3VsdFsw
XVsxXSA9IG1heCh4WzBdWzFdLCB5WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtYXgoeFsw
XVsyXSwgeVswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gbWF4KHhbMV1bMF0sIHlbMV1bMF0p
OworICAgIHJlc3VsdFsxXVsxXSA9IG1heCh4WzFdWzFdLCB5WzFdWzFdKTsKKyAgICByZXN1bHRb
MV1bMl0gPSBtYXgoeFsxXVsyXSwgeVsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWF4KHhb
Ml1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJdWzFd
KTsKKyAgICByZXN1bHRbMl1bMl0gPSBtYXgoeFsyXVsyXSwgeVsyXVsyXSk7CisgICAgcmVzdWx0
WzNdWzBdID0gbWF4KHhbM11bMF0sIHlbM11bMF0pOworICAgIHJlc3VsdFszXVsxXSA9IG1heCh4
WzNdWzFdLCB5WzNdWzFdKTsKKyAgICByZXN1bHRbM11bMl0gPSBtYXgoeFszXVsyXSwgeVszXVsy
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0IG1heChmbG9hdDR4NCB4LCBmbG9h
dDR4NCB5KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IG1heCh4
WzBdWzBdLCB5WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtYXgoeFswXVsxXSwgeVswXVsx
XSk7CisgICAgcmVzdWx0WzBdWzJdID0gbWF4KHhbMF1bMl0sIHlbMF1bMl0pOworICAgIHJlc3Vs
dFswXVszXSA9IG1heCh4WzBdWzNdLCB5WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtYXgo
eFsxXVswXSwgeVsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gbWF4KHhbMV1bMV0sIHlbMV1b
MV0pOworICAgIHJlc3VsdFsxXVsyXSA9IG1heCh4WzFdWzJdLCB5WzFdWzJdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBtYXgoeFsxXVszXSwgeVsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gbWF4
KHhbMl1bMF0sIHlbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9IG1heCh4WzJdWzFdLCB5WzJd
WzFdKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtYXgoeFsyXVsyXSwgeVsyXVsyXSk7CisgICAgcmVz
dWx0WzJdWzNdID0gbWF4KHhbMl1bM10sIHlbMl1bM10pOworICAgIHJlc3VsdFszXVswXSA9IG1h
eCh4WzNdWzBdLCB5WzNdWzBdKTsKKyAgICByZXN1bHRbM11bMV0gPSBtYXgoeFszXVsxXSwgeVsz
XVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gbWF4KHhbM11bMl0sIHlbM11bMl0pOworICAgIHJl
c3VsdFszXVszXSA9IG1heCh4WzNdWzNdLCB5WzNdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorCit1Y2hhciBjbGFtcCh1Y2hhciB4LCB1Y2hhciBsb3dlciwgdWNoYXIgdXBwZXIpIHsKKyAg
ICByZXR1cm4gbWF4KG1pbih1cHBlciwgeCksIGxvd2VyKTsKK30KK3VjaGFyMiBjbGFtcCh1Y2hh
cjIgeCwgdWNoYXIyIHksIHVjaGFyMiB6KSB7CisgICAgdWNoYXIyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBjbGFtcCh4WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjbGFtcCh4
WzFdLCB5WzFdLCB6WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWNoYXIzIGNsYW1wKHVj
aGFyMyB4LCB1Y2hhcjMgeSwgdWNoYXIzIHopIHsKKyAgICB1Y2hhcjMgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGNsYW1wKHhbMF0sIHlbMF0sIHpbMF0pOworICAgIHJlc3VsdFsxXSA9IGNsYW1w
KHhbMV0sIHlbMV0sIHpbMV0pOworICAgIHJlc3VsdFsyXSA9IGNsYW1wKHhbMl0sIHlbMl0sIHpb
Ml0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1Y2hhcjQgY2xhbXAodWNoYXI0IHgsIHVjaGFy
NCB5LCB1Y2hhcjQgeikgeworICAgIHVjaGFyNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gY2xh
bXAoeFswXSwgeVswXSwgelswXSk7CisgICAgcmVzdWx0WzFdID0gY2xhbXAoeFsxXSwgeVsxXSwg
elsxXSk7CisgICAgcmVzdWx0WzJdID0gY2xhbXAoeFsyXSwgeVsyXSwgelsyXSk7CisgICAgcmVz
dWx0WzNdID0gY2xhbXAoeFszXSwgeVszXSwgelszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
KwordXNob3J0IGNsYW1wKHVzaG9ydCB4LCB1c2hvcnQgbG93ZXIsIHVzaG9ydCB1cHBlcikgewor
ICAgIHJldHVybiBtYXgobWluKHVwcGVyLCB4KSwgbG93ZXIpOworfQordXNob3J0MiBjbGFtcCh1
c2hvcnQyIHgsIHVzaG9ydDIgeSwgdXNob3J0MiB6KSB7CisgICAgdXNob3J0MiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gY2xhbXAoeFswXSwgeVswXSwgelswXSk7CisgICAgcmVzdWx0WzFdID0g
Y2xhbXAoeFsxXSwgeVsxXSwgelsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VzaG9ydDMg
Y2xhbXAodXNob3J0MyB4LCB1c2hvcnQzIHksIHVzaG9ydDMgeikgeworICAgIHVzaG9ydDMgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IGNsYW1wKHhbMF0sIHlbMF0sIHpbMF0pOworICAgIHJlc3Vs
dFsxXSA9IGNsYW1wKHhbMV0sIHlbMV0sIHpbMV0pOworICAgIHJlc3VsdFsyXSA9IGNsYW1wKHhb
Ml0sIHlbMl0sIHpbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1c2hvcnQ0IGNsYW1wKHVz
aG9ydDQgeCwgdXNob3J0NCB5LCB1c2hvcnQ0IHopIHsKKyAgICB1c2hvcnQ0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBjbGFtcCh4WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBj
bGFtcCh4WzFdLCB5WzFdLCB6WzFdKTsKKyAgICByZXN1bHRbMl0gPSBjbGFtcCh4WzJdLCB5WzJd
LCB6WzJdKTsKKyAgICByZXN1bHRbM10gPSBjbGFtcCh4WzNdLCB5WzNdLCB6WzNdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorCit1aW50IGNsYW1wKHVpbnQgeCwgdWludCBsb3dlciwgdWludCB1
cHBlcikgeworICAgIHJldHVybiBtYXgobWluKHVwcGVyLCB4KSwgbG93ZXIpOworfQordWludDIg
Y2xhbXAodWludDIgeCwgdWludDIgeSwgdWludDIgeikgeworICAgIHVpbnQyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBjbGFtcCh4WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBj
bGFtcCh4WzFdLCB5WzFdLCB6WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludDMgY2xh
bXAodWludDMgeCwgdWludDMgeSwgdWludDMgeikgeworICAgIHVpbnQzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSBjbGFtcCh4WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjbGFt
cCh4WzFdLCB5WzFdLCB6WzFdKTsKKyAgICByZXN1bHRbMl0gPSBjbGFtcCh4WzJdLCB5WzJdLCB6
WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludDQgY2xhbXAodWludDQgeCwgdWludDQg
eSwgdWludDQgeikgeworICAgIHVpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBjbGFtcCh4
WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjbGFtcCh4WzFdLCB5WzFdLCB6WzFd
KTsKKyAgICByZXN1bHRbMl0gPSBjbGFtcCh4WzJdLCB5WzJdLCB6WzJdKTsKKyAgICByZXN1bHRb
M10gPSBjbGFtcCh4WzNdLCB5WzNdLCB6WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitj
aGFyIGNsYW1wKGNoYXIgeCwgY2hhciBsb3dlciwgY2hhciB1cHBlcikgeworICAgIHJldHVybiBt
YXgobWluKHVwcGVyLCB4KSwgbG93ZXIpOworfQorY2hhcjIgY2xhbXAoY2hhcjIgeCwgY2hhcjIg
eSwgY2hhcjIgeikgeworICAgIGNoYXIyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBjbGFtcCh4
WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjbGFtcCh4WzFdLCB5WzFdLCB6WzFd
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorY2hhcjMgY2xhbXAoY2hhcjMgeCwgY2hhcjMgeSwg
Y2hhcjMgeikgeworICAgIGNoYXIzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBjbGFtcCh4WzBd
LCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjbGFtcCh4WzFdLCB5WzFdLCB6WzFdKTsK
KyAgICByZXN1bHRbMl0gPSBjbGFtcCh4WzJdLCB5WzJdLCB6WzJdKTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorY2hhcjQgY2xhbXAoY2hhcjQgeCwgY2hhcjQgeSwgY2hhcjQgeikgeworICAgIGNo
YXI0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBjbGFtcCh4WzBdLCB5WzBdLCB6WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBjbGFtcCh4WzFdLCB5WzFdLCB6WzFdKTsKKyAgICByZXN1bHRbMl0gPSBj
bGFtcCh4WzJdLCB5WzJdLCB6WzJdKTsKKyAgICByZXN1bHRbM10gPSBjbGFtcCh4WzNdLCB5WzNd
LCB6WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitzaG9ydCBjbGFtcChzaG9ydCB4LCBz
aG9ydCBsb3dlciwgc2hvcnQgdXBwZXIpIHsKKyAgICByZXR1cm4gbWF4KG1pbih1cHBlciwgeCks
IGxvd2VyKTsKK30KK3Nob3J0MiBjbGFtcChzaG9ydDIgeCwgc2hvcnQyIHksIHNob3J0MiB6KSB7
CisgICAgc2hvcnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBjbGFtcCh4WzBdLCB5WzBdLCB6
WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjbGFtcCh4WzFdLCB5WzFdLCB6WzFdKTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorc2hvcnQzIGNsYW1wKHNob3J0MyB4LCBzaG9ydDMgeSwgc2hvcnQzIHop
IHsKKyAgICBzaG9ydDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGNsYW1wKHhbMF0sIHlbMF0s
IHpbMF0pOworICAgIHJlc3VsdFsxXSA9IGNsYW1wKHhbMV0sIHlbMV0sIHpbMV0pOworICAgIHJl
c3VsdFsyXSA9IGNsYW1wKHhbMl0sIHlbMl0sIHpbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitzaG9ydDQgY2xhbXAoc2hvcnQ0IHgsIHNob3J0NCB5LCBzaG9ydDQgeikgeworICAgIHNob3J0
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gY2xhbXAoeFswXSwgeVswXSwgelswXSk7CisgICAg
cmVzdWx0WzFdID0gY2xhbXAoeFsxXSwgeVsxXSwgelsxXSk7CisgICAgcmVzdWx0WzJdID0gY2xh
bXAoeFsyXSwgeVsyXSwgelsyXSk7CisgICAgcmVzdWx0WzNdID0gY2xhbXAoeFszXSwgeVszXSwg
elszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworaW50IGNsYW1wKGludCB4LCBpbnQgbG93
ZXIsIGludCB1cHBlcikgeworICAgIHJldHVybiBtYXgobWluKHVwcGVyLCB4KSwgbG93ZXIpOwor
fQoraW50MiBjbGFtcChpbnQyIHgsIGludDIgeSwgaW50MiB6KSB7CisgICAgaW50MiByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gY2xhbXAoeFswXSwgeVswXSwgelswXSk7CisgICAgcmVzdWx0WzFd
ID0gY2xhbXAoeFsxXSwgeVsxXSwgelsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2ludDMg
Y2xhbXAoaW50MyB4LCBpbnQzIHksIGludDMgeikgeworICAgIGludDMgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGNsYW1wKHhbMF0sIHlbMF0sIHpbMF0pOworICAgIHJlc3VsdFsxXSA9IGNsYW1w
KHhbMV0sIHlbMV0sIHpbMV0pOworICAgIHJlc3VsdFsyXSA9IGNsYW1wKHhbMl0sIHlbMl0sIHpb
Ml0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitpbnQ0IGNsYW1wKGludDQgeCwgaW50NCB5LCBp
bnQ0IHopIHsKKyAgICBpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBjbGFtcCh4WzBdLCB5
WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjbGFtcCh4WzFdLCB5WzFdLCB6WzFdKTsKKyAg
ICByZXN1bHRbMl0gPSBjbGFtcCh4WzJdLCB5WzJdLCB6WzJdKTsKKyAgICByZXN1bHRbM10gPSBj
bGFtcCh4WzNdLCB5WzNdLCB6WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitoYWxmIGNs
YW1wKGhhbGYgeCwgaGFsZiBsb3dlciwgaGFsZiB1cHBlcikgeworICAgIHJldHVybiBtYXgobWlu
KHVwcGVyLCB4KSwgbG93ZXIpOworfQoraGFsZjIgY2xhbXAoaGFsZjIgeCwgaGFsZjIgeSwgaGFs
ZjIgeikgeworICAgIGhhbGYyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBjbGFtcCh4WzBdLCB5
WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjbGFtcCh4WzFdLCB5WzFdLCB6WzFdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQoraGFsZjMgY2xhbXAoaGFsZjMgeCwgaGFsZjMgeSwgaGFsZjMg
eikgeworICAgIGhhbGYzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBjbGFtcCh4WzBdLCB5WzBd
LCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjbGFtcCh4WzFdLCB5WzFdLCB6WzFdKTsKKyAgICBy
ZXN1bHRbMl0gPSBjbGFtcCh4WzJdLCB5WzJdLCB6WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQoraGFsZjQgY2xhbXAoaGFsZjQgeCwgaGFsZjQgeSwgaGFsZjQgeikgeworICAgIGhhbGY0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSBjbGFtcCh4WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1
bHRbMV0gPSBjbGFtcCh4WzFdLCB5WzFdLCB6WzFdKTsKKyAgICByZXN1bHRbMl0gPSBjbGFtcCh4
WzJdLCB5WzJdLCB6WzJdKTsKKyAgICByZXN1bHRbM10gPSBjbGFtcCh4WzNdLCB5WzNdLCB6WzNd
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4MiBjbGFtcChoYWxmMngyIHgsIGhhbGYy
eDIgeSwgaGFsZjJ4MiB6KSB7CisgICAgaGFsZjJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gY2xhbXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Y2xhbXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY2xh
bXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2xhbXAo
eFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYy
eDMgY2xhbXAoaGFsZjJ4MyB4LCBoYWxmMngzIHksIGhhbGYyeDMgeikgeworICAgIGhhbGYyeDMg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNsYW1wKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1b
MF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNsYW1wKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0p
OworICAgIHJlc3VsdFswXVsyXSA9IGNsYW1wKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOwor
ICAgIHJlc3VsdFsxXVswXSA9IGNsYW1wKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAg
IHJlc3VsdFsxXVsxXSA9IGNsYW1wKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJl
c3VsdFsxXVsyXSA9IGNsYW1wKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitoYWxmMng0IGNsYW1wKGhhbGYyeDQgeCwgaGFsZjJ4NCB5LCBoYWxmMng0
IHopIHsKKyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjbGFtcCh4WzBd
WzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjbGFtcCh4WzBdWzFd
LCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjbGFtcCh4WzBdWzJdLCB5
WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBjbGFtcCh4WzBdWzNdLCB5WzBd
WzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjbGFtcCh4WzFdWzBdLCB5WzFdWzBd
LCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjbGFtcCh4WzFdWzFdLCB5WzFdWzFdLCB6
WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjbGFtcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFd
WzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBjbGFtcCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNd
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4MiBjbGFtcChoYWxmM3gyIHgsIGhhbGYz
eDIgeSwgaGFsZjN4MiB6KSB7CisgICAgaGFsZjN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gY2xhbXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Y2xhbXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY2xh
bXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2xhbXAo
eFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY2xhbXAoeFsy
XVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY2xhbXAoeFsyXVsx
XSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDMgY2xh
bXAoaGFsZjN4MyB4LCBoYWxmM3gzIHksIGhhbGYzeDMgeikgeworICAgIGhhbGYzeDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVswXSA9IGNsYW1wKHhbMF1bMF0sIHlbMF1bMF0sIHpbMF1bMF0pOwor
ICAgIHJlc3VsdFswXVsxXSA9IGNsYW1wKHhbMF1bMV0sIHlbMF1bMV0sIHpbMF1bMV0pOworICAg
IHJlc3VsdFswXVsyXSA9IGNsYW1wKHhbMF1bMl0sIHlbMF1bMl0sIHpbMF1bMl0pOworICAgIHJl
c3VsdFsxXVswXSA9IGNsYW1wKHhbMV1bMF0sIHlbMV1bMF0sIHpbMV1bMF0pOworICAgIHJlc3Vs
dFsxXVsxXSA9IGNsYW1wKHhbMV1bMV0sIHlbMV1bMV0sIHpbMV1bMV0pOworICAgIHJlc3VsdFsx
XVsyXSA9IGNsYW1wKHhbMV1bMl0sIHlbMV1bMl0sIHpbMV1bMl0pOworICAgIHJlc3VsdFsyXVsw
XSA9IGNsYW1wKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1bMF0pOworICAgIHJlc3VsdFsyXVsxXSA9
IGNsYW1wKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0pOworICAgIHJlc3VsdFsyXVsyXSA9IGNs
YW1wKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cito
YWxmM3g0IGNsYW1wKGhhbGYzeDQgeCwgaGFsZjN4NCB5LCBoYWxmM3g0IHopIHsKKyAgICBoYWxm
M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjbGFtcCh4WzBdWzBdLCB5WzBdWzBdLCB6
WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjbGFtcCh4WzBdWzFdLCB5WzBdWzFdLCB6WzBd
WzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjbGFtcCh4WzBdWzJdLCB5WzBdWzJdLCB6WzBdWzJd
KTsKKyAgICByZXN1bHRbMF1bM10gPSBjbGFtcCh4WzBdWzNdLCB5WzBdWzNdLCB6WzBdWzNdKTsK
KyAgICByZXN1bHRbMV1bMF0gPSBjbGFtcCh4WzFdWzBdLCB5WzFdWzBdLCB6WzFdWzBdKTsKKyAg
ICByZXN1bHRbMV1bMV0gPSBjbGFtcCh4WzFdWzFdLCB5WzFdWzFdLCB6WzFdWzFdKTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSBjbGFtcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFdWzJdKTsKKyAgICByZXN1
bHRbMV1bM10gPSBjbGFtcCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNdKTsKKyAgICByZXN1bHRb
Ml1bMF0gPSBjbGFtcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsKKyAgICByZXN1bHRbMl1b
MV0gPSBjbGFtcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAgICByZXN1bHRbMl1bMl0g
PSBjbGFtcCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKKyAgICByZXN1bHRbMl1bM10gPSBj
bGFtcCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
aGFsZjR4MiBjbGFtcChoYWxmNHgyIHgsIGhhbGY0eDIgeSwgaGFsZjR4MiB6KSB7CisgICAgaGFs
ZjR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY2xhbXAoeFswXVswXSwgeVswXVswXSwg
elswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2xhbXAoeFswXVsxXSwgeVswXVsxXSwgelsw
XVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY2xhbXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVsw
XSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2xhbXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7
CisgICAgcmVzdWx0WzJdWzBdID0gY2xhbXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gY2xhbXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAg
cmVzdWx0WzNdWzBdID0gY2xhbXAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7CisgICAgcmVz
dWx0WzNdWzFdID0gY2xhbXAoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGY0eDMgY2xhbXAoaGFsZjR4MyB4LCBoYWxmNHgzIHksIGhhbGY0eDMg
eikgeworICAgIGhhbGY0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IGNsYW1wKHhbMF1b
MF0sIHlbMF1bMF0sIHpbMF1bMF0pOworICAgIHJlc3VsdFswXVsxXSA9IGNsYW1wKHhbMF1bMV0s
IHlbMF1bMV0sIHpbMF1bMV0pOworICAgIHJlc3VsdFswXVsyXSA9IGNsYW1wKHhbMF1bMl0sIHlb
MF1bMl0sIHpbMF1bMl0pOworICAgIHJlc3VsdFsxXVswXSA9IGNsYW1wKHhbMV1bMF0sIHlbMV1b
MF0sIHpbMV1bMF0pOworICAgIHJlc3VsdFsxXVsxXSA9IGNsYW1wKHhbMV1bMV0sIHlbMV1bMV0s
IHpbMV1bMV0pOworICAgIHJlc3VsdFsxXVsyXSA9IGNsYW1wKHhbMV1bMl0sIHlbMV1bMl0sIHpb
MV1bMl0pOworICAgIHJlc3VsdFsyXVswXSA9IGNsYW1wKHhbMl1bMF0sIHlbMl1bMF0sIHpbMl1b
MF0pOworICAgIHJlc3VsdFsyXVsxXSA9IGNsYW1wKHhbMl1bMV0sIHlbMl1bMV0sIHpbMl1bMV0p
OworICAgIHJlc3VsdFsyXVsyXSA9IGNsYW1wKHhbMl1bMl0sIHlbMl1bMl0sIHpbMl1bMl0pOwor
ICAgIHJlc3VsdFszXVswXSA9IGNsYW1wKHhbM11bMF0sIHlbM11bMF0sIHpbM11bMF0pOworICAg
IHJlc3VsdFszXVsxXSA9IGNsYW1wKHhbM11bMV0sIHlbM11bMV0sIHpbM11bMV0pOworICAgIHJl
c3VsdFszXVsyXSA9IGNsYW1wKHhbM11bMl0sIHlbM11bMl0sIHpbM11bMl0pOworICAgIHJldHVy
biByZXN1bHQ7Cit9CitoYWxmNHg0IGNsYW1wKGhhbGY0eDQgeCwgaGFsZjR4NCB5LCBoYWxmNHg0
IHopIHsKKyAgICBoYWxmNHg0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBjbGFtcCh4WzBd
WzBdLCB5WzBdWzBdLCB6WzBdWzBdKTsKKyAgICByZXN1bHRbMF1bMV0gPSBjbGFtcCh4WzBdWzFd
LCB5WzBdWzFdLCB6WzBdWzFdKTsKKyAgICByZXN1bHRbMF1bMl0gPSBjbGFtcCh4WzBdWzJdLCB5
WzBdWzJdLCB6WzBdWzJdKTsKKyAgICByZXN1bHRbMF1bM10gPSBjbGFtcCh4WzBdWzNdLCB5WzBd
WzNdLCB6WzBdWzNdKTsKKyAgICByZXN1bHRbMV1bMF0gPSBjbGFtcCh4WzFdWzBdLCB5WzFdWzBd
LCB6WzFdWzBdKTsKKyAgICByZXN1bHRbMV1bMV0gPSBjbGFtcCh4WzFdWzFdLCB5WzFdWzFdLCB6
WzFdWzFdKTsKKyAgICByZXN1bHRbMV1bMl0gPSBjbGFtcCh4WzFdWzJdLCB5WzFdWzJdLCB6WzFd
WzJdKTsKKyAgICByZXN1bHRbMV1bM10gPSBjbGFtcCh4WzFdWzNdLCB5WzFdWzNdLCB6WzFdWzNd
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBjbGFtcCh4WzJdWzBdLCB5WzJdWzBdLCB6WzJdWzBdKTsK
KyAgICByZXN1bHRbMl1bMV0gPSBjbGFtcCh4WzJdWzFdLCB5WzJdWzFdLCB6WzJdWzFdKTsKKyAg
ICByZXN1bHRbMl1bMl0gPSBjbGFtcCh4WzJdWzJdLCB5WzJdWzJdLCB6WzJdWzJdKTsKKyAgICBy
ZXN1bHRbMl1bM10gPSBjbGFtcCh4WzJdWzNdLCB5WzJdWzNdLCB6WzJdWzNdKTsKKyAgICByZXN1
bHRbM11bMF0gPSBjbGFtcCh4WzNdWzBdLCB5WzNdWzBdLCB6WzNdWzBdKTsKKyAgICByZXN1bHRb
M11bMV0gPSBjbGFtcCh4WzNdWzFdLCB5WzNdWzFdLCB6WzNdWzFdKTsKKyAgICByZXN1bHRbM11b
Ml0gPSBjbGFtcCh4WzNdWzJdLCB5WzNdWzJdLCB6WzNdWzJdKTsKKyAgICByZXN1bHRbM11bM10g
PSBjbGFtcCh4WzNdWzNdLCB5WzNdWzNdLCB6WzNdWzNdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorCitmbG9hdCBjbGFtcChmbG9hdCB4LCBmbG9hdCBsb3dlciwgZmxvYXQgdXBwZXIpIHsKKyAg
ICByZXR1cm4gbWF4KG1pbih1cHBlciwgeCksIGxvd2VyKTsKK30KK2Zsb2F0MiBjbGFtcChmbG9h
dDIgeCwgZmxvYXQyIHksIGZsb2F0MiB6KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSBjbGFtcCh4WzBdLCB5WzBdLCB6WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjbGFtcCh4
WzFdLCB5WzFdLCB6WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzIGNsYW1wKGZs
b2F0MyB4LCBmbG9hdDMgeSwgZmxvYXQzIHopIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGNsYW1wKHhbMF0sIHlbMF0sIHpbMF0pOworICAgIHJlc3VsdFsxXSA9IGNsYW1w
KHhbMV0sIHlbMV0sIHpbMV0pOworICAgIHJlc3VsdFsyXSA9IGNsYW1wKHhbMl0sIHlbMl0sIHpb
Ml0pOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDQgY2xhbXAoZmxvYXQ0IHgsIGZsb2F0
NCB5LCBmbG9hdDQgeikgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gY2xh
bXAoeFswXSwgeVswXSwgelswXSk7CisgICAgcmVzdWx0WzFdID0gY2xhbXAoeFsxXSwgeVsxXSwg
elsxXSk7CisgICAgcmVzdWx0WzJdID0gY2xhbXAoeFsyXSwgeVsyXSwgelsyXSk7CisgICAgcmVz
dWx0WzNdID0gY2xhbXAoeFszXSwgeVszXSwgelszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2Zsb2F0MngyIGNsYW1wKGZsb2F0MngyIHgsIGZsb2F0MngyIHksIGZsb2F0MngyIHopIHsKKyAg
ICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY2xhbXAoeFswXVswXSwgeVsw
XVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2xhbXAoeFswXVsxXSwgeVswXVsx
XSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY2xhbXAoeFsxXVswXSwgeVsxXVswXSwg
elsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2xhbXAoeFsxXVsxXSwgeVsxXVsxXSwgelsx
XVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MngzIGNsYW1wKGZsb2F0MngzIHgs
IGZsb2F0MngzIHksIGZsb2F0MngzIHopIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0gY2xhbXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0
WzBdWzFdID0gY2xhbXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzBd
WzJdID0gY2xhbXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gY2xhbXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0g
Y2xhbXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY2xh
bXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zs
b2F0Mng0IGNsYW1wKGZsb2F0Mng0IHgsIGZsb2F0Mng0IHksIGZsb2F0Mng0IHopIHsKKyAgICBm
bG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY2xhbXAoeFswXVswXSwgeVswXVsw
XSwgelswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2xhbXAoeFswXVsxXSwgeVswXVsxXSwg
elswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY2xhbXAoeFswXVsyXSwgeVswXVsyXSwgelsw
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY2xhbXAoeFswXVszXSwgeVswXVszXSwgelswXVsz
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gY2xhbXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gY2xhbXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gY2xhbXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gY2xhbXAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gyIGNsYW1wKGZsb2F0M3gyIHgsIGZsb2F0M3gyIHksIGZs
b2F0M3gyIHopIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY2xh
bXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2xhbXAo
eFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY2xhbXAoeFsx
XVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2xhbXAoeFsxXVsx
XSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY2xhbXAoeFsyXVswXSwg
eVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY2xhbXAoeFsyXVsxXSwgeVsy
XVsxXSwgelsyXVsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gzIGNsYW1wKGZs
b2F0M3gzIHgsIGZsb2F0M3gzIHksIGZsb2F0M3gzIHopIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0gY2xhbXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gY2xhbXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAg
cmVzdWx0WzBdWzJdID0gY2xhbXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVz
dWx0WzFdWzBdID0gY2xhbXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0
WzFdWzFdID0gY2xhbXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzFd
WzJdID0gY2xhbXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBd
ID0gY2xhbXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0g
Y2xhbXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY2xh
bXAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zs
b2F0M3g0IGNsYW1wKGZsb2F0M3g0IHgsIGZsb2F0M3g0IHksIGZsb2F0M3g0IHopIHsKKyAgICBm
bG9hdDN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY2xhbXAoeFswXVswXSwgeVswXVsw
XSwgelswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2xhbXAoeFswXVsxXSwgeVswXVsxXSwg
elswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY2xhbXAoeFswXVsyXSwgeVswXVsyXSwgelsw
XVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0gY2xhbXAoeFswXVszXSwgeVswXVszXSwgelswXVsz
XSk7CisgICAgcmVzdWx0WzFdWzBdID0gY2xhbXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7
CisgICAgcmVzdWx0WzFdWzFdID0gY2xhbXAoeFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7Cisg
ICAgcmVzdWx0WzFdWzJdID0gY2xhbXAoeFsxXVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAg
cmVzdWx0WzFdWzNdID0gY2xhbXAoeFsxXVszXSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVz
dWx0WzJdWzBdID0gY2xhbXAoeFsyXVswXSwgeVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0
WzJdWzFdID0gY2xhbXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzJd
WzJdID0gY2xhbXAoeFsyXVsyXSwgeVsyXVsyXSwgelsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNd
ID0gY2xhbXAoeFsyXVszXSwgeVsyXVszXSwgelsyXVszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2Zsb2F0NHgyIGNsYW1wKGZsb2F0NHgyIHgsIGZsb2F0NHgyIHksIGZsb2F0NHgyIHopIHsK
KyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gY2xhbXAoeFswXVswXSwg
eVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0gY2xhbXAoeFswXVsxXSwgeVsw
XVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY2xhbXAoeFsxXVswXSwgeVsxXVsw
XSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2xhbXAoeFsxXVsxXSwgeVsxXVsxXSwg
elsxXVsxXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY2xhbXAoeFsyXVswXSwgeVsyXVswXSwgelsy
XVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY2xhbXAoeFsyXVsxXSwgeVsyXVsxXSwgelsyXVsx
XSk7CisgICAgcmVzdWx0WzNdWzBdID0gY2xhbXAoeFszXVswXSwgeVszXVswXSwgelszXVswXSk7
CisgICAgcmVzdWx0WzNdWzFdID0gY2xhbXAoeFszXVsxXSwgeVszXVsxXSwgelszXVsxXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHgzIGNsYW1wKGZsb2F0NHgzIHgsIGZsb2F0NHgz
IHksIGZsb2F0NHgzIHopIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0gY2xhbXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBdWzFdID0g
Y2xhbXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJdID0gY2xh
bXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY2xhbXAo
eFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2xhbXAoeFsx
XVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY2xhbXAoeFsxXVsy
XSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY2xhbXAoeFsyXVswXSwg
eVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY2xhbXAoeFsyXVsxXSwgeVsy
XVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY2xhbXAoeFsyXVsyXSwgeVsyXVsy
XSwgelsyXVsyXSk7CisgICAgcmVzdWx0WzNdWzBdID0gY2xhbXAoeFszXVswXSwgeVszXVswXSwg
elszXVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gY2xhbXAoeFszXVsxXSwgeVszXVsxXSwgelsz
XVsxXSk7CisgICAgcmVzdWx0WzNdWzJdID0gY2xhbXAoeFszXVsyXSwgeVszXVsyXSwgelszXVsy
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0IGNsYW1wKGZsb2F0NHg0IHgsIGZs
b2F0NHg0IHksIGZsb2F0NHg0IHopIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzBdID0gY2xhbXAoeFswXVswXSwgeVswXVswXSwgelswXVswXSk7CisgICAgcmVzdWx0WzBd
WzFdID0gY2xhbXAoeFswXVsxXSwgeVswXVsxXSwgelswXVsxXSk7CisgICAgcmVzdWx0WzBdWzJd
ID0gY2xhbXAoeFswXVsyXSwgeVswXVsyXSwgelswXVsyXSk7CisgICAgcmVzdWx0WzBdWzNdID0g
Y2xhbXAoeFswXVszXSwgeVswXVszXSwgelswXVszXSk7CisgICAgcmVzdWx0WzFdWzBdID0gY2xh
bXAoeFsxXVswXSwgeVsxXVswXSwgelsxXVswXSk7CisgICAgcmVzdWx0WzFdWzFdID0gY2xhbXAo
eFsxXVsxXSwgeVsxXVsxXSwgelsxXVsxXSk7CisgICAgcmVzdWx0WzFdWzJdID0gY2xhbXAoeFsx
XVsyXSwgeVsxXVsyXSwgelsxXVsyXSk7CisgICAgcmVzdWx0WzFdWzNdID0gY2xhbXAoeFsxXVsz
XSwgeVsxXVszXSwgelsxXVszXSk7CisgICAgcmVzdWx0WzJdWzBdID0gY2xhbXAoeFsyXVswXSwg
eVsyXVswXSwgelsyXVswXSk7CisgICAgcmVzdWx0WzJdWzFdID0gY2xhbXAoeFsyXVsxXSwgeVsy
XVsxXSwgelsyXVsxXSk7CisgICAgcmVzdWx0WzJdWzJdID0gY2xhbXAoeFsyXVsyXSwgeVsyXVsy
XSwgelsyXVsyXSk7CisgICAgcmVzdWx0WzJdWzNdID0gY2xhbXAoeFsyXVszXSwgeVsyXVszXSwg
elsyXVszXSk7CisgICAgcmVzdWx0WzNdWzBdID0gY2xhbXAoeFszXVswXSwgeVszXVswXSwgelsz
XVswXSk7CisgICAgcmVzdWx0WzNdWzFdID0gY2xhbXAoeFszXVsxXSwgeVszXVsxXSwgelszXVsx
XSk7CisgICAgcmVzdWx0WzNdWzJdID0gY2xhbXAoeFszXVsyXSwgeVszXVsyXSwgelszXVsyXSk7
CisgICAgcmVzdWx0WzNdWzNdID0gY2xhbXAoeFszXVszXSwgeVszXVszXSwgelszXVszXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KKworaGFsZiBtb2RmKGhhbGYgeCwgdGhyZWFkIGhhbGYqIGlw
KSB7CisgICAgdWludCByZXN1bHQgPSB1aW50KHgpOworICAgICppcCA9IHggLSBoYWxmKHJlc3Vs
dCk7CisgICAgcmV0dXJuIGhhbGYocmVzdWx0KTsKK30KK2hhbGYyIG1vZGYoaGFsZjIgeCwgdGhy
ZWFkIGhhbGYyKiB5KSB7CisgICAgaGFsZjIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IG1vZGYo
eFswXSwgJigoKnkpWzBdKSk7CisgICAgcmVzdWx0WzFdID0gbW9kZih4WzFdLCAmKCgqeSlbMV0p
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjMgbW9kZihoYWxmMyB4LCB0aHJlYWQgaGFs
ZjMqIHkpIHsKKyAgICBoYWxmMyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbW9kZih4WzBdLCAm
KCgqeSlbMF0pKTsKKyAgICByZXN1bHRbMV0gPSBtb2RmKHhbMV0sICYoKCp5KVsxXSkpOworICAg
IHJlc3VsdFsyXSA9IG1vZGYoeFsyXSwgJigoKnkpWzJdKSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2hhbGY0IG1vZGYoaGFsZjQgeCwgdGhyZWFkIGhhbGY0KiB5KSB7CisgICAgaGFsZjQgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IG1vZGYoeFswXSwgJigoKnkpWzBdKSk7CisgICAgcmVzdWx0
WzFdID0gbW9kZih4WzFdLCAmKCgqeSlbMV0pKTsKKyAgICByZXN1bHRbMl0gPSBtb2RmKHhbMl0s
ICYoKCp5KVsyXSkpOworICAgIHJlc3VsdFszXSA9IG1vZGYoeFszXSwgJigoKnkpWzNdKSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDIgbW9kZihoYWxmMngyIHgsIHRocmVhZCBoYWxm
MngyKiB5KSB7CisgICAgaGFsZjJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4
WzBdWzBdLCAmKCgqeSlbMF1bMF0pKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0s
ICYoKCp5KVswXVsxXSkpOworICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJigoKnkp
WzFdWzBdKSk7CisgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmKCgqeSlbMV1bMV0p
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4MyBtb2RmKGhhbGYyeDMgeCwgdGhyZWFk
IGhhbGYyeDMqIHkpIHsKKyAgICBoYWxmMngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBt
b2RmKHhbMF1bMF0sICYoKCp5KVswXVswXSkpOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFsw
XVsxXSwgJigoKnkpWzBdWzFdKSk7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAm
KCgqeSlbMF1bMl0pKTsKKyAgICByZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICYoKCp5KVsx
XVswXSkpOworICAgIHJlc3VsdFsxXVsxXSA9IG1vZGYoeFsxXVsxXSwgJigoKnkpWzFdWzFdKSk7
CisgICAgcmVzdWx0WzFdWzJdID0gbW9kZih4WzFdWzJdLCAmKCgqeSlbMV1bMl0pKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4NCBtb2RmKGhhbGYyeDQgeCwgdGhyZWFkIGhhbGYyeDQq
IHkpIHsKKyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1b
MF0sICYoKCp5KVswXVswXSkpOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJigo
KnkpWzBdWzFdKSk7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmKCgqeSlbMF1b
Ml0pKTsKKyAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICYoKCp5KVswXVszXSkpOwor
ICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJigoKnkpWzFdWzBdKSk7CisgICAgcmVz
dWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmKCgqeSlbMV1bMV0pKTsKKyAgICByZXN1bHRbMV1b
Ml0gPSBtb2RmKHhbMV1bMl0sICYoKCp5KVsxXVsyXSkpOworICAgIHJlc3VsdFsxXVszXSA9IG1v
ZGYoeFsxXVszXSwgJigoKnkpWzFdWzNdKSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYz
eDIgbW9kZihoYWxmM3gyIHgsIHRocmVhZCBoYWxmM3gyKiB5KSB7CisgICAgaGFsZjN4MiByZXN1
bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmKCgqeSlbMF1bMF0pKTsKKyAg
ICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICYoKCp5KVswXVsxXSkpOworICAgIHJlc3Vs
dFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJigoKnkpWzFdWzBdKSk7CisgICAgcmVzdWx0WzFdWzFd
ID0gbW9kZih4WzFdWzFdLCAmKCgqeSlbMV1bMV0pKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2Rm
KHhbMl1bMF0sICYoKCp5KVsyXVswXSkpOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsx
XSwgJigoKnkpWzJdWzFdKSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDMgbW9kZiho
YWxmM3gzIHgsIHRocmVhZCBoYWxmM3gzKiB5KSB7CisgICAgaGFsZjN4MyByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmKCgqeSlbMF1bMF0pKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBtb2RmKHhbMF1bMV0sICYoKCp5KVswXVsxXSkpOworICAgIHJlc3VsdFswXVsyXSA9
IG1vZGYoeFswXVsyXSwgJigoKnkpWzBdWzJdKSk7CisgICAgcmVzdWx0WzFdWzBdID0gbW9kZih4
WzFdWzBdLCAmKCgqeSlbMV1bMF0pKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0s
ICYoKCp5KVsxXVsxXSkpOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsyXSwgJigoKnkp
WzFdWzJdKSk7CisgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAmKCgqeSlbMl1bMF0p
KTsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICYoKCp5KVsyXVsxXSkpOworICAg
IHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJigoKnkpWzJdWzJdKSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYzeDQgbW9kZihoYWxmM3g0IHgsIHRocmVhZCBoYWxmM3g0KiB5KSB7
CisgICAgaGFsZjN4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAm
KCgqeSlbMF1bMF0pKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICYoKCp5KVsw
XVsxXSkpOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJigoKnkpWzBdWzJdKSk7
CisgICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmKCgqeSlbMF1bM10pKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICYoKCp5KVsxXVswXSkpOworICAgIHJlc3VsdFsx
XVsxXSA9IG1vZGYoeFsxXVsxXSwgJigoKnkpWzFdWzFdKSk7CisgICAgcmVzdWx0WzFdWzJdID0g
bW9kZih4WzFdWzJdLCAmKCgqeSlbMV1bMl0pKTsKKyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhb
MV1bM10sICYoKCp5KVsxXVszXSkpOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwg
JigoKnkpWzJdWzBdKSk7CisgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmKCgqeSlb
Ml1bMV0pKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICYoKCp5KVsyXVsyXSkp
OworICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJigoKnkpWzJdWzNdKSk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDIgbW9kZihoYWxmNHgyIHgsIHRocmVhZCBoYWxmNHgy
KiB5KSB7CisgICAgaGFsZjR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBd
WzBdLCAmKCgqeSlbMF1bMF0pKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICYo
KCp5KVswXVsxXSkpOworICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJigoKnkpWzFd
WzBdKSk7CisgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmKCgqeSlbMV1bMV0pKTsK
KyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICYoKCp5KVsyXVswXSkpOworICAgIHJl
c3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJigoKnkpWzJdWzFdKSk7CisgICAgcmVzdWx0WzNd
WzBdID0gbW9kZih4WzNdWzBdLCAmKCgqeSlbM11bMF0pKTsKKyAgICByZXN1bHRbM11bMV0gPSBt
b2RmKHhbM11bMV0sICYoKCp5KVszXVsxXSkpOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxm
NHgzIG1vZGYoaGFsZjR4MyB4LCB0aHJlYWQgaGFsZjR4MyogeSkgeworICAgIGhhbGY0eDMgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJigoKnkpWzBdWzBdKSk7Cisg
ICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmKCgqeSlbMF1bMV0pKTsKKyAgICByZXN1
bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICYoKCp5KVswXVsyXSkpOworICAgIHJlc3VsdFsxXVsw
XSA9IG1vZGYoeFsxXVswXSwgJigoKnkpWzFdWzBdKSk7CisgICAgcmVzdWx0WzFdWzFdID0gbW9k
Zih4WzFdWzFdLCAmKCgqeSlbMV1bMV0pKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1b
Ml0sICYoKCp5KVsxXVsyXSkpOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJigo
KnkpWzJdWzBdKSk7CisgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmKCgqeSlbMl1b
MV0pKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICYoKCp5KVsyXVsyXSkpOwor
ICAgIHJlc3VsdFszXVswXSA9IG1vZGYoeFszXVswXSwgJigoKnkpWzNdWzBdKSk7CisgICAgcmVz
dWx0WzNdWzFdID0gbW9kZih4WzNdWzFdLCAmKCgqeSlbM11bMV0pKTsKKyAgICByZXN1bHRbM11b
Ml0gPSBtb2RmKHhbM11bMl0sICYoKCp5KVszXVsyXSkpOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitoYWxmNHg0IG1vZGYoaGFsZjR4NCB4LCB0aHJlYWQgaGFsZjR4NCogeSkgeworICAgIGhhbGY0
eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJigoKnkpWzBdWzBd
KSk7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmKCgqeSlbMF1bMV0pKTsKKyAg
ICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICYoKCp5KVswXVsyXSkpOworICAgIHJlc3Vs
dFswXVszXSA9IG1vZGYoeFswXVszXSwgJigoKnkpWzBdWzNdKSk7CisgICAgcmVzdWx0WzFdWzBd
ID0gbW9kZih4WzFdWzBdLCAmKCgqeSlbMV1bMF0pKTsKKyAgICByZXN1bHRbMV1bMV0gPSBtb2Rm
KHhbMV1bMV0sICYoKCp5KVsxXVsxXSkpOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsxXVsy
XSwgJigoKnkpWzFdWzJdKSk7CisgICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAmKCgq
eSlbMV1bM10pKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICYoKCp5KVsyXVsw
XSkpOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJigoKnkpWzJdWzFdKSk7Cisg
ICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmKCgqeSlbMl1bMl0pKTsKKyAgICByZXN1
bHRbMl1bM10gPSBtb2RmKHhbMl1bM10sICYoKCp5KVsyXVszXSkpOworICAgIHJlc3VsdFszXVsw
XSA9IG1vZGYoeFszXVswXSwgJigoKnkpWzNdWzBdKSk7CisgICAgcmVzdWx0WzNdWzFdID0gbW9k
Zih4WzNdWzFdLCAmKCgqeSlbM11bMV0pKTsKKyAgICByZXN1bHRbM11bMl0gPSBtb2RmKHhbM11b
Ml0sICYoKCp5KVszXVsyXSkpOworICAgIHJlc3VsdFszXVszXSA9IG1vZGYoeFszXVszXSwgJigo
KnkpWzNdWzNdKSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworZmxvYXQgbW9kZihmbG9hdCB4
LCB0aHJlYWQgZmxvYXQqIGlwKSB7CisgICAgdWludCByZXN1bHQgPSB1aW50KHgpOworICAgICpp
cCA9IHggLSBmbG9hdChyZXN1bHQpOworICAgIHJldHVybiBmbG9hdChyZXN1bHQpOworfQorZmxv
YXQyIG1vZGYoZmxvYXQyIHgsIHRocmVhZCBmbG9hdDIqIHkpIHsKKyAgICBmbG9hdDIgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IG1vZGYoeFswXSwgJigoKnkpWzBdKSk7CisgICAgcmVzdWx0WzFd
ID0gbW9kZih4WzFdLCAmKCgqeSlbMV0pKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQz
IG1vZGYoZmxvYXQzIHgsIHRocmVhZCBmbG9hdDMqIHkpIHsKKyAgICBmbG9hdDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IG1vZGYoeFswXSwgJigoKnkpWzBdKSk7CisgICAgcmVzdWx0WzFdID0g
bW9kZih4WzFdLCAmKCgqeSlbMV0pKTsKKyAgICByZXN1bHRbMl0gPSBtb2RmKHhbMl0sICYoKCp5
KVsyXSkpOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDQgbW9kZihmbG9hdDQgeCwgdGhy
ZWFkIGZsb2F0NCogeSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gbW9k
Zih4WzBdLCAmKCgqeSlbMF0pKTsKKyAgICByZXN1bHRbMV0gPSBtb2RmKHhbMV0sICYoKCp5KVsx
XSkpOworICAgIHJlc3VsdFsyXSA9IG1vZGYoeFsyXSwgJigoKnkpWzJdKSk7CisgICAgcmVzdWx0
WzNdID0gbW9kZih4WzNdLCAmKCgqeSlbM10pKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxv
YXQyeDIgbW9kZihmbG9hdDJ4MiB4LCB0aHJlYWQgZmxvYXQyeDIqIHkpIHsKKyAgICBmbG9hdDJ4
MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmKCgqeSlbMF1bMF0p
KTsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICYoKCp5KVswXVsxXSkpOworICAg
IHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJigoKnkpWzFdWzBdKSk7CisgICAgcmVzdWx0
WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmKCgqeSlbMV1bMV0pKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorZmxvYXQyeDMgbW9kZihmbG9hdDJ4MyB4LCB0aHJlYWQgZmxvYXQyeDMqIHkpIHsKKyAg
ICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmKCgq
eSlbMF1bMF0pKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICYoKCp5KVswXVsx
XSkpOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJigoKnkpWzBdWzJdKSk7Cisg
ICAgcmVzdWx0WzFdWzBdID0gbW9kZih4WzFdWzBdLCAmKCgqeSlbMV1bMF0pKTsKKyAgICByZXN1
bHRbMV1bMV0gPSBtb2RmKHhbMV1bMV0sICYoKCp5KVsxXVsxXSkpOworICAgIHJlc3VsdFsxXVsy
XSA9IG1vZGYoeFsxXVsyXSwgJigoKnkpWzFdWzJdKSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2Zsb2F0Mng0IG1vZGYoZmxvYXQyeDQgeCwgdGhyZWFkIGZsb2F0Mng0KiB5KSB7CisgICAgZmxv
YXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IG1vZGYoeFswXVswXSwgJigoKnkpWzBd
WzBdKSk7CisgICAgcmVzdWx0WzBdWzFdID0gbW9kZih4WzBdWzFdLCAmKCgqeSlbMF1bMV0pKTsK
KyAgICByZXN1bHRbMF1bMl0gPSBtb2RmKHhbMF1bMl0sICYoKCp5KVswXVsyXSkpOworICAgIHJl
c3VsdFswXVszXSA9IG1vZGYoeFswXVszXSwgJigoKnkpWzBdWzNdKSk7CisgICAgcmVzdWx0WzFd
WzBdID0gbW9kZih4WzFdWzBdLCAmKCgqeSlbMV1bMF0pKTsKKyAgICByZXN1bHRbMV1bMV0gPSBt
b2RmKHhbMV1bMV0sICYoKCp5KVsxXVsxXSkpOworICAgIHJlc3VsdFsxXVsyXSA9IG1vZGYoeFsx
XVsyXSwgJigoKnkpWzFdWzJdKSk7CisgICAgcmVzdWx0WzFdWzNdID0gbW9kZih4WzFdWzNdLCAm
KCgqeSlbMV1bM10pKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDIgbW9kZihmbG9h
dDN4MiB4LCB0aHJlYWQgZmxvYXQzeDIqIHkpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAmKCgqeSlbMF1bMF0pKTsKKyAgICByZXN1bHRb
MF1bMV0gPSBtb2RmKHhbMF1bMV0sICYoKCp5KVswXVsxXSkpOworICAgIHJlc3VsdFsxXVswXSA9
IG1vZGYoeFsxXVswXSwgJigoKnkpWzFdWzBdKSk7CisgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4
WzFdWzFdLCAmKCgqeSlbMV1bMV0pKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0s
ICYoKCp5KVsyXVswXSkpOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJigoKnkp
WzJdWzFdKSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gzIG1vZGYoZmxvYXQzeDMg
eCwgdGhyZWFkIGZsb2F0M3gzKiB5KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IG1vZGYoeFswXVswXSwgJigoKnkpWzBdWzBdKSk7CisgICAgcmVzdWx0WzBdWzFd
ID0gbW9kZih4WzBdWzFdLCAmKCgqeSlbMF1bMV0pKTsKKyAgICByZXN1bHRbMF1bMl0gPSBtb2Rm
KHhbMF1bMl0sICYoKCp5KVswXVsyXSkpOworICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVsw
XSwgJigoKnkpWzFdWzBdKSk7CisgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmKCgq
eSlbMV1bMV0pKTsKKyAgICByZXN1bHRbMV1bMl0gPSBtb2RmKHhbMV1bMl0sICYoKCp5KVsxXVsy
XSkpOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwgJigoKnkpWzJdWzBdKSk7Cisg
ICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmKCgqeSlbMl1bMV0pKTsKKyAgICByZXN1
bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICYoKCp5KVsyXVsyXSkpOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitmbG9hdDN4NCBtb2RmKGZsb2F0M3g0IHgsIHRocmVhZCBmbG9hdDN4NCogeSkgewor
ICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICYo
KCp5KVswXVswXSkpOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJigoKnkpWzBd
WzFdKSk7CisgICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmKCgqeSlbMF1bMl0pKTsK
KyAgICByZXN1bHRbMF1bM10gPSBtb2RmKHhbMF1bM10sICYoKCp5KVswXVszXSkpOworICAgIHJl
c3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJigoKnkpWzFdWzBdKSk7CisgICAgcmVzdWx0WzFd
WzFdID0gbW9kZih4WzFdWzFdLCAmKCgqeSlbMV1bMV0pKTsKKyAgICByZXN1bHRbMV1bMl0gPSBt
b2RmKHhbMV1bMl0sICYoKCp5KVsxXVsyXSkpOworICAgIHJlc3VsdFsxXVszXSA9IG1vZGYoeFsx
XVszXSwgJigoKnkpWzFdWzNdKSk7CisgICAgcmVzdWx0WzJdWzBdID0gbW9kZih4WzJdWzBdLCAm
KCgqeSlbMl1bMF0pKTsKKyAgICByZXN1bHRbMl1bMV0gPSBtb2RmKHhbMl1bMV0sICYoKCp5KVsy
XVsxXSkpOworICAgIHJlc3VsdFsyXVsyXSA9IG1vZGYoeFsyXVsyXSwgJigoKnkpWzJdWzJdKSk7
CisgICAgcmVzdWx0WzJdWzNdID0gbW9kZih4WzJdWzNdLCAmKCgqeSlbMl1bM10pKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDIgbW9kZihmbG9hdDR4MiB4LCB0aHJlYWQgZmxvYXQ0
eDIqIHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4
WzBdWzBdLCAmKCgqeSlbMF1bMF0pKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0s
ICYoKCp5KVswXVsxXSkpOworICAgIHJlc3VsdFsxXVswXSA9IG1vZGYoeFsxXVswXSwgJigoKnkp
WzFdWzBdKSk7CisgICAgcmVzdWx0WzFdWzFdID0gbW9kZih4WzFdWzFdLCAmKCgqeSlbMV1bMV0p
KTsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1bMF0sICYoKCp5KVsyXVswXSkpOworICAg
IHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJigoKnkpWzJdWzFdKSk7CisgICAgcmVzdWx0
WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmKCgqeSlbM11bMF0pKTsKKyAgICByZXN1bHRbM11bMV0g
PSBtb2RmKHhbM11bMV0sICYoKCp5KVszXVsxXSkpOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDR4MyBtb2RmKGZsb2F0NHgzIHgsIHRocmVhZCBmbG9hdDR4MyogeSkgeworICAgIGZsb2F0
NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSBtb2RmKHhbMF1bMF0sICYoKCp5KVswXVsw
XSkpOworICAgIHJlc3VsdFswXVsxXSA9IG1vZGYoeFswXVsxXSwgJigoKnkpWzBdWzFdKSk7Cisg
ICAgcmVzdWx0WzBdWzJdID0gbW9kZih4WzBdWzJdLCAmKCgqeSlbMF1bMl0pKTsKKyAgICByZXN1
bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICYoKCp5KVsxXVswXSkpOworICAgIHJlc3VsdFsxXVsx
XSA9IG1vZGYoeFsxXVsxXSwgJigoKnkpWzFdWzFdKSk7CisgICAgcmVzdWx0WzFdWzJdID0gbW9k
Zih4WzFdWzJdLCAmKCgqeSlbMV1bMl0pKTsKKyAgICByZXN1bHRbMl1bMF0gPSBtb2RmKHhbMl1b
MF0sICYoKCp5KVsyXVswXSkpOworICAgIHJlc3VsdFsyXVsxXSA9IG1vZGYoeFsyXVsxXSwgJigo
KnkpWzJdWzFdKSk7CisgICAgcmVzdWx0WzJdWzJdID0gbW9kZih4WzJdWzJdLCAmKCgqeSlbMl1b
Ml0pKTsKKyAgICByZXN1bHRbM11bMF0gPSBtb2RmKHhbM11bMF0sICYoKCp5KVszXVswXSkpOwor
ICAgIHJlc3VsdFszXVsxXSA9IG1vZGYoeFszXVsxXSwgJigoKnkpWzNdWzFdKSk7CisgICAgcmVz
dWx0WzNdWzJdID0gbW9kZih4WzNdWzJdLCAmKCgqeSlbM11bMl0pKTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorZmxvYXQ0eDQgbW9kZihmbG9hdDR4NCB4LCB0aHJlYWQgZmxvYXQ0eDQqIHkpIHsK
KyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0gbW9kZih4WzBdWzBdLCAm
KCgqeSlbMF1bMF0pKTsKKyAgICByZXN1bHRbMF1bMV0gPSBtb2RmKHhbMF1bMV0sICYoKCp5KVsw
XVsxXSkpOworICAgIHJlc3VsdFswXVsyXSA9IG1vZGYoeFswXVsyXSwgJigoKnkpWzBdWzJdKSk7
CisgICAgcmVzdWx0WzBdWzNdID0gbW9kZih4WzBdWzNdLCAmKCgqeSlbMF1bM10pKTsKKyAgICBy
ZXN1bHRbMV1bMF0gPSBtb2RmKHhbMV1bMF0sICYoKCp5KVsxXVswXSkpOworICAgIHJlc3VsdFsx
XVsxXSA9IG1vZGYoeFsxXVsxXSwgJigoKnkpWzFdWzFdKSk7CisgICAgcmVzdWx0WzFdWzJdID0g
bW9kZih4WzFdWzJdLCAmKCgqeSlbMV1bMl0pKTsKKyAgICByZXN1bHRbMV1bM10gPSBtb2RmKHhb
MV1bM10sICYoKCp5KVsxXVszXSkpOworICAgIHJlc3VsdFsyXVswXSA9IG1vZGYoeFsyXVswXSwg
JigoKnkpWzJdWzBdKSk7CisgICAgcmVzdWx0WzJdWzFdID0gbW9kZih4WzJdWzFdLCAmKCgqeSlb
Ml1bMV0pKTsKKyAgICByZXN1bHRbMl1bMl0gPSBtb2RmKHhbMl1bMl0sICYoKCp5KVsyXVsyXSkp
OworICAgIHJlc3VsdFsyXVszXSA9IG1vZGYoeFsyXVszXSwgJigoKnkpWzJdWzNdKSk7CisgICAg
cmVzdWx0WzNdWzBdID0gbW9kZih4WzNdWzBdLCAmKCgqeSlbM11bMF0pKTsKKyAgICByZXN1bHRb
M11bMV0gPSBtb2RmKHhbM11bMV0sICYoKCp5KVszXVsxXSkpOworICAgIHJlc3VsdFszXVsyXSA9
IG1vZGYoeFszXVsyXSwgJigoKnkpWzNdWzJdKSk7CisgICAgcmVzdWx0WzNdWzNdID0gbW9kZih4
WzNdWzNdLCAmKCgqeSlbM11bM10pKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit1Y2hhciBj
b3VudF9iaXRzKHVjaGFyIHgpIHsKKyAgICByZXR1cm4gdWNoYXIoKCh4IHwgdWNoYXIoMSA8PCAw
KSkgPT0gMCA/IDAgOiAxKSArCisgICAgICAgICAgICgoeCB8IHVjaGFyKDEgPDwgMSkpID09IDAg
PyAwIDogMSkgKworICAgICAgICAgICAoKHggfCB1Y2hhcigxIDw8IDIpKSA9PSAwID8gMCA6IDEp
ICsKKyAgICAgICAgICAgKCh4IHwgdWNoYXIoMSA8PCAzKSkgPT0gMCA/IDAgOiAxKSArCisgICAg
ICAgICAgICgoeCB8IHVjaGFyKDEgPDwgNCkpID09IDAgPyAwIDogMSkgKworICAgICAgICAgICAo
KHggfCB1Y2hhcigxIDw8IDUpKSA9PSAwID8gMCA6IDEpICsKKyAgICAgICAgICAgKCh4IHwgdWNo
YXIoMSA8PCA2KSkgPT0gMCA/IDAgOiAxKSArCisgICAgICAgICAgICgoeCB8IHVjaGFyKDEgPDwg
NykpID09IDAgPyAwIDogMSkpOworfQordWNoYXIgY291bnRfYml0cyh1c2hvcnQgeCkgeworICAg
IHJldHVybiB1Y2hhcigoKHggfCB1c2hvcnQoMSA8PCAwKSkgPT0gMCA/IDAgOiAxKSArCisgICAg
ICAgICAgICgoeCB8IHVzaG9ydCgxIDw8IDEpKSA9PSAwID8gMCA6IDEpICsKKyAgICAgICAgICAg
KCh4IHwgdXNob3J0KDEgPDwgMikpID09IDAgPyAwIDogMSkgKworICAgICAgICAgICAoKHggfCB1
c2hvcnQoMSA8PCAzKSkgPT0gMCA/IDAgOiAxKSArCisgICAgICAgICAgICgoeCB8IHVzaG9ydCgx
IDw8IDQpKSA9PSAwID8gMCA6IDEpICsKKyAgICAgICAgICAgKCh4IHwgdXNob3J0KDEgPDwgNSkp
ID09IDAgPyAwIDogMSkgKworICAgICAgICAgICAoKHggfCB1c2hvcnQoMSA8PCA2KSkgPT0gMCA/
IDAgOiAxKSArCisgICAgICAgICAgICgoeCB8IHVzaG9ydCgxIDw8IDcpKSA9PSAwID8gMCA6IDEp
ICsKKyAgICAgICAgICAgKCh4IHwgdXNob3J0KDEgPDwgOCkpID09IDAgPyAwIDogMSkgKworICAg
ICAgICAgICAoKHggfCB1c2hvcnQoMSA8PCA5KSkgPT0gMCA/IDAgOiAxKSArCisgICAgICAgICAg
ICgoeCB8IHVzaG9ydCgxIDw8IDEwKSkgPT0gMCA/IDAgOiAxKSArCisgICAgICAgICAgICgoeCB8
IHVzaG9ydCgxIDw8IDExKSkgPT0gMCA/IDAgOiAxKSArCisgICAgICAgICAgICgoeCB8IHVzaG9y
dCgxIDw8IDEyKSkgPT0gMCA/IDAgOiAxKSArCisgICAgICAgICAgICgoeCB8IHVzaG9ydCgxIDw8
IDEzKSkgPT0gMCA/IDAgOiAxKSArCisgICAgICAgICAgICgoeCB8IHVzaG9ydCgxIDw8IDE0KSkg
PT0gMCA/IDAgOiAxKSArCisgICAgICAgICAgICgoeCB8IHVzaG9ydCgxIDw8IDE1KSkgPT0gMCA/
IDAgOiAxKSk7Cit9Cit1Y2hhciBjb3VudF9iaXRzKHVpbnQgeCkgeworICAgIHJldHVybiB1Y2hh
cigoKHggfCB1aW50KDEgPDwgMCkpID09IDAgPyAwIDogMSkgKworICAgICAgICAgICAoKHggfCB1
aW50KDEgPDwgMSkpID09IDAgPyAwIDogMSkgKworICAgICAgICAgICAoKHggfCB1aW50KDEgPDwg
MikpID09IDAgPyAwIDogMSkgKworICAgICAgICAgICAoKHggfCB1aW50KDEgPDwgMykpID09IDAg
PyAwIDogMSkgKworICAgICAgICAgICAoKHggfCB1aW50KDEgPDwgNCkpID09IDAgPyAwIDogMSkg
KworICAgICAgICAgICAoKHggfCB1aW50KDEgPDwgNSkpID09IDAgPyAwIDogMSkgKworICAgICAg
ICAgICAoKHggfCB1aW50KDEgPDwgNikpID09IDAgPyAwIDogMSkgKworICAgICAgICAgICAoKHgg
fCB1aW50KDEgPDwgNykpID09IDAgPyAwIDogMSkgKworICAgICAgICAgICAoKHggfCB1aW50KDEg
PDwgOCkpID09IDAgPyAwIDogMSkgKworICAgICAgICAgICAoKHggfCB1aW50KDEgPDwgOSkpID09
IDAgPyAwIDogMSkgKworICAgICAgICAgICAoKHggfCB1aW50KDEgPDwgMTApKSA9PSAwID8gMCA6
IDEpICsKKyAgICAgICAgICAgKCh4IHwgdWludCgxIDw8IDExKSkgPT0gMCA/IDAgOiAxKSArCisg
ICAgICAgICAgICgoeCB8IHVpbnQoMSA8PCAxMikpID09IDAgPyAwIDogMSkgKworICAgICAgICAg
ICAoKHggfCB1aW50KDEgPDwgMTMpKSA9PSAwID8gMCA6IDEpICsKKyAgICAgICAgICAgKCh4IHwg
dWludCgxIDw8IDE0KSkgPT0gMCA/IDAgOiAxKSArCisgICAgICAgICAgICgoeCB8IHVpbnQoMSA8
PCAxNSkpID09IDAgPyAwIDogMSkgKworICAgICAgICAgICAoKHggfCB1aW50KDEgPDwgMTYpKSA9
PSAwID8gMCA6IDEpICsKKyAgICAgICAgICAgKCh4IHwgdWludCgxIDw8IDE3KSkgPT0gMCA/IDAg
OiAxKSArCisgICAgICAgICAgICgoeCB8IHVpbnQoMSA8PCAxOCkpID09IDAgPyAwIDogMSkgKwor
ICAgICAgICAgICAoKHggfCB1aW50KDEgPDwgMTkpKSA9PSAwID8gMCA6IDEpICsKKyAgICAgICAg
ICAgKCh4IHwgdWludCgxIDw8IDIwKSkgPT0gMCA/IDAgOiAxKSArCisgICAgICAgICAgICgoeCB8
IHVpbnQoMSA8PCAyMSkpID09IDAgPyAwIDogMSkgKworICAgICAgICAgICAoKHggfCB1aW50KDEg
PDwgMjIpKSA9PSAwID8gMCA6IDEpICsKKyAgICAgICAgICAgKCh4IHwgdWludCgxIDw8IDIzKSkg
PT0gMCA/IDAgOiAxKSArCisgICAgICAgICAgICgoeCB8IHVpbnQoMSA8PCAyNCkpID09IDAgPyAw
IDogMSkgKworICAgICAgICAgICAoKHggfCB1aW50KDEgPDwgMjUpKSA9PSAwID8gMCA6IDEpICsK
KyAgICAgICAgICAgKCh4IHwgdWludCgxIDw8IDI2KSkgPT0gMCA/IDAgOiAxKSArCisgICAgICAg
ICAgICgoeCB8IHVpbnQoMSA8PCAyNykpID09IDAgPyAwIDogMSkgKworICAgICAgICAgICAoKHgg
fCB1aW50KDEgPDwgMjgpKSA9PSAwID8gMCA6IDEpICsKKyAgICAgICAgICAgKCh4IHwgdWludCgx
IDw8IDI5KSkgPT0gMCA/IDAgOiAxKSArCisgICAgICAgICAgICgoeCB8IHVpbnQoMSA8PCAzMCkp
ID09IDAgPyAwIDogMSkgKworICAgICAgICAgICAoKHggfCB1aW50KDEgPDwgMzEpKSA9PSAwID8g
MCA6IDEpKTsKK30KK3VjaGFyIHJldmVyc2ViaXRzKHVjaGFyIHgpIHsKKyAgICByZXR1cm4gdWNo
YXIoKCh4ICYgdWNoYXIoMSA8PCAwKSkgPDwgNykgfAorICAgICAgICAgICAoKHggJiB1Y2hhcigx
IDw8IDEpKSA8PCA1KSB8CisgICAgICAgICAgICgoeCAmIHVjaGFyKDEgPDwgMikpIDw8IDMpIHwK
KyAgICAgICAgICAgKCh4ICYgdWNoYXIoMSA8PCAzKSkgPDwgMSkgfAorICAgICAgICAgICAoKHgg
JiB1Y2hhcigxIDw8IDQpKSA+PiAxKSB8CisgICAgICAgICAgICgoeCAmIHVjaGFyKDEgPDwgNSkp
ID4+IDMpIHwKKyAgICAgICAgICAgKCh4ICYgdWNoYXIoMSA8PCA2KSkgPj4gNSkgfAorICAgICAg
ICAgICAoKHggJiB1Y2hhcigxIDw8IDcpKSA+PiA3KSk7Cit9Cit1c2hvcnQgcmV2ZXJzZWJpdHMo
dXNob3J0IHgpIHsKKyAgICByZXR1cm4gdXNob3J0KCgoeCAmIHVzaG9ydCgxIDw8IDApKSA8PCAx
NSkgfAorICAgICAgICAgICAoKHggJiB1c2hvcnQoMSA8PCAxKSkgPDwgMTMpIHwKKyAgICAgICAg
ICAgKCh4ICYgdXNob3J0KDEgPDwgMikpIDw8IDExKSB8CisgICAgICAgICAgICgoeCAmIHVzaG9y
dCgxIDw8IDMpKSA8PCA5KSB8CisgICAgICAgICAgICgoeCAmIHVzaG9ydCgxIDw8IDQpKSA8PCA3
KSB8CisgICAgICAgICAgICgoeCAmIHVzaG9ydCgxIDw8IDUpKSA8PCA1KSB8CisgICAgICAgICAg
ICgoeCAmIHVzaG9ydCgxIDw8IDYpKSA8PCAzKSB8CisgICAgICAgICAgICgoeCAmIHVzaG9ydCgx
IDw8IDcpKSA8PCAxKSB8CisgICAgICAgICAgICgoeCAmIHVzaG9ydCgxIDw8IDgpKSA+PiAxKSB8
CisgICAgICAgICAgICgoeCAmIHVzaG9ydCgxIDw8IDkpKSA+PiAzKSB8CisgICAgICAgICAgICgo
eCAmIHVzaG9ydCgxIDw8IDEwKSkgPj4gNSkgfAorICAgICAgICAgICAoKHggJiB1c2hvcnQoMSA8
PCAxMSkpID4+IDcpIHwKKyAgICAgICAgICAgKCh4ICYgdXNob3J0KDEgPDwgMTIpKSA+PiA5KSB8
CisgICAgICAgICAgICgoeCAmIHVzaG9ydCgxIDw8IDEzKSkgPj4gMTEpIHwKKyAgICAgICAgICAg
KCh4ICYgdXNob3J0KDEgPDwgMTQpKSA+PiAxMykgfAorICAgICAgICAgICAoKHggJiB1c2hvcnQo
MSA8PCAxNSkpID4+IDE1KSk7Cit9Cit1aW50IHJldmVyc2ViaXRzKHVpbnQgeCkgeworICAgIHJl
dHVybiB1aW50KCgoeCAmIHVpbnQoMSA8PCAwKSkgPDwgMzEpIHwKKyAgICAgICAgICAgKCh4ICYg
dWludCgxIDw8IDEpKSA8PCAyOSkgfAorICAgICAgICAgICAoKHggJiB1aW50KDEgPDwgMikpIDw8
IDI3KSB8CisgICAgICAgICAgICgoeCAmIHVpbnQoMSA8PCAzKSkgPDwgMjUpIHwKKyAgICAgICAg
ICAgKCh4ICYgdWludCgxIDw8IDQpKSA8PCAyMykgfAorICAgICAgICAgICAoKHggJiB1aW50KDEg
PDwgNSkpIDw8IDIxKSB8CisgICAgICAgICAgICgoeCAmIHVpbnQoMSA8PCA2KSkgPDwgMTkpIHwK
KyAgICAgICAgICAgKCh4ICYgdWludCgxIDw8IDcpKSA8PCAxNykgfAorICAgICAgICAgICAoKHgg
JiB1aW50KDEgPDwgOCkpIDw8IDE1KSB8CisgICAgICAgICAgICgoeCAmIHVpbnQoMSA8PCA5KSkg
PDwgMTMpIHwKKyAgICAgICAgICAgKCh4ICYgdWludCgxIDw8IDEwKSkgPDwgMTEpIHwKKyAgICAg
ICAgICAgKCh4ICYgdWludCgxIDw8IDExKSkgPDwgOSkgfAorICAgICAgICAgICAoKHggJiB1aW50
KDEgPDwgMTIpKSA8PCA3KSB8CisgICAgICAgICAgICgoeCAmIHVpbnQoMSA8PCAxMykpIDw8IDUp
IHwKKyAgICAgICAgICAgKCh4ICYgdWludCgxIDw8IDE0KSkgPDwgMykgfAorICAgICAgICAgICAo
KHggJiB1aW50KDEgPDwgMTUpKSA8PCAxKSB8CisgICAgICAgICAgICgoeCAmIHVpbnQoMSA8PCAx
NikpID4+IDEpIHwKKyAgICAgICAgICAgKCh4ICYgdWludCgxIDw8IDE3KSkgPj4gMykgfAorICAg
ICAgICAgICAoKHggJiB1aW50KDEgPDwgMTgpKSA+PiA1KSB8CisgICAgICAgICAgICgoeCAmIHVp
bnQoMSA8PCAxOSkpID4+IDcpIHwKKyAgICAgICAgICAgKCh4ICYgdWludCgxIDw8IDIwKSkgPj4g
OSkgfAorICAgICAgICAgICAoKHggJiB1aW50KDEgPDwgMjEpKSA+PiAxMSkgfAorICAgICAgICAg
ICAoKHggJiB1aW50KDEgPDwgMjIpKSA+PiAxMykgfAorICAgICAgICAgICAoKHggJiB1aW50KDEg
PDwgMjMpKSA+PiAxNSkgfAorICAgICAgICAgICAoKHggJiB1aW50KDEgPDwgMjQpKSA+PiAxNykg
fAorICAgICAgICAgICAoKHggJiB1aW50KDEgPDwgMjUpKSA+PiAxOSkgfAorICAgICAgICAgICAo
KHggJiB1aW50KDEgPDwgMjYpKSA+PiAyMSkgfAorICAgICAgICAgICAoKHggJiB1aW50KDEgPDwg
MjcpKSA+PiAyMykgfAorICAgICAgICAgICAoKHggJiB1aW50KDEgPDwgMjgpKSA+PiAyNSkgfAor
ICAgICAgICAgICAoKHggJiB1aW50KDEgPDwgMjkpKSA+PiAyNykgfAorICAgICAgICAgICAoKHgg
JiB1aW50KDEgPDwgMzApKSA+PiAyOSkgfAorICAgICAgICAgICAoKHggJiB1aW50KDEgPDwgMzEp
KSA+PiAzMSkpOworfQordWNoYXIyIGNvdW50X2JpdHModWNoYXIyIHgpIHsKKyAgICB1Y2hhcjIg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IGNvdW50X2JpdHMoeFswXSk7CisgICAgcmVzdWx0WzFd
ID0gY291bnRfYml0cyh4WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWNoYXIzIGNvdW50
X2JpdHModWNoYXIzIHgpIHsKKyAgICB1Y2hhcjMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGNv
dW50X2JpdHMoeFswXSk7CisgICAgcmVzdWx0WzFdID0gY291bnRfYml0cyh4WzFdKTsKKyAgICBy
ZXN1bHRbMl0gPSBjb3VudF9iaXRzKHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1Y2hh
cjQgY291bnRfYml0cyh1Y2hhcjQgeCkgeworICAgIHVjaGFyNCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gY291bnRfYml0cyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjb3VudF9iaXRzKHhbMV0p
OworICAgIHJlc3VsdFsyXSA9IGNvdW50X2JpdHMoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gY291
bnRfYml0cyh4WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWNoYXIyIGNvdW50X2JpdHMo
dXNob3J0MiB4KSB7CisgICAgdWNoYXIyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBjb3VudF9i
aXRzKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGNvdW50X2JpdHMoeFsxXSk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK3VjaGFyMyBjb3VudF9iaXRzKHVzaG9ydDMgeCkgeworICAgIHVjaGFyMyBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gY291bnRfYml0cyh4WzBdKTsKKyAgICByZXN1bHRbMV0g
PSBjb3VudF9iaXRzKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGNvdW50X2JpdHMoeFsyXSk7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK3VjaGFyNCBjb3VudF9iaXRzKHVzaG9ydDQgeCkgeworICAg
IHVjaGFyNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gY291bnRfYml0cyh4WzBdKTsKKyAgICBy
ZXN1bHRbMV0gPSBjb3VudF9iaXRzKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGNvdW50X2JpdHMo
eFsyXSk7CisgICAgcmVzdWx0WzNdID0gY291bnRfYml0cyh4WzNdKTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQordWNoYXIyIGNvdW50X2JpdHModWludDIgeCkgeworICAgIHVjaGFyMiByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gY291bnRfYml0cyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjb3Vu
dF9iaXRzKHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1Y2hhcjMgY291bnRfYml0cyh1
aW50MyB4KSB7CisgICAgdWNoYXIzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBjb3VudF9iaXRz
KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGNvdW50X2JpdHMoeFsxXSk7CisgICAgcmVzdWx0WzJd
ID0gY291bnRfYml0cyh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWNoYXI0IGNvdW50
X2JpdHModWludDQgeCkgeworICAgIHVjaGFyNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gY291
bnRfYml0cyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBjb3VudF9iaXRzKHhbMV0pOworICAgIHJl
c3VsdFsyXSA9IGNvdW50X2JpdHMoeFsyXSk7CisgICAgcmVzdWx0WzNdID0gY291bnRfYml0cyh4
WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWNoYXIyIHJldmVyc2ViaXRzKHVjaGFyMiB4
KSB7CisgICAgdWNoYXIyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSByZXZlcnNlYml0cyh4WzBd
KTsKKyAgICByZXN1bHRbMV0gPSByZXZlcnNlYml0cyh4WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQordWNoYXIzIHJldmVyc2ViaXRzKHVjaGFyMyB4KSB7CisgICAgdWNoYXIzIHJlc3VsdDsK
KyAgICByZXN1bHRbMF0gPSByZXZlcnNlYml0cyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSByZXZl
cnNlYml0cyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSByZXZlcnNlYml0cyh4WzJdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQordWNoYXI0IHJldmVyc2ViaXRzKHVjaGFyNCB4KSB7CisgICAgdWNo
YXI0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSByZXZlcnNlYml0cyh4WzBdKTsKKyAgICByZXN1
bHRbMV0gPSByZXZlcnNlYml0cyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSByZXZlcnNlYml0cyh4
WzJdKTsKKyAgICByZXN1bHRbM10gPSByZXZlcnNlYml0cyh4WzNdKTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQordXNob3J0MiByZXZlcnNlYml0cyh1c2hvcnQyIHgpIHsKKyAgICB1c2hvcnQyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSByZXZlcnNlYml0cyh4WzBdKTsKKyAgICByZXN1bHRbMV0g
PSByZXZlcnNlYml0cyh4WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordXNob3J0MyByZXZl
cnNlYml0cyh1c2hvcnQzIHgpIHsKKyAgICB1c2hvcnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSByZXZlcnNlYml0cyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSByZXZlcnNlYml0cyh4WzFdKTsK
KyAgICByZXN1bHRbMl0gPSByZXZlcnNlYml0cyh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQordXNob3J0NCByZXZlcnNlYml0cyh1c2hvcnQ0IHgpIHsKKyAgICB1c2hvcnQ0IHJlc3VsdDsK
KyAgICByZXN1bHRbMF0gPSByZXZlcnNlYml0cyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSByZXZl
cnNlYml0cyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSByZXZlcnNlYml0cyh4WzJdKTsKKyAgICBy
ZXN1bHRbM10gPSByZXZlcnNlYml0cyh4WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWlu
dDIgcmV2ZXJzZWJpdHModWludDIgeCkgeworICAgIHVpbnQyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSByZXZlcnNlYml0cyh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSByZXZlcnNlYml0cyh4WzFd
KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludDMgcmV2ZXJzZWJpdHModWludDMgeCkgewor
ICAgIHVpbnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSByZXZlcnNlYml0cyh4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSByZXZlcnNlYml0cyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSByZXZlcnNl
Yml0cyh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludDQgcmV2ZXJzZWJpdHModWlu
dDQgeCkgeworICAgIHVpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSByZXZlcnNlYml0cyh4
WzBdKTsKKyAgICByZXN1bHRbMV0gPSByZXZlcnNlYml0cyh4WzFdKTsKKyAgICByZXN1bHRbMl0g
PSByZXZlcnNlYml0cyh4WzJdKTsKKyAgICByZXN1bHRbM10gPSByZXZlcnNlYml0cyh4WzNdKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorCit1aW50IGZpcnN0Yml0aGlnaCh1Y2hhciB4KSB7Cisg
ICAgaWYgKCh4ICYgdWNoYXIoMSA8PCA3KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
aWYgKCh4ICYgdWNoYXIoMSA8PCA2KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDE7CisgICAgaWYg
KCh4ICYgdWNoYXIoMSA8PCA1KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDI7CisgICAgaWYgKCh4
ICYgdWNoYXIoMSA8PCA0KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDM7CisgICAgaWYgKCh4ICYg
dWNoYXIoMSA8PCAzKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDQ7CisgICAgaWYgKCh4ICYgdWNo
YXIoMSA8PCAyKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDU7CisgICAgaWYgKCh4ICYgdWNoYXIo
MSA8PCAxKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDY7CisgICAgaWYgKCh4ICYgdWNoYXIoMSA8
PCAwKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDc7CisgICAgcmV0dXJuIDg7Cit9Cit1aW50IGZp
cnN0Yml0aGlnaCh1c2hvcnQgeCkgeworICAgIGlmICgoeCAmIHVzaG9ydCgxIDw8IDE1KSkgIT0g
MCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCh4ICYgdXNob3J0KDEgPDwgMTQpKSAhPSAw
KQorICAgICAgICByZXR1cm4gMTsKKyAgICBpZiAoKHggJiB1c2hvcnQoMSA8PCAxMykpICE9IDAp
CisgICAgICAgIHJldHVybiAyOworICAgIGlmICgoeCAmIHVzaG9ydCgxIDw8IDEyKSkgIT0gMCkK
KyAgICAgICAgcmV0dXJuIDM7CisgICAgaWYgKCh4ICYgdXNob3J0KDEgPDwgMTEpKSAhPSAwKQor
ICAgICAgICByZXR1cm4gNDsKKyAgICBpZiAoKHggJiB1c2hvcnQoMSA8PCAxMCkpICE9IDApCisg
ICAgICAgIHJldHVybiA1OworICAgIGlmICgoeCAmIHVzaG9ydCgxIDw8IDkpKSAhPSAwKQorICAg
ICAgICByZXR1cm4gNjsKKyAgICBpZiAoKHggJiB1c2hvcnQoMSA8PCA4KSkgIT0gMCkKKyAgICAg
ICAgcmV0dXJuIDc7CisgICAgaWYgKCh4ICYgdXNob3J0KDEgPDwgNykpICE9IDApCisgICAgICAg
IHJldHVybiA4OworICAgIGlmICgoeCAmIHVzaG9ydCgxIDw8IDYpKSAhPSAwKQorICAgICAgICBy
ZXR1cm4gOTsKKyAgICBpZiAoKHggJiB1c2hvcnQoMSA8PCA1KSkgIT0gMCkKKyAgICAgICAgcmV0
dXJuIDEwOworICAgIGlmICgoeCAmIHVzaG9ydCgxIDw8IDQpKSAhPSAwKQorICAgICAgICByZXR1
cm4gMTE7CisgICAgaWYgKCh4ICYgdXNob3J0KDEgPDwgMykpICE9IDApCisgICAgICAgIHJldHVy
biAxMjsKKyAgICBpZiAoKHggJiB1c2hvcnQoMSA8PCAyKSkgIT0gMCkKKyAgICAgICAgcmV0dXJu
IDEzOworICAgIGlmICgoeCAmIHVzaG9ydCgxIDw8IDEpKSAhPSAwKQorICAgICAgICByZXR1cm4g
MTQ7CisgICAgaWYgKCh4ICYgdXNob3J0KDEgPDwgMCkpICE9IDApCisgICAgICAgIHJldHVybiAx
NTsKKyAgICByZXR1cm4gMTY7Cit9Cit1aW50IGZpcnN0Yml0aGlnaCh1aW50IHgpIHsKKyAgICBp
ZiAoKHggJiB1aW50KDEgPDwgMzEpKSAhPSAwKQorICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAo
KHggJiB1aW50KDEgPDwgMzApKSAhPSAwKQorICAgICAgICByZXR1cm4gMTsKKyAgICBpZiAoKHgg
JiB1aW50KDEgPDwgMjkpKSAhPSAwKQorICAgICAgICByZXR1cm4gMjsKKyAgICBpZiAoKHggJiB1
aW50KDEgPDwgMjgpKSAhPSAwKQorICAgICAgICByZXR1cm4gMzsKKyAgICBpZiAoKHggJiB1aW50
KDEgPDwgMjcpKSAhPSAwKQorICAgICAgICByZXR1cm4gNDsKKyAgICBpZiAoKHggJiB1aW50KDEg
PDwgMjYpKSAhPSAwKQorICAgICAgICByZXR1cm4gNTsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwg
MjUpKSAhPSAwKQorICAgICAgICByZXR1cm4gNjsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMjQp
KSAhPSAwKQorICAgICAgICByZXR1cm4gNzsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMjMpKSAh
PSAwKQorICAgICAgICByZXR1cm4gODsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMjIpKSAhPSAw
KQorICAgICAgICByZXR1cm4gOTsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMjEpKSAhPSAwKQor
ICAgICAgICByZXR1cm4gMTA7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDIwKSkgIT0gMCkKKyAg
ICAgICAgcmV0dXJuIDExOworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxOSkpICE9IDApCisgICAg
ICAgIHJldHVybiAxMjsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMTgpKSAhPSAwKQorICAgICAg
ICByZXR1cm4gMTM7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDE3KSkgIT0gMCkKKyAgICAgICAg
cmV0dXJuIDE0OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxNikpICE9IDApCisgICAgICAgIHJl
dHVybiAxNTsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMTUpKSAhPSAwKQorICAgICAgICByZXR1
cm4gMTY7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDE0KSkgIT0gMCkKKyAgICAgICAgcmV0dXJu
IDE3OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxMykpICE9IDApCisgICAgICAgIHJldHVybiAx
ODsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMTIpKSAhPSAwKQorICAgICAgICByZXR1cm4gMTk7
CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDExKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDIwOwor
ICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxMCkpICE9IDApCisgICAgICAgIHJldHVybiAyMTsKKyAg
ICBpZiAoKHggJiB1aW50KDEgPDwgOSkpICE9IDApCisgICAgICAgIHJldHVybiAyMjsKKyAgICBp
ZiAoKHggJiB1aW50KDEgPDwgOCkpICE9IDApCisgICAgICAgIHJldHVybiAyMzsKKyAgICBpZiAo
KHggJiB1aW50KDEgPDwgNykpICE9IDApCisgICAgICAgIHJldHVybiAyNDsKKyAgICBpZiAoKHgg
JiB1aW50KDEgPDwgNikpICE9IDApCisgICAgICAgIHJldHVybiAyNTsKKyAgICBpZiAoKHggJiB1
aW50KDEgPDwgNSkpICE9IDApCisgICAgICAgIHJldHVybiAyNjsKKyAgICBpZiAoKHggJiB1aW50
KDEgPDwgNCkpICE9IDApCisgICAgICAgIHJldHVybiAyNzsKKyAgICBpZiAoKHggJiB1aW50KDEg
PDwgMykpICE9IDApCisgICAgICAgIHJldHVybiAyODsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwg
MikpICE9IDApCisgICAgICAgIHJldHVybiAyOTsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMSkp
ICE9IDApCisgICAgICAgIHJldHVybiAzMDsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMCkpICE9
IDApCisgICAgICAgIHJldHVybiAzMTsKKyAgICByZXR1cm4gMzI7Cit9Cit1aW50IGZpcnN0Yml0
aGlnaChjaGFyIHgpIHsKKyAgICByZXR1cm4gZmlyc3RiaXRoaWdoKHVjaGFyKHgpKTsKK30KK3Vp
bnQgZmlyc3RiaXRoaWdoKHNob3J0IHgpIHsKKyAgICByZXR1cm4gZmlyc3RiaXRoaWdoKHVzaG9y
dCh4KSk7Cit9Cit1aW50IGZpcnN0Yml0aGlnaChpbnQgeCkgeworICAgIHJldHVybiBmaXJzdGJp
dGhpZ2godWludCh4KSk7Cit9Cit1aW50IGZpcnN0Yml0bG93KHVjaGFyIHgpIHsKKyAgICBpZiAo
KHggJiB1Y2hhcigxIDw8IDApKSAhPSAwKQorICAgICAgICByZXR1cm4gNzsKKyAgICBpZiAoKHgg
JiB1Y2hhcigxIDw8IDEpKSAhPSAwKQorICAgICAgICByZXR1cm4gNjsKKyAgICBpZiAoKHggJiB1
Y2hhcigxIDw8IDIpKSAhPSAwKQorICAgICAgICByZXR1cm4gNTsKKyAgICBpZiAoKHggJiB1Y2hh
cigxIDw8IDMpKSAhPSAwKQorICAgICAgICByZXR1cm4gNDsKKyAgICBpZiAoKHggJiB1Y2hhcigx
IDw8IDQpKSAhPSAwKQorICAgICAgICByZXR1cm4gMzsKKyAgICBpZiAoKHggJiB1Y2hhcigxIDw8
IDUpKSAhPSAwKQorICAgICAgICByZXR1cm4gMjsKKyAgICBpZiAoKHggJiB1Y2hhcigxIDw8IDYp
KSAhPSAwKQorICAgICAgICByZXR1cm4gMTsKKyAgICBpZiAoKHggJiB1Y2hhcigxIDw8IDcpKSAh
PSAwKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gODsKK30KK3VpbnQgZmlyc3RiaXRs
b3codXNob3J0IHgpIHsKKyAgICBpZiAoKHggJiB1c2hvcnQoMSA8PCAwKSkgIT0gMCkKKyAgICAg
ICAgcmV0dXJuIDE1OworICAgIGlmICgoeCAmIHVzaG9ydCgxIDw8IDEpKSAhPSAwKQorICAgICAg
ICByZXR1cm4gMTQ7CisgICAgaWYgKCh4ICYgdXNob3J0KDEgPDwgMikpICE9IDApCisgICAgICAg
IHJldHVybiAxMzsKKyAgICBpZiAoKHggJiB1c2hvcnQoMSA8PCAzKSkgIT0gMCkKKyAgICAgICAg
cmV0dXJuIDEyOworICAgIGlmICgoeCAmIHVzaG9ydCgxIDw8IDQpKSAhPSAwKQorICAgICAgICBy
ZXR1cm4gMTE7CisgICAgaWYgKCh4ICYgdXNob3J0KDEgPDwgNSkpICE9IDApCisgICAgICAgIHJl
dHVybiAxMDsKKyAgICBpZiAoKHggJiB1c2hvcnQoMSA8PCA2KSkgIT0gMCkKKyAgICAgICAgcmV0
dXJuIDk7CisgICAgaWYgKCh4ICYgdXNob3J0KDEgPDwgNykpICE9IDApCisgICAgICAgIHJldHVy
biA4OworICAgIGlmICgoeCAmIHVzaG9ydCgxIDw8IDgpKSAhPSAwKQorICAgICAgICByZXR1cm4g
NzsKKyAgICBpZiAoKHggJiB1c2hvcnQoMSA8PCA5KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDY7
CisgICAgaWYgKCh4ICYgdXNob3J0KDEgPDwgMTApKSAhPSAwKQorICAgICAgICByZXR1cm4gNTsK
KyAgICBpZiAoKHggJiB1c2hvcnQoMSA8PCAxMSkpICE9IDApCisgICAgICAgIHJldHVybiA0Owor
ICAgIGlmICgoeCAmIHVzaG9ydCgxIDw8IDEyKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDM7Cisg
ICAgaWYgKCh4ICYgdXNob3J0KDEgPDwgMTMpKSAhPSAwKQorICAgICAgICByZXR1cm4gMjsKKyAg
ICBpZiAoKHggJiB1c2hvcnQoMSA8PCAxNCkpICE9IDApCisgICAgICAgIHJldHVybiAxOworICAg
IGlmICgoeCAmIHVzaG9ydCgxIDw8IDE1KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
cmV0dXJuIDE2OworfQordWludCBmaXJzdGJpdGxvdyh1aW50IHgpIHsKKyAgICBpZiAoKHggJiB1
aW50KDEgPDwgMCkpICE9IDApCisgICAgICAgIHJldHVybiAzMTsKKyAgICBpZiAoKHggJiB1aW50
KDEgPDwgMSkpICE9IDApCisgICAgICAgIHJldHVybiAzMDsKKyAgICBpZiAoKHggJiB1aW50KDEg
PDwgMikpICE9IDApCisgICAgICAgIHJldHVybiAyOTsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwg
MykpICE9IDApCisgICAgICAgIHJldHVybiAyODsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgNCkp
ICE9IDApCisgICAgICAgIHJldHVybiAyNzsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgNSkpICE9
IDApCisgICAgICAgIHJldHVybiAyNjsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgNikpICE9IDAp
CisgICAgICAgIHJldHVybiAyNTsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgNykpICE9IDApCisg
ICAgICAgIHJldHVybiAyNDsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgOCkpICE9IDApCisgICAg
ICAgIHJldHVybiAyMzsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgOSkpICE9IDApCisgICAgICAg
IHJldHVybiAyMjsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMTApKSAhPSAwKQorICAgICAgICBy
ZXR1cm4gMjE7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDExKSkgIT0gMCkKKyAgICAgICAgcmV0
dXJuIDIwOworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxMikpICE9IDApCisgICAgICAgIHJldHVy
biAxOTsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMTMpKSAhPSAwKQorICAgICAgICByZXR1cm4g
MTg7CisgICAgaWYgKCh4ICYgdWludCgxIDw8IDE0KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDE3
OworICAgIGlmICgoeCAmIHVpbnQoMSA8PCAxNSkpICE9IDApCisgICAgICAgIHJldHVybiAxNjsK
KyAgICBpZiAoKHggJiB1aW50KDEgPDwgMTYpKSAhPSAwKQorICAgICAgICByZXR1cm4gMTU7Cisg
ICAgaWYgKCh4ICYgdWludCgxIDw8IDE3KSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDE0OworICAg
IGlmICgoeCAmIHVpbnQoMSA8PCAxOCkpICE9IDApCisgICAgICAgIHJldHVybiAxMzsKKyAgICBp
ZiAoKHggJiB1aW50KDEgPDwgMTkpKSAhPSAwKQorICAgICAgICByZXR1cm4gMTI7CisgICAgaWYg
KCh4ICYgdWludCgxIDw8IDIwKSkgIT0gMCkKKyAgICAgICAgcmV0dXJuIDExOworICAgIGlmICgo
eCAmIHVpbnQoMSA8PCAyMSkpICE9IDApCisgICAgICAgIHJldHVybiAxMDsKKyAgICBpZiAoKHgg
JiB1aW50KDEgPDwgMjIpKSAhPSAwKQorICAgICAgICByZXR1cm4gOTsKKyAgICBpZiAoKHggJiB1
aW50KDEgPDwgMjMpKSAhPSAwKQorICAgICAgICByZXR1cm4gODsKKyAgICBpZiAoKHggJiB1aW50
KDEgPDwgMjQpKSAhPSAwKQorICAgICAgICByZXR1cm4gNzsKKyAgICBpZiAoKHggJiB1aW50KDEg
PDwgMjUpKSAhPSAwKQorICAgICAgICByZXR1cm4gNjsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwg
MjYpKSAhPSAwKQorICAgICAgICByZXR1cm4gNTsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMjcp
KSAhPSAwKQorICAgICAgICByZXR1cm4gNDsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMjgpKSAh
PSAwKQorICAgICAgICByZXR1cm4gMzsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMjkpKSAhPSAw
KQorICAgICAgICByZXR1cm4gMjsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMzApKSAhPSAwKQor
ICAgICAgICByZXR1cm4gMTsKKyAgICBpZiAoKHggJiB1aW50KDEgPDwgMzEpKSAhPSAwKQorICAg
ICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gMzI7Cit9Cit1aW50IGZpcnN0Yml0bG93KGNoYXIg
eCkgeworICAgIHJldHVybiBmaXJzdGJpdGxvdyh1Y2hhcih4KSk7Cit9Cit1aW50IGZpcnN0Yml0
bG93KHNob3J0IHgpIHsKKyAgICByZXR1cm4gZmlyc3RiaXRsb3codXNob3J0KHgpKTsKK30KK3Vp
bnQgZmlyc3RiaXRsb3coaW50IHgpIHsKKyAgICByZXR1cm4gZmlyc3RiaXRsb3codWludCh4KSk7
Cit9Cit1aW50MiBmaXJzdGJpdGhpZ2godWNoYXIyIHgpIHsKKyAgICB1aW50MiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gZmlyc3RiaXRoaWdoKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0
Yml0aGlnaCh4WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludDMgZmlyc3RiaXRoaWdo
KHVjaGFyMyB4KSB7CisgICAgdWludDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0
aGlnaCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGhpZ2goeFsxXSk7CisgICAgcmVz
dWx0WzJdID0gZmlyc3RiaXRoaWdoKHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50
NCBmaXJzdGJpdGhpZ2godWNoYXI0IHgpIHsKKyAgICB1aW50NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gZmlyc3RiaXRoaWdoKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0aGlnaCh4
WzFdKTsKKyAgICByZXN1bHRbMl0gPSBmaXJzdGJpdGhpZ2goeFsyXSk7CisgICAgcmVzdWx0WzNd
ID0gZmlyc3RiaXRoaWdoKHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50MiBmaXJz
dGJpdGhpZ2godXNob3J0MiB4KSB7CisgICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9
IGZpcnN0Yml0aGlnaCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGhpZ2goeFsxXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VpbnQzIGZpcnN0Yml0aGlnaCh1c2hvcnQzIHgpIHsK
KyAgICB1aW50MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZmlyc3RiaXRoaWdoKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0aGlnaCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBmaXJz
dGJpdGhpZ2goeFsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VpbnQ0IGZpcnN0Yml0aGln
aCh1c2hvcnQ0IHgpIHsKKyAgICB1aW50NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZmlyc3Ri
aXRoaWdoKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0aGlnaCh4WzFdKTsKKyAgICBy
ZXN1bHRbMl0gPSBmaXJzdGJpdGhpZ2goeFsyXSk7CisgICAgcmVzdWx0WzNdID0gZmlyc3RiaXRo
aWdoKHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50MiBmaXJzdGJpdGhpZ2godWlu
dDIgeCkgeworICAgIHVpbnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGhpZ2go
eFswXSk7CisgICAgcmVzdWx0WzFdID0gZmlyc3RiaXRoaWdoKHhbMV0pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9Cit1aW50MyBmaXJzdGJpdGhpZ2godWludDMgeCkgeworICAgIHVpbnQzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGhpZ2goeFswXSk7CisgICAgcmVzdWx0WzFdID0g
Zmlyc3RiaXRoaWdoKHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0aGlnaCh4WzJdKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQordWludDQgZmlyc3RiaXRoaWdoKHVpbnQ0IHgpIHsKKyAg
ICB1aW50NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZmlyc3RiaXRoaWdoKHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGZpcnN0Yml0aGlnaCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBmaXJzdGJp
dGhpZ2goeFsyXSk7CisgICAgcmVzdWx0WzNdID0gZmlyc3RiaXRoaWdoKHhbM10pOworICAgIHJl
dHVybiByZXN1bHQ7Cit9Cit1aW50MiBmaXJzdGJpdGhpZ2goY2hhcjIgeCkgeworICAgIHVpbnQy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGhpZ2goeFswXSk7CisgICAgcmVzdWx0
WzFdID0gZmlyc3RiaXRoaWdoKHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50MyBm
aXJzdGJpdGhpZ2goY2hhcjMgeCkgeworICAgIHVpbnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSBmaXJzdGJpdGhpZ2goeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmlyc3RiaXRoaWdoKHhbMV0p
OworICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0aGlnaCh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQordWludDQgZmlyc3RiaXRoaWdoKGNoYXI0IHgpIHsKKyAgICB1aW50NCByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdID0gZmlyc3RiaXRoaWdoKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0
Yml0aGlnaCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBmaXJzdGJpdGhpZ2goeFsyXSk7CisgICAg
cmVzdWx0WzNdID0gZmlyc3RiaXRoaWdoKHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1
aW50MiBmaXJzdGJpdGhpZ2goc2hvcnQyIHgpIHsKKyAgICB1aW50MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gZmlyc3RiaXRoaWdoKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0aGln
aCh4WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludDMgZmlyc3RiaXRoaWdoKHNob3J0
MyB4KSB7CisgICAgdWludDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0aGlnaCh4
WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGhpZ2goeFsxXSk7CisgICAgcmVzdWx0WzJd
ID0gZmlyc3RiaXRoaWdoKHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50NCBmaXJz
dGJpdGhpZ2goc2hvcnQ0IHgpIHsKKyAgICB1aW50NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
Zmlyc3RiaXRoaWdoKHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0aGlnaCh4WzFdKTsK
KyAgICByZXN1bHRbMl0gPSBmaXJzdGJpdGhpZ2goeFsyXSk7CisgICAgcmVzdWx0WzNdID0gZmly
c3RiaXRoaWdoKHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50MiBmaXJzdGJpdGhp
Z2goaW50MiB4KSB7CisgICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0
aGlnaCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmaXJzdGJpdGhpZ2goeFsxXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK3VpbnQzIGZpcnN0Yml0aGlnaChpbnQzIHgpIHsKKyAgICB1aW50MyBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZmlyc3RiaXRoaWdoKHhbMF0pOworICAgIHJlc3VsdFsx
XSA9IGZpcnN0Yml0aGlnaCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBmaXJzdGJpdGhpZ2goeFsy
XSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VpbnQ0IGZpcnN0Yml0aGlnaChpbnQ0IHgpIHsK
KyAgICB1aW50NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZmlyc3RiaXRoaWdoKHhbMF0pOwor
ICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0aGlnaCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBmaXJz
dGJpdGhpZ2goeFsyXSk7CisgICAgcmVzdWx0WzNdID0gZmlyc3RiaXRoaWdoKHhbM10pOworICAg
IHJldHVybiByZXN1bHQ7Cit9Cit1aW50MiBmaXJzdGJpdGxvdyh1Y2hhcjIgeCkgeworICAgIHVp
bnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGxvdyh4WzBdKTsKKyAgICByZXN1
bHRbMV0gPSBmaXJzdGJpdGxvdyh4WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludDMg
Zmlyc3RiaXRsb3codWNoYXIzIHgpIHsKKyAgICB1aW50MyByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gZmlyc3RiaXRsb3coeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmlyc3RiaXRsb3coeFsxXSk7
CisgICAgcmVzdWx0WzJdID0gZmlyc3RiaXRsb3coeFsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK3VpbnQ0IGZpcnN0Yml0bG93KHVjaGFyNCB4KSB7CisgICAgdWludDQgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IGZpcnN0Yml0bG93KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0
bG93KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0bG93KHhbMl0pOworICAgIHJlc3Vs
dFszXSA9IGZpcnN0Yml0bG93KHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50MiBm
aXJzdGJpdGxvdyh1c2hvcnQyIHgpIHsKKyAgICB1aW50MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gZmlyc3RiaXRsb3coeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmlyc3RiaXRsb3coeFsxXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VpbnQzIGZpcnN0Yml0bG93KHVzaG9ydDMgeCkgewor
ICAgIHVpbnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGxvdyh4WzBdKTsKKyAg
ICByZXN1bHRbMV0gPSBmaXJzdGJpdGxvdyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBmaXJzdGJp
dGxvdyh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludDQgZmlyc3RiaXRsb3codXNo
b3J0NCB4KSB7CisgICAgdWludDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0bG93
KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhbMV0pOworICAgIHJlc3VsdFsy
XSA9IGZpcnN0Yml0bG93KHhbMl0pOworICAgIHJlc3VsdFszXSA9IGZpcnN0Yml0bG93KHhbM10p
OworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50MiBmaXJzdGJpdGxvdyh1aW50MiB4KSB7Cisg
ICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0bG93KHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhbMV0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1
aW50MyBmaXJzdGJpdGxvdyh1aW50MyB4KSB7CisgICAgdWludDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IGZpcnN0Yml0bG93KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhb
MV0pOworICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0bG93KHhbMl0pOworICAgIHJldHVybiByZXN1
bHQ7Cit9Cit1aW50NCBmaXJzdGJpdGxvdyh1aW50NCB4KSB7CisgICAgdWludDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0bG93KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0
Yml0bG93KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0bG93KHhbMl0pOworICAgIHJl
c3VsdFszXSA9IGZpcnN0Yml0bG93KHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50
MiBmaXJzdGJpdGxvdyhjaGFyMiB4KSB7CisgICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IGZpcnN0Yml0bG93KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhbMV0p
OworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50MyBmaXJzdGJpdGxvdyhjaGFyMyB4KSB7Cisg
ICAgdWludDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0bG93KHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0
bG93KHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50NCBmaXJzdGJpdGxvdyhjaGFy
NCB4KSB7CisgICAgdWludDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0bG93KHhb
MF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhbMV0pOworICAgIHJlc3VsdFsyXSA9
IGZpcnN0Yml0bG93KHhbMl0pOworICAgIHJlc3VsdFszXSA9IGZpcnN0Yml0bG93KHhbM10pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50MiBmaXJzdGJpdGxvdyhzaG9ydDIgeCkgeworICAg
IHVpbnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGxvdyh4WzBdKTsKKyAgICBy
ZXN1bHRbMV0gPSBmaXJzdGJpdGxvdyh4WzFdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWlu
dDMgZmlyc3RiaXRsb3coc2hvcnQzIHgpIHsKKyAgICB1aW50MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gZmlyc3RiaXRsb3coeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmlyc3RiaXRsb3coeFsx
XSk7CisgICAgcmVzdWx0WzJdID0gZmlyc3RiaXRsb3coeFsyXSk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK3VpbnQ0IGZpcnN0Yml0bG93KHNob3J0NCB4KSB7CisgICAgdWludDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0bG93KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGZpcnN0
Yml0bG93KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGZpcnN0Yml0bG93KHhbMl0pOworICAgIHJl
c3VsdFszXSA9IGZpcnN0Yml0bG93KHhbM10pOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50
MiBmaXJzdGJpdGxvdyhpbnQyIHgpIHsKKyAgICB1aW50MiByZXN1bHQ7CisgICAgcmVzdWx0WzBd
ID0gZmlyc3RiaXRsb3coeFswXSk7CisgICAgcmVzdWx0WzFdID0gZmlyc3RiaXRsb3coeFsxXSk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VpbnQzIGZpcnN0Yml0bG93KGludDMgeCkgeworICAg
IHVpbnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBmaXJzdGJpdGxvdyh4WzBdKTsKKyAgICBy
ZXN1bHRbMV0gPSBmaXJzdGJpdGxvdyh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBmaXJzdGJpdGxv
dyh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludDQgZmlyc3RiaXRsb3coaW50NCB4
KSB7CisgICAgdWludDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGZpcnN0Yml0bG93KHhbMF0p
OworICAgIHJlc3VsdFsxXSA9IGZpcnN0Yml0bG93KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGZp
cnN0Yml0bG93KHhbMl0pOworICAgIHJlc3VsdFszXSA9IGZpcnN0Yml0bG93KHhbM10pOworICAg
IHJldHVybiByZXN1bHQ7Cit9CisKK2hhbGYgZGV0ZXJtaW5hbnQoaGFsZiB4KSB7CisgICAgcmV0
dXJuIHg7Cit9CitoYWxmIGRldGVybWluYW50KGhhbGYyeDIgeCkgeworICAgIHJldHVybiB4WzBd
WzBdICogeFsxXVsxXSAtIHhbMF1bMV0gKiB4WzFdWzBdOworfQoraGFsZiBkZXRlcm1pbmFudCho
YWxmM3gzIHgpIHsKKyAgICByZXR1cm4geFswXVswXSAqIHhbMV1bMV0gKiB4WzJdWzJdICsKKyAg
ICAgICAgICAgeFswXVsxXSAqIHhbMV1bMl0gKiB4WzJdWzBdICsKKyAgICAgICAgICAgeFswXVsy
XSAqIHhbMV1bMF0gKiB4WzJdWzFdIC0KKyAgICAgICAgICAgeFsyXVswXSAqIHhbMV1bMV0gKiB4
WzBdWzJdIC0KKyAgICAgICAgICAgeFsyXVsxXSAqIHhbMV1bMl0gKiB4WzBdWzBdIC0KKyAgICAg
ICAgICAgeFsyXVsyXSAqIHhbMV1bMF0gKiB4WzBdWzFdOworfQoraGFsZiBkZXRlcm1pbmFudCho
YWxmNHg0IHgpIHsKKyAgICBoYWxmIHJlc3VsdDsKKyAgICBoYWxmM3gzIG1pbm9yOworICAgIG1p
bm9yWzBdWzBdID0geFsxXVsxXTsKKyAgICBtaW5vclswXVsxXSA9IHhbMV1bMl07CisgICAgbWlu
b3JbMF1bMl0gPSB4WzFdWzNdOworICAgIG1pbm9yWzFdWzBdID0geFsyXVsxXTsKKyAgICBtaW5v
clsxXVsxXSA9IHhbMl1bMl07CisgICAgbWlub3JbMV1bMl0gPSB4WzJdWzNdOworICAgIG1pbm9y
WzJdWzBdID0geFszXVsxXTsKKyAgICBtaW5vclsyXVsxXSA9IHhbM11bMl07CisgICAgbWlub3Jb
Ml1bMl0gPSB4WzNdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIHhbMF1bMF0gKiBkZXRlcm1p
bmFudChtaW5vcik7CisgICAgbWlub3JbMF1bMF0gPSB4WzFdWzBdOworICAgIG1pbm9yWzBdWzFd
ID0geFsxXVsyXTsKKyAgICBtaW5vclswXVsyXSA9IHhbMV1bM107CisgICAgbWlub3JbMV1bMF0g
PSB4WzJdWzBdOworICAgIG1pbm9yWzFdWzFdID0geFsyXVsyXTsKKyAgICBtaW5vclsxXVsyXSA9
IHhbMl1bM107CisgICAgbWlub3JbMl1bMF0gPSB4WzNdWzBdOworICAgIG1pbm9yWzJdWzFdID0g
eFszXVsyXTsKKyAgICBtaW5vclsyXVsyXSA9IHhbM11bM107CisgICAgcmVzdWx0ID0gcmVzdWx0
IC0geFswXVsxXSAqIGRldGVybWluYW50KG1pbm9yKTsKKyAgICBtaW5vclswXVswXSA9IHhbMV1b
MF07CisgICAgbWlub3JbMF1bMV0gPSB4WzFdWzFdOworICAgIG1pbm9yWzBdWzJdID0geFsxXVsz
XTsKKyAgICBtaW5vclsxXVswXSA9IHhbMl1bMF07CisgICAgbWlub3JbMV1bMV0gPSB4WzJdWzFd
OworICAgIG1pbm9yWzFdWzJdID0geFsyXVszXTsKKyAgICBtaW5vclsyXVswXSA9IHhbM11bMF07
CisgICAgbWlub3JbMl1bMV0gPSB4WzNdWzFdOworICAgIG1pbm9yWzJdWzJdID0geFszXVszXTsK
KyAgICByZXN1bHQgPSByZXN1bHQgKyB4WzBdWzJdICogZGV0ZXJtaW5hbnQobWlub3IpOworICAg
IG1pbm9yWzBdWzBdID0geFsxXVswXTsKKyAgICBtaW5vclswXVsxXSA9IHhbMV1bMV07CisgICAg
bWlub3JbMF1bMl0gPSB4WzFdWzJdOworICAgIG1pbm9yWzFdWzBdID0geFsyXVswXTsKKyAgICBt
aW5vclsxXVsxXSA9IHhbMl1bMV07CisgICAgbWlub3JbMV1bMl0gPSB4WzJdWzJdOworICAgIG1p
bm9yWzJdWzBdID0geFszXVswXTsKKyAgICBtaW5vclsyXVsxXSA9IHhbM11bMV07CisgICAgbWlu
b3JbMl1bMl0gPSB4WzNdWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCAtIHhbMF1bM10gKiBkZXRl
cm1pbmFudChtaW5vcik7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0IGRldGVybWluYW50
KGZsb2F0IHgpIHsKKyAgICByZXR1cm4geDsKK30KK2Zsb2F0IGRldGVybWluYW50KGZsb2F0Mngy
IHgpIHsKKyAgICByZXR1cm4geFswXVswXSAqIHhbMV1bMV0gLSB4WzBdWzFdICogeFsxXVswXTsK
K30KK2Zsb2F0IGRldGVybWluYW50KGZsb2F0M3gzIHgpIHsKKyAgICByZXR1cm4geFswXVswXSAq
IHhbMV1bMV0gKiB4WzJdWzJdICsKKyAgICAgICAgICAgeFswXVsxXSAqIHhbMV1bMl0gKiB4WzJd
WzBdICsKKyAgICAgICAgICAgeFswXVsyXSAqIHhbMV1bMF0gKiB4WzJdWzFdIC0KKyAgICAgICAg
ICAgeFsyXVswXSAqIHhbMV1bMV0gKiB4WzBdWzJdIC0KKyAgICAgICAgICAgeFsyXVsxXSAqIHhb
MV1bMl0gKiB4WzBdWzBdIC0KKyAgICAgICAgICAgeFsyXVsyXSAqIHhbMV1bMF0gKiB4WzBdWzFd
OworfQorZmxvYXQgZGV0ZXJtaW5hbnQoZmxvYXQ0eDQgeCkgeworICAgIGZsb2F0IHJlc3VsdDsK
KyAgICBmbG9hdDN4MyBtaW5vcjsKKyAgICBtaW5vclswXVswXSA9IHhbMV1bMV07CisgICAgbWlu
b3JbMF1bMV0gPSB4WzFdWzJdOworICAgIG1pbm9yWzBdWzJdID0geFsxXVszXTsKKyAgICBtaW5v
clsxXVswXSA9IHhbMl1bMV07CisgICAgbWlub3JbMV1bMV0gPSB4WzJdWzJdOworICAgIG1pbm9y
WzFdWzJdID0geFsyXVszXTsKKyAgICBtaW5vclsyXVswXSA9IHhbM11bMV07CisgICAgbWlub3Jb
Ml1bMV0gPSB4WzNdWzJdOworICAgIG1pbm9yWzJdWzJdID0geFszXVszXTsKKyAgICByZXN1bHQg
PSByZXN1bHQgKyB4WzBdWzBdICogZGV0ZXJtaW5hbnQobWlub3IpOworICAgIG1pbm9yWzBdWzBd
ID0geFsxXVswXTsKKyAgICBtaW5vclswXVsxXSA9IHhbMV1bMl07CisgICAgbWlub3JbMF1bMl0g
PSB4WzFdWzNdOworICAgIG1pbm9yWzFdWzBdID0geFsyXVswXTsKKyAgICBtaW5vclsxXVsxXSA9
IHhbMl1bMl07CisgICAgbWlub3JbMV1bMl0gPSB4WzJdWzNdOworICAgIG1pbm9yWzJdWzBdID0g
eFszXVswXTsKKyAgICBtaW5vclsyXVsxXSA9IHhbM11bMl07CisgICAgbWlub3JbMl1bMl0gPSB4
WzNdWzNdOworICAgIHJlc3VsdCA9IHJlc3VsdCAtIHhbMF1bMV0gKiBkZXRlcm1pbmFudChtaW5v
cik7CisgICAgbWlub3JbMF1bMF0gPSB4WzFdWzBdOworICAgIG1pbm9yWzBdWzFdID0geFsxXVsx
XTsKKyAgICBtaW5vclswXVsyXSA9IHhbMV1bM107CisgICAgbWlub3JbMV1bMF0gPSB4WzJdWzBd
OworICAgIG1pbm9yWzFdWzFdID0geFsyXVsxXTsKKyAgICBtaW5vclsxXVsyXSA9IHhbMl1bM107
CisgICAgbWlub3JbMl1bMF0gPSB4WzNdWzBdOworICAgIG1pbm9yWzJdWzFdID0geFszXVsxXTsK
KyAgICBtaW5vclsyXVsyXSA9IHhbM11bM107CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgeFswXVsy
XSAqIGRldGVybWluYW50KG1pbm9yKTsKKyAgICBtaW5vclswXVswXSA9IHhbMV1bMF07CisgICAg
bWlub3JbMF1bMV0gPSB4WzFdWzFdOworICAgIG1pbm9yWzBdWzJdID0geFsxXVsyXTsKKyAgICBt
aW5vclsxXVswXSA9IHhbMl1bMF07CisgICAgbWlub3JbMV1bMV0gPSB4WzJdWzFdOworICAgIG1p
bm9yWzFdWzJdID0geFsyXVsyXTsKKyAgICBtaW5vclsyXVswXSA9IHhbM11bMF07CisgICAgbWlu
b3JbMl1bMV0gPSB4WzNdWzFdOworICAgIG1pbm9yWzJdWzJdID0geFszXVsyXTsKKyAgICByZXN1
bHQgPSByZXN1bHQgLSB4WzBdWzNdICogZGV0ZXJtaW5hbnQobWlub3IpOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CisKK3VjaGFyNCBkc3QodWNoYXI0IHNyYzAsIHVjaGFyNCBzcmMxKSB7CisgICAg
dWNoYXI0IHJlc3VsdDsKKyAgICByZXN1bHQueCA9IDE7CisgICAgcmVzdWx0LnkgPSBzcmMwLnkg
KiBzcmMxLnk7CisgICAgcmVzdWx0LnogPSBzcmMwLno7CisgICAgcmVzdWx0LncgPSBzcmMxLnc7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VzaG9ydDQgZHN0KHVzaG9ydDQgc3JjMCwgdXNob3J0
NCBzcmMxKSB7CisgICAgdXNob3J0NCByZXN1bHQ7CisgICAgcmVzdWx0LnggPSAxOworICAgIHJl
c3VsdC55ID0gc3JjMC55ICogc3JjMS55OworICAgIHJlc3VsdC56ID0gc3JjMC56OworICAgIHJl
c3VsdC53ID0gc3JjMS53OworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50NCBkc3QodWludDQg
c3JjMCwgdWludDQgc3JjMSkgeworICAgIHVpbnQ0IHJlc3VsdDsKKyAgICByZXN1bHQueCA9IDE7
CisgICAgcmVzdWx0LnkgPSBzcmMwLnkgKiBzcmMxLnk7CisgICAgcmVzdWx0LnogPSBzcmMwLno7
CisgICAgcmVzdWx0LncgPSBzcmMxLnc7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2NoYXI0IGRz
dChjaGFyNCBzcmMwLCBjaGFyNCBzcmMxKSB7CisgICAgY2hhcjQgcmVzdWx0OworICAgIHJlc3Vs
dC54ID0gMTsKKyAgICByZXN1bHQueSA9IHNyYzAueSAqIHNyYzEueTsKKyAgICByZXN1bHQueiA9
IHNyYzAuejsKKyAgICByZXN1bHQudyA9IHNyYzEudzsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
c2hvcnQ0IGRzdChzaG9ydDQgc3JjMCwgc2hvcnQ0IHNyYzEpIHsKKyAgICBzaG9ydDQgcmVzdWx0
OworICAgIHJlc3VsdC54ID0gMTsKKyAgICByZXN1bHQueSA9IHNyYzAueSAqIHNyYzEueTsKKyAg
ICByZXN1bHQueiA9IHNyYzAuejsKKyAgICByZXN1bHQudyA9IHNyYzEudzsKKyAgICByZXR1cm4g
cmVzdWx0OworfQoraW50NCBkc3QoaW50NCBzcmMwLCBpbnQ0IHNyYzEpIHsKKyAgICBpbnQ0IHJl
c3VsdDsKKyAgICByZXN1bHQueCA9IDE7CisgICAgcmVzdWx0LnkgPSBzcmMwLnkgKiBzcmMxLnk7
CisgICAgcmVzdWx0LnogPSBzcmMwLno7CisgICAgcmVzdWx0LncgPSBzcmMxLnc7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2hhbGY0IGRzdChoYWxmNCBzcmMwLCBoYWxmNCBzcmMxKSB7CisgICAg
aGFsZjQgcmVzdWx0OworICAgIHJlc3VsdC54ID0gMTsKKyAgICByZXN1bHQueSA9IHNyYzAueSAq
IHNyYzEueTsKKyAgICByZXN1bHQueiA9IHNyYzAuejsKKyAgICByZXN1bHQudyA9IHNyYzEudzsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0IGRzdChmbG9hdDQgc3JjMCwgZmxvYXQ0IHNy
YzEpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdC54ID0gMTsKKyAgICByZXN1bHQu
eSA9IHNyYzAueSAqIHNyYzEueTsKKyAgICByZXN1bHQueiA9IHNyYzAuejsKKyAgICByZXN1bHQu
dyA9IHNyYzEudzsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitoYWxmIGRpc3RhbmNlKGhhbGYg
eCwgaGFsZiB5KSB7CisgICAgcmV0dXJuIGxlbmd0aCh4IC0geSk7Cit9CitoYWxmIGRpc3RhbmNl
KGhhbGYyIHgsIGhhbGYyIHkpIHsKKyAgICByZXR1cm4gbGVuZ3RoKHggLSB5KTsKK30KK2hhbGYg
ZGlzdGFuY2UoaGFsZjMgeCwgaGFsZjMgeSkgeworICAgIHJldHVybiBsZW5ndGgoeCAtIHkpOwor
fQoraGFsZiBkaXN0YW5jZShoYWxmNCB4LCBoYWxmNCB5KSB7CisgICAgcmV0dXJuIGxlbmd0aCh4
IC0geSk7Cit9CitmbG9hdCBkaXN0YW5jZShmbG9hdCB4LCBmbG9hdCB5KSB7CisgICAgcmV0dXJu
IGxlbmd0aCh4IC0geSk7Cit9CitmbG9hdCBkaXN0YW5jZShmbG9hdDIgeCwgZmxvYXQyIHkpIHsK
KyAgICByZXR1cm4gbGVuZ3RoKHggLSB5KTsKK30KK2Zsb2F0IGRpc3RhbmNlKGZsb2F0MyB4LCBm
bG9hdDMgeSkgeworICAgIHJldHVybiBsZW5ndGgoeCAtIHkpOworfQorZmxvYXQgZGlzdGFuY2Uo
ZmxvYXQ0IHgsIGZsb2F0NCB5KSB7CisgICAgcmV0dXJuIGxlbmd0aCh4IC0geSk7Cit9CisKK2hh
bGYzIGNyb3NzKGhhbGYzIHUsIGhhbGYzIHYpIHsKKyAgICBoYWxmMyByZXN1bHQ7CisgICAgcmVz
dWx0LnggPSB1LnkgKiB2LnogLSB1LnogKiB2Lnk7CisgICAgcmVzdWx0LnkgPSB1LnogKiB2Lngg
LSB1LnggKiB2Lno7CisgICAgcmVzdWx0LnogPSB1LnggKiB2LnkgLSB1LnkgKiB2Lng7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MyBjcm9zcyhmbG9hdDMgdSwgZmxvYXQzIHYpIHsKKyAg
ICBmbG9hdDMgcmVzdWx0OworICAgIHJlc3VsdC54ID0gdS55ICogdi56IC0gdS56ICogdi55Owor
ICAgIHJlc3VsdC55ID0gdS56ICogdi54IC0gdS54ICogdi56OworICAgIHJlc3VsdC56ID0gdS54
ICogdi55IC0gdS55ICogdi54OworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3VjaGFyIGRvdCh1
Y2hhciBhLCB1Y2hhciBiKSB7CisgICAgcmV0dXJuIGEgKiBiOworfQordWNoYXIgZG90KHVjaGFy
MiBhLCB1Y2hhcjIgYikgeworICAgIHVjaGFyIHJlc3VsdCA9IDA7CisgICAgcmVzdWx0ID0gcmVz
dWx0ICsgYVswXSAqIGJbMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsxXSAqIGJbMV07Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KK3VjaGFyIGRvdCh1Y2hhcjMgYSwgdWNoYXIzIGIpIHsKKyAg
ICB1Y2hhciByZXN1bHQgPSAwOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMF0gKiBiWzBdOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCAr
IGFbMl0gKiBiWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1Y2hhciBkb3QodWNoYXI0IGEs
IHVjaGFyNCBiKSB7CisgICAgdWNoYXIgcmVzdWx0ID0gMDsKKyAgICByZXN1bHQgPSByZXN1bHQg
KyBhWzBdICogYlswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgKyBhWzJdICogYlsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzNd
ICogYlszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordXNob3J0IGRvdCh1c2hvcnQgYSwgdXNo
b3J0IGIpIHsKKyAgICByZXR1cm4gYSAqIGI7Cit9Cit1c2hvcnQgZG90KHVzaG9ydDIgYSwgdXNo
b3J0MiBiKSB7CisgICAgdXNob3J0IHJlc3VsdCA9IDA7CisgICAgcmVzdWx0ID0gcmVzdWx0ICsg
YVswXSAqIGJbMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsxXSAqIGJbMV07CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK3VzaG9ydCBkb3QodXNob3J0MyBhLCB1c2hvcnQzIGIpIHsKKyAgICB1
c2hvcnQgcmVzdWx0ID0gMDsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzBdICogYlswXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBh
WzJdICogYlsyXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordXNob3J0IGRvdCh1c2hvcnQ0IGEs
IHVzaG9ydDQgYikgeworICAgIHVzaG9ydCByZXN1bHQgPSAwOworICAgIHJlc3VsdCA9IHJlc3Vs
dCArIGFbMF0gKiBiWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFdOworICAg
IHJlc3VsdCA9IHJlc3VsdCArIGFbMl0gKiBiWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFb
M10gKiBiWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50IGRvdCh1aW50IGEsIHVpbnQg
YikgeworICAgIHJldHVybiBhICogYjsKK30KK3VpbnQgZG90KHVpbnQyIGEsIHVpbnQyIGIpIHsK
KyAgICB1aW50IHJlc3VsdCA9IDA7CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVswXSAqIGJbMF07
CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsxXSAqIGJbMV07CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK3VpbnQgZG90KHVpbnQzIGEsIHVpbnQzIGIpIHsKKyAgICB1aW50IHJlc3VsdCA9IDA7Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICsgYVswXSAqIGJbMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsg
YVsxXSAqIGJbMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsyXSAqIGJbMl07CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK3VpbnQgZG90KHVpbnQ0IGEsIHVpbnQ0IGIpIHsKKyAgICB1aW50IHJl
c3VsdCA9IDA7CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVswXSAqIGJbMF07CisgICAgcmVzdWx0
ID0gcmVzdWx0ICsgYVsxXSAqIGJbMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsyXSAqIGJb
Ml07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVszXSAqIGJbM107CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2NoYXIgZG90KGNoYXIgYSwgY2hhciBiKSB7CisgICAgcmV0dXJuIGEgKiBiOworfQor
Y2hhciBkb3QoY2hhcjIgYSwgY2hhcjIgYikgeworICAgIGNoYXIgcmVzdWx0ID0gMDsKKyAgICBy
ZXN1bHQgPSByZXN1bHQgKyBhWzBdICogYlswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFd
ICogYlsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorY2hhciBkb3QoY2hhcjMgYSwgY2hhcjMg
YikgeworICAgIGNoYXIgcmVzdWx0ID0gMDsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzBdICog
YlswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsKKyAgICByZXN1bHQgPSBy
ZXN1bHQgKyBhWzJdICogYlsyXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorY2hhciBkb3QoY2hh
cjQgYSwgY2hhcjQgYikgeworICAgIGNoYXIgcmVzdWx0ID0gMDsKKyAgICByZXN1bHQgPSByZXN1
bHQgKyBhWzBdICogYlswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsKKyAg
ICByZXN1bHQgPSByZXN1bHQgKyBhWzJdICogYlsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBh
WzNdICogYlszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorc2hvcnQgZG90KHNob3J0IGEsIHNo
b3J0IGIpIHsKKyAgICByZXR1cm4gYSAqIGI7Cit9CitzaG9ydCBkb3Qoc2hvcnQyIGEsIHNob3J0
MiBiKSB7CisgICAgc2hvcnQgcmVzdWx0ID0gMDsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzBd
ICogYlswXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorc2hvcnQgZG90KHNob3J0MyBhLCBzaG9ydDMgYikgeworICAgIHNob3J0IHJl
c3VsdCA9IDA7CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVswXSAqIGJbMF07CisgICAgcmVzdWx0
ID0gcmVzdWx0ICsgYVsxXSAqIGJbMV07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsyXSAqIGJb
Ml07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3Nob3J0IGRvdChzaG9ydDQgYSwgc2hvcnQ0IGIp
IHsKKyAgICBzaG9ydCByZXN1bHQgPSAwOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMF0gKiBi
WzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFdOworICAgIHJlc3VsdCA9IHJl
c3VsdCArIGFbMl0gKiBiWzJdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbM10gKiBiWzNdOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitpbnQgZG90KGludCBhLCBpbnQgYikgeworICAgIHJldHVy
biBhICogYjsKK30KK2ludCBkb3QoaW50MiBhLCBpbnQyIGIpIHsKKyAgICBpbnQgcmVzdWx0ID0g
MDsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzBdICogYlswXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgKyBhWzFdICogYlsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraW50IGRvdChpbnQzIGEs
IGludDMgYikgeworICAgIGludCByZXN1bHQgPSAwOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFb
MF0gKiBiWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMV0gKiBiWzFdOworICAgIHJlc3Vs
dCA9IHJlc3VsdCArIGFbMl0gKiBiWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitpbnQgZG90
KGludDQgYSwgaW50NCBiKSB7CisgICAgaW50IHJlc3VsdCA9IDA7CisgICAgcmVzdWx0ID0gcmVz
dWx0ICsgYVswXSAqIGJbMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsxXSAqIGJbMV07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsyXSAqIGJbMl07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsg
YVszXSAqIGJbM107CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYgZG90KGhhbGYgYSwgaGFs
ZiBiKSB7CisgICAgcmV0dXJuIGEgKiBiOworfQoraGFsZiBkb3QoaGFsZjIgYSwgaGFsZjIgYikg
eworICAgIGhhbGYgcmVzdWx0ID0gMDsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzBdICogYlsw
XTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQoraGFsZiBkb3QoaGFsZjMgYSwgaGFsZjMgYikgeworICAgIGhhbGYgcmVzdWx0ID0gMDsK
KyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzBdICogYlswXTsKKyAgICByZXN1bHQgPSByZXN1bHQg
KyBhWzFdICogYlsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzJdICogYlsyXTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQoraGFsZiBkb3QoaGFsZjQgYSwgaGFsZjQgYikgeworICAgIGhhbGYg
cmVzdWx0ID0gMDsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzBdICogYlswXTsKKyAgICByZXN1
bHQgPSByZXN1bHQgKyBhWzFdICogYlsxXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzJdICog
YlsyXTsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzNdICogYlszXTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorZmxvYXQgZG90KGZsb2F0IGEsIGZsb2F0IGIpIHsKKyAgICByZXR1cm4gYSAqIGI7
Cit9CitmbG9hdCBkb3QoZmxvYXQyIGEsIGZsb2F0MiBiKSB7CisgICAgZmxvYXQgcmVzdWx0ID0g
MDsKKyAgICByZXN1bHQgPSByZXN1bHQgKyBhWzBdICogYlswXTsKKyAgICByZXN1bHQgPSByZXN1
bHQgKyBhWzFdICogYlsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQgZG90KGZsb2F0
MyBhLCBmbG9hdDMgYikgeworICAgIGZsb2F0IHJlc3VsdCA9IDA7CisgICAgcmVzdWx0ID0gcmVz
dWx0ICsgYVswXSAqIGJbMF07CisgICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsxXSAqIGJbMV07Cisg
ICAgcmVzdWx0ID0gcmVzdWx0ICsgYVsyXSAqIGJbMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2Zsb2F0IGRvdChmbG9hdDQgYSwgZmxvYXQ0IGIpIHsKKyAgICBmbG9hdCByZXN1bHQgPSAwOwor
ICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMF0gKiBiWzBdOworICAgIHJlc3VsdCA9IHJlc3VsdCAr
IGFbMV0gKiBiWzFdOworICAgIHJlc3VsdCA9IHJlc3VsdCArIGFbMl0gKiBiWzJdOworICAgIHJl
c3VsdCA9IHJlc3VsdCArIGFbM10gKiBiWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2hh
bGYgZmFjZWZvcndhcmQoaGFsZiBuLCBoYWxmIGksIGhhbGYgbmcpIHsKKyAgICByZXR1cm4gLW4g
KiBzaWduKGRvdChpLCBuZykpOworfQoraGFsZjIgZmFjZWZvcndhcmQoaGFsZjIgbiwgaGFsZjIg
aSwgaGFsZjIgbmcpIHsKKyAgICByZXR1cm4gLW4gKiBzaWduKGRvdChpLCBuZykpOworfQoraGFs
ZjMgZmFjZWZvcndhcmQoaGFsZjMgbiwgaGFsZjMgaSwgaGFsZjMgbmcpIHsKKyAgICByZXR1cm4g
LW4gKiBzaWduKGRvdChpLCBuZykpOworfQoraGFsZjQgZmFjZWZvcndhcmQoaGFsZjQgbiwgaGFs
ZjQgaSwgaGFsZjQgbmcpIHsKKyAgICByZXR1cm4gLW4gKiBzaWduKGRvdChpLCBuZykpOworfQor
ZmxvYXQgZmFjZWZvcndhcmQoZmxvYXQgbiwgZmxvYXQgaSwgZmxvYXQgbmcpIHsKKyAgICByZXR1
cm4gLW4gKiBzaWduKGRvdChpLCBuZykpOworfQorZmxvYXQyIGZhY2Vmb3J3YXJkKGZsb2F0MiBu
LCBmbG9hdDIgaSwgZmxvYXQyIG5nKSB7CisgICAgcmV0dXJuIC1uICogc2lnbihkb3QoaSwgbmcp
KTsKK30KK2Zsb2F0MyBmYWNlZm9yd2FyZChmbG9hdDMgbiwgZmxvYXQzIGksIGZsb2F0MyBuZykg
eworICAgIHJldHVybiAtbiAqIHNpZ24oZG90KGksIG5nKSk7Cit9CitmbG9hdDQgZmFjZWZvcndh
cmQoZmxvYXQ0IG4sIGZsb2F0NCBpLCBmbG9hdDQgbmcpIHsKKyAgICByZXR1cm4gLW4gKiBzaWdu
KGRvdChpLCBuZykpOworfQorCitoYWxmIGxlbmd0aChoYWxmIHgpIHsKKyAgICByZXR1cm4gc3Fy
dChkb3QoeCwgeCkpOworfQoraGFsZiBsZW5ndGgoaGFsZjIgeCkgeworICAgIHJldHVybiBzcXJ0
KGRvdCh4LCB4KSk7Cit9CitoYWxmIGxlbmd0aChoYWxmMyB4KSB7CisgICAgcmV0dXJuIHNxcnQo
ZG90KHgsIHgpKTsKK30KK2hhbGYgbGVuZ3RoKGhhbGY0IHgpIHsKKyAgICByZXR1cm4gc3FydChk
b3QoeCwgeCkpOworfQorZmxvYXQgbGVuZ3RoKGZsb2F0IHgpIHsKKyAgICByZXR1cm4gc3FydChk
b3QoeCwgeCkpOworfQorZmxvYXQgbGVuZ3RoKGZsb2F0MiB4KSB7CisgICAgcmV0dXJuIHNxcnQo
ZG90KHgsIHgpKTsKK30KK2Zsb2F0IGxlbmd0aChmbG9hdDMgeCkgeworICAgIHJldHVybiBzcXJ0
KGRvdCh4LCB4KSk7Cit9CitmbG9hdCBsZW5ndGgoZmxvYXQ0IHgpIHsKKyAgICByZXR1cm4gc3Fy
dChkb3QoeCwgeCkpOworfQorCitoYWxmNCBsaXQoaGFsZiBuX2RvdF9sLCBoYWxmIG5fZG90X2gs
IGhhbGYgbSkgeworICAgIGhhbGYgYW1iaWVudCA9IDE7CisgICAgaGFsZiBkaWZmdXNlID0gbWF4
KDAsIG5fZG90X2wpOworICAgIGhhbGYgc3BlY3VsYXIgPSBuX2RvdF9sIDwgMCB8fCBuX2RvdF9o
IDwgMCA/IDAgOiBuX2RvdF9oICogbTsKKyAgICBoYWxmNCByZXN1bHQ7CisgICAgcmVzdWx0Lngg
PSBhbWJpZW50OworICAgIHJlc3VsdC55ID0gZGlmZnVzZTsKKyAgICByZXN1bHQueiA9IHNwZWN1
bGFyOworICAgIHJlc3VsdC53ID0gMTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0IGxp
dChmbG9hdCBuX2RvdF9sLCBmbG9hdCBuX2RvdF9oLCBmbG9hdCBtKSB7CisgICAgZmxvYXQgYW1i
aWVudCA9IDE7CisgICAgZmxvYXQgZGlmZnVzZSA9IG1heCgwLCBuX2RvdF9sKTsKKyAgICBmbG9h
dCBzcGVjdWxhciA9IG5fZG90X2wgPCAwIHx8IG5fZG90X2ggPCAwID8gMCA6IG5fZG90X2ggKiBt
OworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0LnggPSBhbWJpZW50OworICAgIHJlc3Vs
dC55ID0gZGlmZnVzZTsKKyAgICByZXN1bHQueiA9IHNwZWN1bGFyOworICAgIHJlc3VsdC53ID0g
MTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitoYWxmIG5vcm1hbGl6ZShoYWxmIHgpIHsKKyAg
ICByZXR1cm4geCAvIGxlbmd0aCh4KTsKK30KK2hhbGYyIG5vcm1hbGl6ZShoYWxmMiB4KSB7Cisg
ICAgcmV0dXJuIHggLyBsZW5ndGgoeCk7Cit9CitoYWxmMyBub3JtYWxpemUoaGFsZjMgeCkgewor
ICAgIHJldHVybiB4IC8gbGVuZ3RoKHgpOworfQoraGFsZjQgbm9ybWFsaXplKGhhbGY0IHgpIHsK
KyAgICByZXR1cm4geCAvIGxlbmd0aCh4KTsKK30KK2Zsb2F0IG5vcm1hbGl6ZShmbG9hdCB4KSB7
CisgICAgcmV0dXJuIHggLyBsZW5ndGgoeCk7Cit9CitmbG9hdDIgbm9ybWFsaXplKGZsb2F0MiB4
KSB7CisgICAgcmV0dXJuIHggLyBsZW5ndGgoeCk7Cit9CitmbG9hdDMgbm9ybWFsaXplKGZsb2F0
MyB4KSB7CisgICAgcmV0dXJuIHggLyBsZW5ndGgoeCk7Cit9CitmbG9hdDQgbm9ybWFsaXplKGZs
b2F0NCB4KSB7CisgICAgcmV0dXJuIHggLyBsZW5ndGgoeCk7Cit9CisKK2hhbGYgcmVmbGVjdCho
YWxmIGksIGhhbGYgbikgeworICAgIHJldHVybiBpIC0gMiAqIG4gKiBkb3QoaSwgbik7Cit9Cito
YWxmMiByZWZsZWN0KGhhbGYyIGksIGhhbGYyIG4pIHsKKyAgICByZXR1cm4gaSAtIDIgKiBuICog
ZG90KGksIG4pOworfQoraGFsZjMgcmVmbGVjdChoYWxmMyBpLCBoYWxmMyBuKSB7CisgICAgcmV0
dXJuIGkgLSAyICogbiAqIGRvdChpLCBuKTsKK30KK2hhbGY0IHJlZmxlY3QoaGFsZjQgaSwgaGFs
ZjQgbikgeworICAgIHJldHVybiBpIC0gMiAqIG4gKiBkb3QoaSwgbik7Cit9CitmbG9hdCByZWZs
ZWN0KGZsb2F0IGksIGZsb2F0IG4pIHsKKyAgICByZXR1cm4gaSAtIDIgKiBuICogZG90KGksIG4p
OworfQorZmxvYXQyIHJlZmxlY3QoZmxvYXQyIGksIGZsb2F0MiBuKSB7CisgICAgcmV0dXJuIGkg
LSAyICogbiAqIGRvdChpLCBuKTsKK30KK2Zsb2F0MyByZWZsZWN0KGZsb2F0MyBpLCBmbG9hdDMg
bikgeworICAgIHJldHVybiBpIC0gMiAqIG4gKiBkb3QoaSwgbik7Cit9CitmbG9hdDQgcmVmbGVj
dChmbG9hdDQgaSwgZmxvYXQ0IG4pIHsKKyAgICByZXR1cm4gaSAtIDIgKiBuICogZG90KGksIG4p
OworfQorCitoYWxmIHJlZnJhY3QoaGFsZiBpLCBoYWxmIG4sIGhhbGYgZXRhKSB7CisgICAgaGFs
ZiByZXN1bHQ7CisgICAgaGFsZiBrID0gMSAtIGV0YSAqIGV0YSAqICgxIC0gZG90KG4sIGkpICog
ZG90KG4sIGkpKTsKKyAgICBpZiAoayA8IDApCisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAg
cmV0dXJuIGV0YSAqIGkgLSAoZXRhICogZG90KG4sIGkpICsgc3FydChrKSkgKiBuOworfQoraGFs
ZjIgcmVmcmFjdChoYWxmMiBpLCBoYWxmMiBuLCBoYWxmIGV0YSkgeworICAgIGhhbGYyIHJlc3Vs
dDsKKyAgICBoYWxmIGsgPSAxIC0gZXRhICogZXRhICogKDEgLSBkb3QobiwgaSkgKiBkb3Qobiwg
aSkpOworICAgIGlmIChrIDwgMCkKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICByZXR1cm4g
ZXRhICogaSAtIChldGEgKiBkb3QobiwgaSkgKyBzcXJ0KGspKSAqIG47Cit9CitoYWxmMyByZWZy
YWN0KGhhbGYzIGksIGhhbGYzIG4sIGhhbGYgZXRhKSB7CisgICAgaGFsZjMgcmVzdWx0OworICAg
IGhhbGYgayA9IDEgLSBldGEgKiBldGEgKiAoMSAtIGRvdChuLCBpKSAqIGRvdChuLCBpKSk7Cisg
ICAgaWYgKGsgPCAwKQorICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIHJldHVybiBldGEgKiBp
IC0gKGV0YSAqIGRvdChuLCBpKSArIHNxcnQoaykpICogbjsKK30KK2hhbGY0IHJlZnJhY3QoaGFs
ZjQgaSwgaGFsZjQgbiwgaGFsZiBldGEpIHsKKyAgICBoYWxmNCByZXN1bHQ7CisgICAgaGFsZiBr
ID0gMSAtIGV0YSAqIGV0YSAqICgxIC0gZG90KG4sIGkpICogZG90KG4sIGkpKTsKKyAgICBpZiAo
ayA8IDApCisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIGV0YSAqIGkgLSAoZXRh
ICogZG90KG4sIGkpICsgc3FydChrKSkgKiBuOworfQorZmxvYXQgcmVmcmFjdChmbG9hdCBpLCBm
bG9hdCBuLCBmbG9hdCBldGEpIHsKKyAgICBmbG9hdCByZXN1bHQ7CisgICAgZmxvYXQgayA9IDEg
LSBldGEgKiBldGEgKiAoMSAtIGRvdChuLCBpKSAqIGRvdChuLCBpKSk7CisgICAgaWYgKGsgPCAw
KQorICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIHJldHVybiBldGEgKiBpIC0gKGV0YSAqIGRv
dChuLCBpKSArIHNxcnQoaykpICogbjsKK30KK2Zsb2F0MiByZWZyYWN0KGZsb2F0MiBpLCBmbG9h
dDIgbiwgZmxvYXQgZXRhKSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICBmbG9hdCBrID0gMSAt
IGV0YSAqIGV0YSAqICgxIC0gZG90KG4sIGkpICogZG90KG4sIGkpKTsKKyAgICBpZiAoayA8IDAp
CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIGV0YSAqIGkgLSAoZXRhICogZG90
KG4sIGkpICsgc3FydChrKSkgKiBuOworfQorZmxvYXQzIHJlZnJhY3QoZmxvYXQzIGksIGZsb2F0
MyBuLCBmbG9hdCBldGEpIHsKKyAgICBmbG9hdDMgcmVzdWx0OworICAgIGZsb2F0IGsgPSAxIC0g
ZXRhICogZXRhICogKDEgLSBkb3QobiwgaSkgKiBkb3QobiwgaSkpOworICAgIGlmIChrIDwgMCkK
KyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICByZXR1cm4gZXRhICogaSAtIChldGEgKiBkb3Qo
biwgaSkgKyBzcXJ0KGspKSAqIG47Cit9CitmbG9hdDQgcmVmcmFjdChmbG9hdDQgaSwgZmxvYXQ0
IG4sIGZsb2F0IGV0YSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgZmxvYXQgayA9IDEgLSBl
dGEgKiBldGEgKiAoMSAtIGRvdChuLCBpKSAqIGRvdChuLCBpKSk7CisgICAgaWYgKGsgPCAwKQor
ICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIHJldHVybiBldGEgKiBpIC0gKGV0YSAqIGRvdChu
LCBpKSArIHNxcnQoaykpICogbjsKK30KKworaGFsZiB0cmFuc3Bvc2UoaGFsZiB4KSB7CisgICAg
cmV0dXJuIHg7Cit9CitoYWxmMngyIHRyYW5zcG9zZShoYWxmMngyIHgpIHsKKyAgICBoYWxmMngy
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9
IHhbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0g
PSB4WzFdWzFdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngzIHRyYW5zcG9zZShoYWxm
M3gyIHgpIHsKKyAgICBoYWxmMngzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBd
OworICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CisgICAgcmVzdWx0WzBdWzJdID0geFsyXVsw
XTsKKyAgICByZXN1bHRbMV1bMF0gPSB4WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1b
MV07CisgICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
aGFsZjJ4NCB0cmFuc3Bvc2UoaGFsZjR4MiB4KSB7CisgICAgaGFsZjJ4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0geFswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAg
IHJlc3VsdFswXVsyXSA9IHhbMl1bMF07CisgICAgcmVzdWx0WzBdWzNdID0geFszXVswXTsKKyAg
ICByZXN1bHRbMV1bMF0gPSB4WzBdWzFdOworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07Cisg
ICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKKyAgICByZXN1bHRbMV1bM10gPSB4WzNdWzFdOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gyIHRyYW5zcG9zZShoYWxmMngzIHgpIHsKKyAg
ICBoYWxmM3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdOworICAgIHJlc3Vs
dFswXVsxXSA9IHhbMV1bMF07CisgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKKyAgICByZXN1
bHRbMV1bMV0gPSB4WzFdWzFdOworICAgIHJlc3VsdFsyXVswXSA9IHhbMF1bMl07CisgICAgcmVz
dWx0WzJdWzFdID0geFsxXVsyXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjN4MyB0cmFu
c3Bvc2UoaGFsZjN4MyB4KSB7CisgICAgaGFsZjN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBd
ID0geFswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFswXVsy
XSA9IHhbMl1bMF07CisgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKKyAgICByZXN1bHRbMV1b
MV0gPSB4WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CisgICAgcmVzdWx0WzJd
WzBdID0geFswXVsyXTsKKyAgICByZXN1bHRbMl1bMV0gPSB4WzFdWzJdOworICAgIHJlc3VsdFsy
XVsyXSA9IHhbMl1bMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYzeDQgdHJhbnNwb3Nl
KGhhbGY0eDMgeCkgeworICAgIGhhbGYzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHhb
MF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKKyAgICByZXN1bHRbMF1bMl0gPSB4
WzJdWzBdOworICAgIHJlc3VsdFswXVszXSA9IHhbM11bMF07CisgICAgcmVzdWx0WzFdWzBdID0g
eFswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9
IHhbMl1bMV07CisgICAgcmVzdWx0WzFdWzNdID0geFszXVsxXTsKKyAgICByZXN1bHRbMl1bMF0g
PSB4WzBdWzJdOworICAgIHJlc3VsdFsyXVsxXSA9IHhbMV1bMl07CisgICAgcmVzdWx0WzJdWzJd
ID0geFsyXVsyXTsKKyAgICByZXN1bHRbMl1bM10gPSB4WzNdWzJdOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitoYWxmNHgyIHRyYW5zcG9zZShoYWxmMng0IHgpIHsKKyAgICBoYWxmNHgyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHhbMV1b
MF07CisgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFd
WzFdOworICAgIHJlc3VsdFsyXVswXSA9IHhbMF1bMl07CisgICAgcmVzdWx0WzJdWzFdID0geFsx
XVsyXTsKKyAgICByZXN1bHRbM11bMF0gPSB4WzBdWzNdOworICAgIHJlc3VsdFszXVsxXSA9IHhb
MV1bM107CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMgdHJhbnNwb3NlKGhhbGYzeDQg
eCkgeworICAgIGhhbGY0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07Cisg
ICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsKKyAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOwor
ICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsK
KyAgICByZXN1bHRbMV1bMl0gPSB4WzJdWzFdOworICAgIHJlc3VsdFsyXVswXSA9IHhbMF1bMl07
CisgICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJd
OworICAgIHJlc3VsdFszXVswXSA9IHhbMF1bM107CisgICAgcmVzdWx0WzNdWzFdID0geFsxXVsz
XTsKKyAgICByZXN1bHRbM11bMl0gPSB4WzJdWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9Cito
YWxmNHg0IHRyYW5zcG9zZShoYWxmNHg0IHgpIHsKKyAgICBoYWxmNHg0IHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSB4WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CisgICAg
cmVzdWx0WzBdWzJdID0geFsyXVswXTsKKyAgICByZXN1bHRbMF1bM10gPSB4WzNdWzBdOworICAg
IHJlc3VsdFsxXVswXSA9IHhbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsKKyAg
ICByZXN1bHRbMV1bMl0gPSB4WzJdWzFdOworICAgIHJlc3VsdFsxXVszXSA9IHhbM11bMV07Cisg
ICAgcmVzdWx0WzJdWzBdID0geFswXVsyXTsKKyAgICByZXN1bHRbMl1bMV0gPSB4WzFdWzJdOwor
ICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl07CisgICAgcmVzdWx0WzJdWzNdID0geFszXVsyXTsK
KyAgICByZXN1bHRbM11bMF0gPSB4WzBdWzNdOworICAgIHJlc3VsdFszXVsxXSA9IHhbMV1bM107
CisgICAgcmVzdWx0WzNdWzJdID0geFsyXVszXTsKKyAgICByZXN1bHRbM11bM10gPSB4WzNdWzNd
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdCB0cmFuc3Bvc2UoZmxvYXQgeCkgeworICAg
IHJldHVybiB4OworfQorZmxvYXQyeDIgdHJhbnNwb3NlKGZsb2F0MngyIHgpIHsKKyAgICBmbG9h
dDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsKKyAgICByZXN1bHRbMF1b
MV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07CisgICAgcmVzdWx0WzFd
WzFdID0geFsxXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDMgdHJhbnNwb3Nl
KGZsb2F0M3gyIHgpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0g
eFswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFswXVsyXSA9
IHhbMl1bMF07CisgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0g
PSB4WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2Zsb2F0Mng0IHRyYW5zcG9zZShmbG9hdDR4MiB4KSB7CisgICAgZmxvYXQyeDQgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geFsx
XVswXTsKKyAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOworICAgIHJlc3VsdFswXVszXSA9IHhb
M11bMF07CisgICAgcmVzdWx0WzFdWzBdID0geFswXVsxXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4
WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IHhbMl1bMV07CisgICAgcmVzdWx0WzFdWzNdID0g
eFszXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDIgdHJhbnNwb3NlKGZsb2F0
MngzIHgpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geFswXVsw
XTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSA9IHhbMF1b
MV07CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSB4WzBd
WzJdOworICAgIHJlc3VsdFsyXVsxXSA9IHhbMV1bMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2Zsb2F0M3gzIHRyYW5zcG9zZShmbG9hdDN4MyB4KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geFsxXVswXTsK
KyAgICByZXN1bHRbMF1bMl0gPSB4WzJdWzBdOworICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07
CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSB4WzJdWzFd
OworICAgIHJlc3VsdFsyXVswXSA9IHhbMF1bMl07CisgICAgcmVzdWx0WzJdWzFdID0geFsxXVsy
XTsKKyAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDN4NCB0cmFuc3Bvc2UoZmxvYXQ0eDMgeCkgeworICAgIGZsb2F0M3g0IHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07Cisg
ICAgcmVzdWx0WzBdWzJdID0geFsyXVswXTsKKyAgICByZXN1bHRbMF1bM10gPSB4WzNdWzBdOwor
ICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsK
KyAgICByZXN1bHRbMV1bMl0gPSB4WzJdWzFdOworICAgIHJlc3VsdFsxXVszXSA9IHhbM11bMV07
CisgICAgcmVzdWx0WzJdWzBdID0geFswXVsyXTsKKyAgICByZXN1bHRbMl1bMV0gPSB4WzFdWzJd
OworICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl07CisgICAgcmVzdWx0WzJdWzNdID0geFszXVsy
XTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDIgdHJhbnNwb3NlKGZsb2F0Mng0IHgp
IHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsKKyAg
ICByZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFsxXVswXSA9IHhbMF1bMV07Cisg
ICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSB4WzBdWzJdOwor
ICAgIHJlc3VsdFsyXVsxXSA9IHhbMV1bMl07CisgICAgcmVzdWx0WzNdWzBdID0geFswXVszXTsK
KyAgICByZXN1bHRbM11bMV0gPSB4WzFdWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDR4MyB0cmFuc3Bvc2UoZmxvYXQzeDQgeCkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF1bMF0gPSB4WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHhbMV1bMF07CisgICAg
cmVzdWx0WzBdWzJdID0geFsyXVswXTsKKyAgICByZXN1bHRbMV1bMF0gPSB4WzBdWzFdOworICAg
IHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKKyAg
ICByZXN1bHRbMl1bMF0gPSB4WzBdWzJdOworICAgIHJlc3VsdFsyXVsxXSA9IHhbMV1bMl07Cisg
ICAgcmVzdWx0WzJdWzJdID0geFsyXVsyXTsKKyAgICByZXN1bHRbM11bMF0gPSB4WzBdWzNdOwor
ICAgIHJlc3VsdFszXVsxXSA9IHhbMV1bM107CisgICAgcmVzdWx0WzNdWzJdID0geFsyXVszXTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDQgdHJhbnNwb3NlKGZsb2F0NHg0IHgpIHsK
KyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geFswXVswXTsKKyAgICBy
ZXN1bHRbMF1bMV0gPSB4WzFdWzBdOworICAgIHJlc3VsdFswXVsyXSA9IHhbMl1bMF07CisgICAg
cmVzdWx0WzBdWzNdID0geFszXVswXTsKKyAgICByZXN1bHRbMV1bMF0gPSB4WzBdWzFdOworICAg
IHJlc3VsdFsxXVsxXSA9IHhbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0geFsyXVsxXTsKKyAg
ICByZXN1bHRbMV1bM10gPSB4WzNdWzFdOworICAgIHJlc3VsdFsyXVswXSA9IHhbMF1bMl07Cisg
ICAgcmVzdWx0WzJdWzFdID0geFsxXVsyXTsKKyAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdOwor
ICAgIHJlc3VsdFsyXVszXSA9IHhbM11bMl07CisgICAgcmVzdWx0WzNdWzBdID0geFswXVszXTsK
KyAgICByZXN1bHRbM11bMV0gPSB4WzFdWzNdOworICAgIHJlc3VsdFszXVsyXSA9IHhbMl1bM107
CisgICAgcmVzdWx0WzNdWzNdID0geFszXVszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitp
bnQgYXNpbnQoaW50IHgpIHsKKyAgICByZXR1cm4geDsKK30KK2ludDIgYXNpbnQoaW50MiB4KSB7
CisgICAgcmV0dXJuIHg7Cit9CitpbnQzIGFzaW50KGludDMgeCkgeworICAgIHJldHVybiB4Owor
fQoraW50NCBhc2ludChpbnQ0IHgpIHsKKyAgICByZXR1cm4geDsKK30KK2ludCBhc2ludCh1aW50
IHgpIHsKKyAgICByZXR1cm4gaW50KHgpOworfQoraW50MiBhc2ludCh1aW50MiB4KSB7CisgICAg
aW50MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXNpbnQoeFswXSk7CisgICAgcmVzdWx0WzFd
ID0gYXNpbnQoeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2ludDMgYXNpbnQodWludDMg
eCkgeworICAgIGludDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFzaW50KHhbMF0pOworICAg
IHJlc3VsdFsxXSA9IGFzaW50KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGFzaW50KHhbMl0pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitpbnQ0IGFzaW50KHVpbnQ0IHgpIHsKKyAgICBpbnQ0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc2ludCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhc2lu
dCh4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhc2ludCh4WzJdKTsKKyAgICByZXN1bHRbM10gPSBh
c2ludCh4WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorbmF0aXZlIGludCBhc2ludChmbG9h
dCk7CitpbnQyIGFzaW50KGZsb2F0MiB4KSB7CisgICAgaW50MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gYXNpbnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXNpbnQoeFsxXSk7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2ludDMgYXNpbnQoZmxvYXQzIHgpIHsKKyAgICBpbnQzIHJlc3VsdDsK
KyAgICByZXN1bHRbMF0gPSBhc2ludCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhc2ludCh4WzFd
KTsKKyAgICByZXN1bHRbMl0gPSBhc2ludCh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
aW50NCBhc2ludChmbG9hdDQgeCkgeworICAgIGludDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9
IGFzaW50KHhbMF0pOworICAgIHJlc3VsdFsxXSA9IGFzaW50KHhbMV0pOworICAgIHJlc3VsdFsy
XSA9IGFzaW50KHhbMl0pOworICAgIHJlc3VsdFszXSA9IGFzaW50KHhbM10pOworICAgIHJldHVy
biByZXN1bHQ7Cit9Cit1aW50IGFzdWludChpbnQgeCkgeworICAgIHJldHVybiB1aW50KHgpOwor
fQordWludDIgYXN1aW50KGludDIgeCkgeworICAgIHVpbnQyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBhc3VpbnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXN1aW50KHhbMV0pOworICAgIHJl
dHVybiByZXN1bHQ7Cit9Cit1aW50MyBhc3VpbnQoaW50MyB4KSB7CisgICAgdWludDMgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IGFzdWludCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhc3VpbnQo
eFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXN1aW50KHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7
Cit9Cit1aW50NCBhc3VpbnQoaW50NCB4KSB7CisgICAgdWludDQgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IGFzdWludCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhc3VpbnQoeFsxXSk7CisgICAg
cmVzdWx0WzJdID0gYXN1aW50KHhbMl0pOworICAgIHJlc3VsdFszXSA9IGFzdWludCh4WzNdKTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQordWludCBhc3VpbnQodWludCB4KSB7CisgICAgcmV0dXJu
IHg7Cit9Cit1aW50MiBhc3VpbnQodWludDIgeCkgeworICAgIHJldHVybiB4OworfQordWludDMg
YXN1aW50KHVpbnQzIHgpIHsKKyAgICByZXR1cm4geDsKK30KK3VpbnQ0IGFzdWludCh1aW50NCB4
KSB7CisgICAgcmV0dXJuIHg7Cit9CituYXRpdmUgdWludCBhc3VpbnQoZmxvYXQpOwordWludDIg
YXN1aW50KGZsb2F0MiB4KSB7CisgICAgdWludDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IGFz
dWludCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhc3VpbnQoeFsxXSk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK3VpbnQzIGFzdWludChmbG9hdDMgeCkgeworICAgIHVpbnQzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSBhc3VpbnQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXN1aW50KHhbMV0p
OworICAgIHJlc3VsdFsyXSA9IGFzdWludCh4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
dWludDQgYXN1aW50KGZsb2F0NCB4KSB7CisgICAgdWludDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IGFzdWludCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhc3VpbnQoeFsxXSk7CisgICAgcmVz
dWx0WzJdID0gYXN1aW50KHhbMl0pOworICAgIHJlc3VsdFszXSA9IGFzdWludCh4WzNdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorbmF0aXZlIGZsb2F0IGFzZmxvYXQoaW50KTsKK2Zsb2F0MiBh
c2Zsb2F0KGludDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXNm
bG9hdCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhc2Zsb2F0KHhbMV0pOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitmbG9hdDMgYXNmbG9hdChpbnQzIHgpIHsKKyAgICBmbG9hdDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IGFzZmxvYXQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXNmbG9hdCh4
WzFdKTsKKyAgICByZXN1bHRbMl0gPSBhc2Zsb2F0KHhbMl0pOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitmbG9hdDQgYXNmbG9hdChpbnQ0IHgpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IGFzZmxvYXQoeFswXSk7CisgICAgcmVzdWx0WzFdID0gYXNmbG9hdCh4WzFdKTsK
KyAgICByZXN1bHRbMl0gPSBhc2Zsb2F0KHhbMl0pOworICAgIHJlc3VsdFszXSA9IGFzZmxvYXQo
eFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK25hdGl2ZSBmbG9hdCBhc2Zsb2F0KHVpbnQp
OworZmxvYXQyIGFzZmxvYXQodWludDIgeCkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gYXNmbG9hdCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBhc2Zsb2F0KHhbMV0pOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDMgYXNmbG9hdCh1aW50MyB4KSB7CisgICAgZmxv
YXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBhc2Zsb2F0KHhbMF0pOworICAgIHJlc3VsdFsx
XSA9IGFzZmxvYXQoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gYXNmbG9hdCh4WzJdKTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0IGFzZmxvYXQodWludDQgeCkgeworICAgIGZsb2F0NCBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gYXNmbG9hdCh4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBh
c2Zsb2F0KHhbMV0pOworICAgIHJlc3VsdFsyXSA9IGFzZmxvYXQoeFsyXSk7CisgICAgcmVzdWx0
WzNdID0gYXNmbG9hdCh4WzNdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQgYXNmbG9h
dChmbG9hdCB4KSB7CisgICAgcmV0dXJuIHg7Cit9CitmbG9hdDIgYXNmbG9hdChmbG9hdDIgeCkg
eworICAgIHJldHVybiB4OworfQorZmxvYXQzIGFzZmxvYXQoZmxvYXQzIHgpIHsKKyAgICByZXR1
cm4geDsKK30KK2Zsb2F0NCBhc2Zsb2F0KGZsb2F0NCB4KSB7CisgICAgcmV0dXJuIHg7Cit9Citm
bG9hdDJ4MiBhc2Zsb2F0KGZsb2F0MngyIHgpIHsKKyAgICByZXR1cm4geDsKK30KK2Zsb2F0Mngz
IGFzZmxvYXQoZmxvYXQyeDMgeCkgeworICAgIHJldHVybiB4OworfQorZmxvYXQyeDQgYXNmbG9h
dChmbG9hdDJ4NCB4KSB7CisgICAgcmV0dXJuIHg7Cit9CitmbG9hdDN4MiBhc2Zsb2F0KGZsb2F0
M3gyIHgpIHsKKyAgICByZXR1cm4geDsKK30KK2Zsb2F0M3gzIGFzZmxvYXQoZmxvYXQzeDMgeCkg
eworICAgIHJldHVybiB4OworfQorZmxvYXQzeDQgYXNmbG9hdChmbG9hdDN4NCB4KSB7CisgICAg
cmV0dXJuIHg7Cit9CitmbG9hdDR4MiBhc2Zsb2F0KGZsb2F0NHgyIHgpIHsKKyAgICByZXR1cm4g
eDsKK30KK2Zsb2F0NHgzIGFzZmxvYXQoZmxvYXQ0eDMgeCkgeworICAgIHJldHVybiB4OworfQor
ZmxvYXQ0eDQgYXNmbG9hdChmbG9hdDR4NCB4KSB7CisgICAgcmV0dXJuIHg7Cit9CisKK25hdGl2
ZSBmbG9hdCBmMTZ0b2YzMih1aW50KTsKK25hdGl2ZSB1aW50IGYzMnRvZjE2KGZsb2F0KTsKK2Zs
b2F0MiBmMTZ0b2YzMih1aW50MiB4KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRb
MF0gPSBmMTZ0b2YzMih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmMTZ0b2YzMih4WzFdKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQordWludDIgZjMydG9mMTYoZmxvYXQyIHgpIHsKKyAgICB1aW50
MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZjMydG9mMTYoeFswXSk7CisgICAgcmVzdWx0WzFd
ID0gZjMydG9mMTYoeFsxXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0MyBmMTZ0b2Yz
Mih1aW50MyB4KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBmMTZ0b2Yz
Mih4WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmMTZ0b2YzMih4WzFdKTsKKyAgICByZXN1bHRbMl0g
PSBmMTZ0b2YzMih4WzJdKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWludDMgZjMydG9mMTYo
ZmxvYXQzIHgpIHsKKyAgICB1aW50MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gZjMydG9mMTYo
eFswXSk7CisgICAgcmVzdWx0WzFdID0gZjMydG9mMTYoeFsxXSk7CisgICAgcmVzdWx0WzJdID0g
ZjMydG9mMTYoeFsyXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NCBmMTZ0b2YzMih1
aW50NCB4KSB7CisgICAgZmxvYXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSBmMTZ0b2YzMih4
WzBdKTsKKyAgICByZXN1bHRbMV0gPSBmMTZ0b2YzMih4WzFdKTsKKyAgICByZXN1bHRbMl0gPSBm
MTZ0b2YzMih4WzJdKTsKKyAgICByZXN1bHRbM10gPSBmMTZ0b2YzMih4WzNdKTsKKyAgICByZXR1
cm4gcmVzdWx0OworfQordWludDQgZjMydG9mMTYoZmxvYXQ0IHgpIHsKKyAgICB1aW50NCByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0gZjMydG9mMTYoeFswXSk7CisgICAgcmVzdWx0WzFdID0gZjMy
dG9mMTYoeFsxXSk7CisgICAgcmVzdWx0WzJdID0gZjMydG9mMTYoeFsyXSk7CisgICAgcmVzdWx0
WzNdID0gZjMydG9mMTYoeFszXSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworbmF0aXZlIHZv
aWQgQWxsTWVtb3J5QmFycmllcldpdGhHcm91cFN5bmMoKTsKK25hdGl2ZSB2b2lkIERldmljZU1l
bW9yeUJhcnJpZXJXaXRoR3JvdXBTeW5jKCk7CituYXRpdmUgdm9pZCBHcm91cE1lbW9yeUJhcnJp
ZXJXaXRoR3JvdXBTeW5jKCk7CisKK3VjaGFyIG11bCh1Y2hhciB4LCB1Y2hhciB5KSB7CisgICAg
cmV0dXJuIHggKiB5OworfQordXNob3J0IG11bCh1c2hvcnQgeCwgdXNob3J0IHkpIHsKKyAgICBy
ZXR1cm4geCAqIHk7Cit9Cit1aW50IG11bCh1aW50IHgsIHVpbnQgeSkgeworICAgIHJldHVybiB4
ICogeTsKK30KK2NoYXIgbXVsKGNoYXIgeCwgY2hhciB5KSB7CisgICAgcmV0dXJuIHggKiB5Owor
fQorc2hvcnQgbXVsKHNob3J0IHgsIHNob3J0IHkpIHsKKyAgICByZXR1cm4geCAqIHk7Cit9Citp
bnQgbXVsKGludCB4LCBpbnQgeSkgeworICAgIHJldHVybiB4ICogeTsKK30KK2hhbGYgbXVsKGhh
bGYgeCwgaGFsZiB5KSB7CisgICAgcmV0dXJuIHggKiB5OworfQorZmxvYXQgbXVsKGZsb2F0IHgs
IGZsb2F0IHkpIHsKKyAgICByZXR1cm4geCAqIHk7Cit9Cit1Y2hhcjIgbXVsKHVjaGFyIHgsIHVj
aGFyMiB5KSB7CisgICAgdWNoYXIyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB4ICogeVswXTsK
KyAgICByZXN1bHRbMV0gPSB4ICogeVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWNoYXIy
IG11bCh1Y2hhcjIgeCwgdWNoYXIgeSkgeworICAgIHVjaGFyMiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0geFswXSAqIHk7CisgICAgcmVzdWx0WzFdID0geFsxXSAqIHk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK3VjaGFyMyBtdWwodWNoYXIgeCwgdWNoYXIzIHkpIHsKKyAgICB1Y2hhcjMgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IHggKiB5WzBdOworICAgIHJlc3VsdFsxXSA9IHggKiB5WzFd
OworICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1Y2hh
cjMgbXVsKHVjaGFyMyB4LCB1Y2hhciB5KSB7CisgICAgdWNoYXIzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSB4WzBdICogeTsKKyAgICByZXN1bHRbMV0gPSB4WzFdICogeTsKKyAgICByZXN1bHRb
Ml0gPSB4WzJdICogeTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordWNoYXI0IG11bCh1Y2hhciB4
LCB1Y2hhcjQgeSkgeworICAgIHVjaGFyNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0geCAqIHlb
MF07CisgICAgcmVzdWx0WzFdID0geCAqIHlbMV07CisgICAgcmVzdWx0WzJdID0geCAqIHlbMl07
CisgICAgcmVzdWx0WzNdID0geCAqIHlbM107CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VjaGFy
NCBtdWwodWNoYXI0IHgsIHVjaGFyIHkpIHsKKyAgICB1Y2hhcjQgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5OworICAgIHJlc3VsdFsy
XSA9IHhbMl0gKiB5OworICAgIHJlc3VsdFszXSA9IHhbM10gKiB5OworICAgIHJldHVybiByZXN1
bHQ7Cit9Cit1c2hvcnQyIG11bCh1c2hvcnQgeCwgdXNob3J0MiB5KSB7CisgICAgdXNob3J0MiBy
ZXN1bHQ7CisgICAgcmVzdWx0WzBdID0geCAqIHlbMF07CisgICAgcmVzdWx0WzFdID0geCAqIHlb
MV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VzaG9ydDIgbXVsKHVzaG9ydDIgeCwgdXNob3J0
IHkpIHsKKyAgICB1c2hvcnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB4WzBdICogeTsKKyAg
ICByZXN1bHRbMV0gPSB4WzFdICogeTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordXNob3J0MyBt
dWwodXNob3J0IHgsIHVzaG9ydDMgeSkgeworICAgIHVzaG9ydDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IHggKiB5WzBdOworICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOworICAgIHJlc3VsdFsy
XSA9IHggKiB5WzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1c2hvcnQzIG11bCh1c2hvcnQz
IHgsIHVzaG9ydCB5KSB7CisgICAgdXNob3J0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0geFsw
XSAqIHk7CisgICAgcmVzdWx0WzFdID0geFsxXSAqIHk7CisgICAgcmVzdWx0WzJdID0geFsyXSAq
IHk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3VzaG9ydDQgbXVsKHVzaG9ydCB4LCB1c2hvcnQ0
IHkpIHsKKyAgICB1c2hvcnQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB4ICogeVswXTsKKyAg
ICByZXN1bHRbMV0gPSB4ICogeVsxXTsKKyAgICByZXN1bHRbMl0gPSB4ICogeVsyXTsKKyAgICBy
ZXN1bHRbM10gPSB4ICogeVszXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQordXNob3J0NCBtdWwo
dXNob3J0NCB4LCB1c2hvcnQgeSkgeworICAgIHVzaG9ydDQgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5OworICAgIHJlc3VsdFsyXSA9
IHhbMl0gKiB5OworICAgIHJlc3VsdFszXSA9IHhbM10gKiB5OworICAgIHJldHVybiByZXN1bHQ7
Cit9Cit1aW50MiBtdWwodWludCB4LCB1aW50MiB5KSB7CisgICAgdWludDIgcmVzdWx0OworICAg
IHJlc3VsdFswXSA9IHggKiB5WzBdOworICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOworICAgIHJl
dHVybiByZXN1bHQ7Cit9Cit1aW50MiBtdWwodWludDIgeCwgdWludCB5KSB7CisgICAgdWludDIg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhbMV0g
KiB5OworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50MyBtdWwodWludCB4LCB1aW50MyB5KSB7
CisgICAgdWludDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHggKiB5WzBdOworICAgIHJlc3Vs
dFsxXSA9IHggKiB5WzFdOworICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9Cit1aW50MyBtdWwodWludDMgeCwgdWludCB5KSB7CisgICAgdWludDMgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5Owor
ICAgIHJlc3VsdFsyXSA9IHhbMl0gKiB5OworICAgIHJldHVybiByZXN1bHQ7Cit9Cit1aW50NCBt
dWwodWludCB4LCB1aW50NCB5KSB7CisgICAgdWludDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9
IHggKiB5WzBdOworICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOworICAgIHJlc3VsdFsyXSA9IHgg
KiB5WzJdOworICAgIHJlc3VsdFszXSA9IHggKiB5WzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9
Cit1aW50NCBtdWwodWludDQgeCwgdWludCB5KSB7CisgICAgdWludDQgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5OworICAgIHJlc3Vs
dFsyXSA9IHhbMl0gKiB5OworICAgIHJlc3VsdFszXSA9IHhbM10gKiB5OworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitjaGFyMiBtdWwoY2hhciB4LCBjaGFyMiB5KSB7CisgICAgY2hhcjIgcmVzdWx0
OworICAgIHJlc3VsdFswXSA9IHggKiB5WzBdOworICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitjaGFyMiBtdWwoY2hhcjIgeCwgY2hhciB5KSB7CisgICAg
Y2hhcjIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9
IHhbMV0gKiB5OworICAgIHJldHVybiByZXN1bHQ7Cit9CitjaGFyMyBtdWwoY2hhciB4LCBjaGFy
MyB5KSB7CisgICAgY2hhcjMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHggKiB5WzBdOworICAg
IHJlc3VsdFsxXSA9IHggKiB5WzFdOworICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitjaGFyMyBtdWwoY2hhcjMgeCwgY2hhciB5KSB7CisgICAgY2hhcjMg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhbMV0g
KiB5OworICAgIHJlc3VsdFsyXSA9IHhbMl0gKiB5OworICAgIHJldHVybiByZXN1bHQ7Cit9Citj
aGFyNCBtdWwoY2hhciB4LCBjaGFyNCB5KSB7CisgICAgY2hhcjQgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IHggKiB5WzBdOworICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOworICAgIHJlc3VsdFsy
XSA9IHggKiB5WzJdOworICAgIHJlc3VsdFszXSA9IHggKiB5WzNdOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitjaGFyNCBtdWwoY2hhcjQgeCwgY2hhciB5KSB7CisgICAgY2hhcjQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5OworICAg
IHJlc3VsdFsyXSA9IHhbMl0gKiB5OworICAgIHJlc3VsdFszXSA9IHhbM10gKiB5OworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitzaG9ydDIgbXVsKHNob3J0IHgsIHNob3J0MiB5KSB7CisgICAgc2hv
cnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB4ICogeVswXTsKKyAgICByZXN1bHRbMV0gPSB4
ICogeVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorc2hvcnQyIG11bChzaG9ydDIgeCwgc2hv
cnQgeSkgeworICAgIHNob3J0MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0geFswXSAqIHk7Cisg
ICAgcmVzdWx0WzFdID0geFsxXSAqIHk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3Nob3J0MyBt
dWwoc2hvcnQgeCwgc2hvcnQzIHkpIHsKKyAgICBzaG9ydDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IHggKiB5WzBdOworICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOworICAgIHJlc3VsdFsyXSA9
IHggKiB5WzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitzaG9ydDMgbXVsKHNob3J0MyB4LCBz
aG9ydCB5KSB7CisgICAgc2hvcnQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB4WzBdICogeTsK
KyAgICByZXN1bHRbMV0gPSB4WzFdICogeTsKKyAgICByZXN1bHRbMl0gPSB4WzJdICogeTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorc2hvcnQ0IG11bChzaG9ydCB4LCBzaG9ydDQgeSkgeworICAg
IHNob3J0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0geCAqIHlbMF07CisgICAgcmVzdWx0WzFd
ID0geCAqIHlbMV07CisgICAgcmVzdWx0WzJdID0geCAqIHlbMl07CisgICAgcmVzdWx0WzNdID0g
eCAqIHlbM107CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK3Nob3J0NCBtdWwoc2hvcnQ0IHgsIHNo
b3J0IHkpIHsKKyAgICBzaG9ydDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5Owor
ICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5OworICAgIHJlc3VsdFsyXSA9IHhbMl0gKiB5OworICAg
IHJlc3VsdFszXSA9IHhbM10gKiB5OworICAgIHJldHVybiByZXN1bHQ7Cit9CitpbnQyIG11bChp
bnQgeCwgaW50MiB5KSB7CisgICAgaW50MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0geCAqIHlb
MF07CisgICAgcmVzdWx0WzFdID0geCAqIHlbMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2lu
dDIgbXVsKGludDIgeCwgaW50IHkpIHsKKyAgICBpbnQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0g
PSB4WzBdICogeTsKKyAgICByZXN1bHRbMV0gPSB4WzFdICogeTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQoraW50MyBtdWwoaW50IHgsIGludDMgeSkgeworICAgIGludDMgcmVzdWx0OworICAgIHJl
c3VsdFswXSA9IHggKiB5WzBdOworICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOworICAgIHJlc3Vs
dFsyXSA9IHggKiB5WzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitpbnQzIG11bChpbnQzIHgs
IGludCB5KSB7CisgICAgaW50MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0geFswXSAqIHk7Cisg
ICAgcmVzdWx0WzFdID0geFsxXSAqIHk7CisgICAgcmVzdWx0WzJdID0geFsyXSAqIHk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KK2ludDQgbXVsKGludCB4LCBpbnQ0IHkpIHsKKyAgICBpbnQ0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSB4ICogeVswXTsKKyAgICByZXN1bHRbMV0gPSB4ICogeVsx
XTsKKyAgICByZXN1bHRbMl0gPSB4ICogeVsyXTsKKyAgICByZXN1bHRbM10gPSB4ICogeVszXTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQoraW50NCBtdWwoaW50NCB4LCBpbnQgeSkgeworICAgIGlu
dDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhb
MV0gKiB5OworICAgIHJlc3VsdFsyXSA9IHhbMl0gKiB5OworICAgIHJlc3VsdFszXSA9IHhbM10g
KiB5OworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMiBtdWwoaGFsZiB4LCBoYWxmMiB5KSB7
CisgICAgaGFsZjIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHggKiB5WzBdOworICAgIHJlc3Vs
dFsxXSA9IHggKiB5WzFdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMiBtdWwoaGFsZjIg
eCwgaGFsZiB5KSB7CisgICAgaGFsZjIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5
OworICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5OworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxm
MyBtdWwoaGFsZiB4LCBoYWxmMyB5KSB7CisgICAgaGFsZjMgcmVzdWx0OworICAgIHJlc3VsdFsw
XSA9IHggKiB5WzBdOworICAgIHJlc3VsdFsxXSA9IHggKiB5WzFdOworICAgIHJlc3VsdFsyXSA9
IHggKiB5WzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMyBtdWwoaGFsZjMgeCwgaGFs
ZiB5KSB7CisgICAgaGFsZjMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OworICAg
IHJlc3VsdFsxXSA9IHhbMV0gKiB5OworICAgIHJlc3VsdFsyXSA9IHhbMl0gKiB5OworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitoYWxmNCBtdWwoaGFsZiB4LCBoYWxmNCB5KSB7CisgICAgaGFsZjQg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IHggKiB5WzBdOworICAgIHJlc3VsdFsxXSA9IHggKiB5
WzFdOworICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOworICAgIHJlc3VsdFszXSA9IHggKiB5WzNd
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNCBtdWwoaGFsZjQgeCwgaGFsZiB5KSB7Cisg
ICAgaGFsZjQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsx
XSA9IHhbMV0gKiB5OworICAgIHJlc3VsdFsyXSA9IHhbMl0gKiB5OworICAgIHJlc3VsdFszXSA9
IHhbM10gKiB5OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIgbXVsKGZsb2F0IHgsIGZs
b2F0MiB5KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSB4ICogeVswXTsK
KyAgICByZXN1bHRbMV0gPSB4ICogeVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQy
IG11bChmbG9hdDIgeCwgZmxvYXQgeSkgeworICAgIGZsb2F0MiByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0geFswXSAqIHk7CisgICAgcmVzdWx0WzFdID0geFsxXSAqIHk7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK2Zsb2F0MyBtdWwoZmxvYXQgeCwgZmxvYXQzIHkpIHsKKyAgICBmbG9hdDMgcmVz
dWx0OworICAgIHJlc3VsdFswXSA9IHggKiB5WzBdOworICAgIHJlc3VsdFsxXSA9IHggKiB5WzFd
OworICAgIHJlc3VsdFsyXSA9IHggKiB5WzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDMgbXVsKGZsb2F0MyB4LCBmbG9hdCB5KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSB4WzBdICogeTsKKyAgICByZXN1bHRbMV0gPSB4WzFdICogeTsKKyAgICByZXN1bHRb
Ml0gPSB4WzJdICogeTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0IG11bChmbG9hdCB4
LCBmbG9hdDQgeSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0geCAqIHlb
MF07CisgICAgcmVzdWx0WzFdID0geCAqIHlbMV07CisgICAgcmVzdWx0WzJdID0geCAqIHlbMl07
CisgICAgcmVzdWx0WzNdID0geCAqIHlbM107CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0
NCBtdWwoZmxvYXQ0IHgsIGZsb2F0IHkpIHsKKyAgICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IHhbMF0gKiB5OworICAgIHJlc3VsdFsxXSA9IHhbMV0gKiB5OworICAgIHJlc3VsdFsy
XSA9IHhbMl0gKiB5OworICAgIHJlc3VsdFszXSA9IHhbM10gKiB5OworICAgIHJldHVybiByZXN1
bHQ7Cit9CitoYWxmMngyIG11bChoYWxmIHgsIGhhbGYyeDIgeSkgeworICAgIGhhbGYyeDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9
IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOworICAgIHJlc3Vs
dFsxXVsxXSA9IHggKiB5WzFdWzFdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngyIG11
bChoYWxmMngyIHgsIGhhbGYgeSkgeworICAgIGhhbGYyeDIgcmVzdWx0OworICAgIHJlc3VsdFsw
XVswXSA9IHhbMF1bMF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAg
IHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0g
KiB5OworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngzIG11bChoYWxmIHgsIGhhbGYyeDMg
eSkgeworICAgIGhhbGYyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBd
OworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IHgg
KiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XVsxXSA9IHggKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngzIG11bChoYWxmMngzIHgsIGhhbGYgeSkgeworICAg
IGhhbGYyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OworICAgIHJl
c3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5
OworICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFsxXVsxXSA9IHhb
MV1bMV0gKiB5OworICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitoYWxmMng0IG11bChoYWxmIHgsIGhhbGYyeDQgeSkgeworICAgIGhhbGYyeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsx
XSA9IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJl
c3VsdFswXVszXSA9IHggKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBd
OworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IHgg
KiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVszXSA9IHggKiB5WzFdWzNdOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitoYWxmMng0IG11bChoYWxmMng0IHgsIGhhbGYgeSkgeworICAgIGhhbGYyeDQg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OworICAgIHJlc3VsdFswXVsx
XSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5OworICAgIHJl
c3VsdFswXVszXSA9IHhbMF1bM10gKiB5OworICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5
OworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OworICAgIHJlc3VsdFsxXVsyXSA9IHhb
MV1bMl0gKiB5OworICAgIHJlc3VsdFsxXVszXSA9IHhbMV1bM10gKiB5OworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CitoYWxmM3gyIG11bChoYWxmIHgsIGhhbGYzeDIgeSkgeworICAgIGhhbGYzeDIg
cmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsx
XSA9IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOworICAgIHJl
c3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBd
OworICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitoYWxmM3gyIG11bChoYWxmM3gyIHgsIGhhbGYgeSkgeworICAgIGhhbGYzeDIgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1b
MV0gKiB5OworICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFsxXVsx
XSA9IHhbMV1bMV0gKiB5OworICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OworICAgIHJl
c3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gz
IG11bChoYWxmIHgsIGhhbGYzeDMgeSkgeworICAgIGhhbGYzeDMgcmVzdWx0OworICAgIHJlc3Vs
dFswXVswXSA9IHggKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IHggKiB5
WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsy
XSA9IHggKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOworICAgIHJl
c3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJd
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gzIG11bChoYWxmM3gzIHgsIGhhbGYgeSkg
eworICAgIGhhbGYzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5Owor
ICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFswXVsyXSA9IHhbMF1b
Ml0gKiB5OworICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFsxXVsx
XSA9IHhbMV1bMV0gKiB5OworICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OworICAgIHJl
c3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OworICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5
OworICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl0gKiB5OworICAgIHJldHVybiByZXN1bHQ7Cit9
CitoYWxmM3g0IG11bChoYWxmIHgsIGhhbGYzeDQgeSkgeworICAgIGhhbGYzeDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5
WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVsz
XSA9IHggKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOworICAgIHJl
c3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJd
OworICAgIHJlc3VsdFsxXVszXSA9IHggKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVswXSA9IHgg
KiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOworICAgIHJlc3VsdFsy
XVsyXSA9IHggKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVszXSA9IHggKiB5WzJdWzNdOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3g0IG11bChoYWxmM3g0IHgsIGhhbGYgeSkgeworICAg
IGhhbGYzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OworICAgIHJl
c3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5
OworICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5OworICAgIHJlc3VsdFsxXVswXSA9IHhb
MV1bMF0gKiB5OworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OworICAgIHJlc3VsdFsx
XVsyXSA9IHhbMV1bMl0gKiB5OworICAgIHJlc3VsdFsxXVszXSA9IHhbMV1bM10gKiB5OworICAg
IHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OworICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0g
KiB5OworICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl0gKiB5OworICAgIHJlc3VsdFsyXVszXSA9
IHhbMl1bM10gKiB5OworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHgyIG11bChoYWxmIHgs
IGhhbGY0eDIgeSkgeworICAgIGhhbGY0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHgg
KiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsx
XVswXSA9IHggKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOworICAg
IHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJd
WzFdOworICAgIHJlc3VsdFszXVswXSA9IHggKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSA9
IHggKiB5WzNdWzFdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHgyIG11bChoYWxmNHgy
IHgsIGhhbGYgeSkgeworICAgIGhhbGY0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHhb
MF1bMF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFsx
XVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OworICAg
IHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OworICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0g
KiB5OworICAgIHJlc3VsdFszXVswXSA9IHhbM11bMF0gKiB5OworICAgIHJlc3VsdFszXVsxXSA9
IHhbM11bMV0gKiB5OworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHgzIG11bChoYWxmIHgs
IGhhbGY0eDMgeSkgeworICAgIGhhbGY0eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHgg
KiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFsw
XVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IHggKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFd
WzJdOworICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSA9
IHggKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOworICAgIHJlc3Vs
dFszXVswXSA9IHggKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVsxXSA9IHggKiB5WzNdWzFdOwor
ICAgIHJlc3VsdFszXVsyXSA9IHggKiB5WzNdWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9Cito
YWxmNHgzIG11bChoYWxmNHgzIHgsIGhhbGYgeSkgeworICAgIGhhbGY0eDMgcmVzdWx0OworICAg
IHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0g
KiB5OworICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5OworICAgIHJlc3VsdFsxXVswXSA9
IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OworICAgIHJlc3Vs
dFsxXVsyXSA9IHhbMV1bMl0gKiB5OworICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5Owor
ICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OworICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1b
Ml0gKiB5OworICAgIHJlc3VsdFszXVswXSA9IHhbM11bMF0gKiB5OworICAgIHJlc3VsdFszXVsx
XSA9IHhbM11bMV0gKiB5OworICAgIHJlc3VsdFszXVsyXSA9IHhbM11bMl0gKiB5OworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitoYWxmNHg0IG11bChoYWxmIHgsIGhhbGY0eDQgeSkgeworICAgIGhh
bGY0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOworICAgIHJlc3Vs
dFswXVsxXSA9IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOwor
ICAgIHJlc3VsdFswXVszXSA9IHggKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVswXSA9IHggKiB5
WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsy
XSA9IHggKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVszXSA9IHggKiB5WzFdWzNdOworICAgIHJl
c3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFd
OworICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVszXSA9IHgg
KiB5WzJdWzNdOworICAgIHJlc3VsdFszXVswXSA9IHggKiB5WzNdWzBdOworICAgIHJlc3VsdFsz
XVsxXSA9IHggKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsyXSA9IHggKiB5WzNdWzJdOworICAg
IHJlc3VsdFszXVszXSA9IHggKiB5WzNdWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxm
NHg0IG11bChoYWxmNHg0IHgsIGhhbGYgeSkgeworICAgIGhhbGY0eDQgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5
OworICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5OworICAgIHJlc3VsdFswXVszXSA9IHhb
MF1bM10gKiB5OworICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFsx
XVsxXSA9IHhbMV1bMV0gKiB5OworICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OworICAg
IHJlc3VsdFsxXVszXSA9IHhbMV1bM10gKiB5OworICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0g
KiB5OworICAgIHJlc3VsdFsyXVsxXSA9IHhbMl1bMV0gKiB5OworICAgIHJlc3VsdFsyXVsyXSA9
IHhbMl1bMl0gKiB5OworICAgIHJlc3VsdFsyXVszXSA9IHhbMl1bM10gKiB5OworICAgIHJlc3Vs
dFszXVswXSA9IHhbM11bMF0gKiB5OworICAgIHJlc3VsdFszXVsxXSA9IHhbM11bMV0gKiB5Owor
ICAgIHJlc3VsdFszXVsyXSA9IHhbM11bMl0gKiB5OworICAgIHJlc3VsdFszXVszXSA9IHhbM11b
M10gKiB5OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiBtdWwoZmxvYXQgeCwgZmxv
YXQyeDIgeSkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB4ICog
eVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4ICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1b
MF0gPSB4ICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0gPSB4ICogeVsxXVsxXTsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDIgbXVsKGZsb2F0MngyIHgsIGZsb2F0IHkpIHsKKyAg
ICBmbG9hdDJ4MiByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7CisgICAg
cmVzdWx0WzBdWzFdID0geFswXVsxXSAqIHk7CisgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAq
IHk7CisgICAgcmVzdWx0WzFdWzFdID0geFsxXVsxXSAqIHk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2Zsb2F0MngzIG11bChmbG9hdCB4LCBmbG9hdDJ4MyB5KSB7CisgICAgZmxvYXQyeDMgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9
IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJlc3Vs
dFsxXVswXSA9IHggKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDJ4MyBtdWwoZmxvYXQyeDMgeCwgZmxvYXQgeSkgeworICAgIGZsb2F0MngzIHJlc3VsdDsK
KyAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICogeTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzBd
WzFdICogeTsKKyAgICByZXN1bHRbMF1bMl0gPSB4WzBdWzJdICogeTsKKyAgICByZXN1bHRbMV1b
MF0gPSB4WzFdWzBdICogeTsKKyAgICByZXN1bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQy
eDQgbXVsKGZsb2F0IHgsIGZsb2F0Mng0IHkpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzNdID0g
eCAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0
WzFdWzFdID0geCAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zs
b2F0Mng0IG11bChmbG9hdDJ4NCB4LCBmbG9hdCB5KSB7CisgICAgZmxvYXQyeDQgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVswXSA9IHhbMF1bMF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1b
MV0gKiB5OworICAgIHJlc3VsdFswXVsyXSA9IHhbMF1bMl0gKiB5OworICAgIHJlc3VsdFswXVsz
XSA9IHhbMF1bM10gKiB5OworICAgIHJlc3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJl
c3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5OworICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5
OworICAgIHJlc3VsdFsxXVszXSA9IHhbMV1bM10gKiB5OworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDN4MiBtdWwoZmxvYXQgeCwgZmxvYXQzeDIgeSkgeworICAgIGZsb2F0M3gyIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bMF0gPSB4ICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4
ICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKKyAgICByZXN1bHRb
MV1bMV0gPSB4ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSB4ICogeVsyXVswXTsKKyAg
ICByZXN1bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxv
YXQzeDIgbXVsKGZsb2F0M3gyIHgsIGZsb2F0IHkpIHsKKyAgICBmbG9hdDN4MiByZXN1bHQ7Cisg
ICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7CisgICAgcmVzdWx0WzBdWzFdID0geFswXVsx
XSAqIHk7CisgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7CisgICAgcmVzdWx0WzFdWzFd
ID0geFsxXVsxXSAqIHk7CisgICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7CisgICAgcmVz
dWx0WzJdWzFdID0geFsyXVsxXSAqIHk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3gz
IG11bChmbG9hdCB4LCBmbG9hdDN4MyB5KSB7CisgICAgZmxvYXQzeDMgcmVzdWx0OworICAgIHJl
c3VsdFswXVswXSA9IHggKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9IHggKiB5WzBdWzFd
OworICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVswXSA9IHgg
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOworICAgIHJlc3VsdFsx
XVsyXSA9IHggKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IHggKiB5WzJdWzBdOworICAg
IHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9IHggKiB5WzJd
WzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MyBtdWwoZmxvYXQzeDMgeCwgZmxv
YXQgeSkgeworICAgIGZsb2F0M3gzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBd
ICogeTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKKyAgICByZXN1bHRbMF1bMl0g
PSB4WzBdWzJdICogeTsKKyAgICByZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKKyAgICByZXN1
bHRbMV1bMV0gPSB4WzFdWzFdICogeTsKKyAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsK
KyAgICByZXN1bHRbMl1bMF0gPSB4WzJdWzBdICogeTsKKyAgICByZXN1bHRbMl1bMV0gPSB4WzJd
WzFdICogeTsKKyAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorZmxvYXQzeDQgbXVsKGZsb2F0IHgsIGZsb2F0M3g0IHkpIHsKKyAgICBmbG9hdDN4
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzBdID0geCAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBd
WzFdID0geCAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07CisgICAg
cmVzdWx0WzBdWzNdID0geCAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzFdWzFdID0geCAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0g
eCAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107CisgICAgcmVzdWx0
WzJdWzBdID0geCAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07Cisg
ICAgcmVzdWx0WzJdWzJdID0geCAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzNdID0geCAqIHlb
Ml1bM107CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3g0IG11bChmbG9hdDN4NCB4LCBm
bG9hdCB5KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHhbMF1b
MF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFswXVsy
XSA9IHhbMF1bMl0gKiB5OworICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5OworICAgIHJl
c3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5
OworICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OworICAgIHJlc3VsdFsxXVszXSA9IHhb
MV1bM10gKiB5OworICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OworICAgIHJlc3VsdFsy
XVsxXSA9IHhbMl1bMV0gKiB5OworICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl0gKiB5OworICAg
IHJlc3VsdFsyXVszXSA9IHhbMl1bM10gKiB5OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9h
dDR4MiBtdWwoZmxvYXQgeCwgZmxvYXQ0eDIgeSkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMF0gPSB4ICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMV0gPSB4ICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMV1bMF0gPSB4ICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMV0g
PSB4ICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMF0gPSB4ICogeVsyXVswXTsKKyAgICByZXN1
bHRbMl1bMV0gPSB4ICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bMF0gPSB4ICogeVszXVswXTsK
KyAgICByZXN1bHRbM11bMV0gPSB4ICogeVszXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
ZmxvYXQ0eDIgbXVsKGZsb2F0NHgyIHgsIGZsb2F0IHkpIHsKKyAgICBmbG9hdDR4MiByZXN1bHQ7
CisgICAgcmVzdWx0WzBdWzBdID0geFswXVswXSAqIHk7CisgICAgcmVzdWx0WzBdWzFdID0geFsw
XVsxXSAqIHk7CisgICAgcmVzdWx0WzFdWzBdID0geFsxXVswXSAqIHk7CisgICAgcmVzdWx0WzFd
WzFdID0geFsxXVsxXSAqIHk7CisgICAgcmVzdWx0WzJdWzBdID0geFsyXVswXSAqIHk7CisgICAg
cmVzdWx0WzJdWzFdID0geFsyXVsxXSAqIHk7CisgICAgcmVzdWx0WzNdWzBdID0geFszXVswXSAq
IHk7CisgICAgcmVzdWx0WzNdWzFdID0geFszXVsxXSAqIHk7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KK2Zsb2F0NHgzIG11bChmbG9hdCB4LCBmbG9hdDR4MyB5KSB7CisgICAgZmxvYXQ0eDMgcmVz
dWx0OworICAgIHJlc3VsdFswXVswXSA9IHggKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsxXSA9
IHggKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSA9IHggKiB5WzBdWzJdOworICAgIHJlc3Vs
dFsxXVswXSA9IHggKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsxXSA9IHggKiB5WzFdWzFdOwor
ICAgIHJlc3VsdFsxXVsyXSA9IHggKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVswXSA9IHggKiB5
WzJdWzBdOworICAgIHJlc3VsdFsyXVsxXSA9IHggKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsy
XSA9IHggKiB5WzJdWzJdOworICAgIHJlc3VsdFszXVswXSA9IHggKiB5WzNdWzBdOworICAgIHJl
c3VsdFszXVsxXSA9IHggKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVsyXSA9IHggKiB5WzNdWzJd
OworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MyBtdWwoZmxvYXQ0eDMgeCwgZmxvYXQg
eSkgeworICAgIGZsb2F0NHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMF0gPSB4WzBdWzBdICog
eTsKKyAgICByZXN1bHRbMF1bMV0gPSB4WzBdWzFdICogeTsKKyAgICByZXN1bHRbMF1bMl0gPSB4
WzBdWzJdICogeTsKKyAgICByZXN1bHRbMV1bMF0gPSB4WzFdWzBdICogeTsKKyAgICByZXN1bHRb
MV1bMV0gPSB4WzFdWzFdICogeTsKKyAgICByZXN1bHRbMV1bMl0gPSB4WzFdWzJdICogeTsKKyAg
ICByZXN1bHRbMl1bMF0gPSB4WzJdWzBdICogeTsKKyAgICByZXN1bHRbMl1bMV0gPSB4WzJdWzFd
ICogeTsKKyAgICByZXN1bHRbMl1bMl0gPSB4WzJdWzJdICogeTsKKyAgICByZXN1bHRbM11bMF0g
PSB4WzNdWzBdICogeTsKKyAgICByZXN1bHRbM11bMV0gPSB4WzNdWzFdICogeTsKKyAgICByZXN1
bHRbM11bMl0gPSB4WzNdWzJdICogeTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDQg
bXVsKGZsb2F0IHgsIGZsb2F0NHg0IHkpIHsKKyAgICBmbG9hdDR4NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdWzBdID0geCAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzFdID0geCAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzBdWzJdID0geCAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzNdID0geCAq
IHlbMF1bM107CisgICAgcmVzdWx0WzFdWzBdID0geCAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFd
WzFdID0geCAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0geCAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzFdWzNdID0geCAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzBdID0geCAqIHlbMl1b
MF07CisgICAgcmVzdWx0WzJdWzFdID0geCAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdID0g
eCAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzNdID0geCAqIHlbMl1bM107CisgICAgcmVzdWx0
WzNdWzBdID0geCAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzFdID0geCAqIHlbM11bMV07Cisg
ICAgcmVzdWx0WzNdWzJdID0geCAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzNdID0geCAqIHlb
M11bM107CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0IG11bChmbG9hdDR4NCB4LCBm
bG9hdCB5KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVswXSA9IHhbMF1b
MF0gKiB5OworICAgIHJlc3VsdFswXVsxXSA9IHhbMF1bMV0gKiB5OworICAgIHJlc3VsdFswXVsy
XSA9IHhbMF1bMl0gKiB5OworICAgIHJlc3VsdFswXVszXSA9IHhbMF1bM10gKiB5OworICAgIHJl
c3VsdFsxXVswXSA9IHhbMV1bMF0gKiB5OworICAgIHJlc3VsdFsxXVsxXSA9IHhbMV1bMV0gKiB5
OworICAgIHJlc3VsdFsxXVsyXSA9IHhbMV1bMl0gKiB5OworICAgIHJlc3VsdFsxXVszXSA9IHhb
MV1bM10gKiB5OworICAgIHJlc3VsdFsyXVswXSA9IHhbMl1bMF0gKiB5OworICAgIHJlc3VsdFsy
XVsxXSA9IHhbMl1bMV0gKiB5OworICAgIHJlc3VsdFsyXVsyXSA9IHhbMl1bMl0gKiB5OworICAg
IHJlc3VsdFsyXVszXSA9IHhbMl1bM10gKiB5OworICAgIHJlc3VsdFszXVswXSA9IHhbM11bMF0g
KiB5OworICAgIHJlc3VsdFszXVsxXSA9IHhbM11bMV0gKiB5OworICAgIHJlc3VsdFszXVsyXSA9
IHhbM11bMl0gKiB5OworICAgIHJlc3VsdFszXVszXSA9IHhbM11bM10gKiB5OworICAgIHJldHVy
biByZXN1bHQ7Cit9Cit1Y2hhcjIgbXVsKHVjaGFyMiB4LCB1Y2hhcjIgeSkgeworICAgIHJldHVy
biBkb3QoeCwgeSk7Cit9Cit1Y2hhcjMgbXVsKHVjaGFyMyB4LCB1Y2hhcjMgeSkgeworICAgIHJl
dHVybiBkb3QoeCwgeSk7Cit9Cit1Y2hhcjQgbXVsKHVjaGFyNCB4LCB1Y2hhcjQgeSkgeworICAg
IHJldHVybiBkb3QoeCwgeSk7Cit9Cit1c2hvcnQyIG11bCh1c2hvcnQyIHgsIHVzaG9ydDIgeSkg
eworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9Cit1c2hvcnQzIG11bCh1c2hvcnQzIHgsIHVzaG9y
dDMgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9Cit1c2hvcnQ0IG11bCh1c2hvcnQ0IHgs
IHVzaG9ydDQgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9Cit1aW50MiBtdWwodWludDIg
eCwgdWludDIgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9Cit1aW50MyBtdWwodWludDMg
eCwgdWludDMgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9Cit1aW50NCBtdWwodWludDQg
eCwgdWludDQgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9CitjaGFyMiBtdWwoY2hhcjIg
eCwgY2hhcjIgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9CitjaGFyMyBtdWwoY2hhcjMg
eCwgY2hhcjMgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9CitjaGFyNCBtdWwoY2hhcjQg
eCwgY2hhcjQgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9CitzaG9ydDIgbXVsKHNob3J0
MiB4LCBzaG9ydDIgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9CitzaG9ydDMgbXVsKHNo
b3J0MyB4LCBzaG9ydDMgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9CitzaG9ydDQgbXVs
KHNob3J0NCB4LCBzaG9ydDQgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9CitpbnQyIG11
bChpbnQyIHgsIGludDIgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9CitpbnQzIG11bChp
bnQzIHgsIGludDMgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9CitpbnQ0IG11bChpbnQ0
IHgsIGludDQgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9CitoYWxmMiBtdWwoaGFsZjIg
eCwgaGFsZjIgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9CitoYWxmMyBtdWwoaGFsZjMg
eCwgaGFsZjMgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9CitoYWxmNCBtdWwoaGFsZjQg
eCwgaGFsZjQgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9CitmbG9hdDIgbXVsKGZsb2F0
MiB4LCBmbG9hdDIgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9CitmbG9hdDMgbXVsKGZs
b2F0MyB4LCBmbG9hdDMgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7Cit9CitmbG9hdDQgbXVs
KGZsb2F0NCB4LCBmbG9hdDQgeSkgeworICAgIHJldHVybiBkb3QoeCwgeSk7CiB9Ci0KLWJvb2wg
b3BlcmF0b3J8KGJvb2wgYSwgYm9vbCBiKQotewotICAgIGlmIChhKQotICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICBpZiAoYikKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgcmV0dXJuIGZhbHNl
OworaGFsZjIgbXVsKGhhbGYyIHgsIGhhbGYyeDIgeSkgeworICAgIGhhbGYyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSAwOworICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdID0gMDsKKyAgICByZXN1
bHRbMV0gKz0geFswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFd
OworICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLWJvb2wgb3BlcmF0b3JeKGJvb2wgYSwgYm9vbCBi
KQotewotICAgIGlmIChhKQotICAgICAgICByZXR1cm4gIWI7Ci0gICAgcmV0dXJuIGI7CitoYWxm
MiBtdWwoaGFsZjJ4MiB4LCBoYWxmMiB5KSB7CisgICAgaGFsZjIgcmVzdWx0OworICAgIHJlc3Vs
dFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOworICAgIHJlc3VsdFsw
XSArPSB4WzBdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSAr
PSB4WzFdWzBdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07CisgICAg
cmV0dXJuIHJlc3VsdDsKIH0KLQotYm9vbCBvcGVyYXRvcn4oYm9vbCB2YWx1ZSkKLXsKLSAgICBy
ZXR1cm4gIXZhbHVlOworaGFsZjMgbXVsKGhhbGYyIHgsIGhhbGYyeDMgeSkgeworICAgIGhhbGYz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAwOworICAgIHJlc3VsdFswXSArPSB4WzBdICogeVsw
XVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdID0g
MDsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdICs9IHhb
MV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXSA9IDA7CisgICAgcmVzdWx0WzJdICs9IHhbMF0g
KiB5WzBdWzJdOworICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsxXVsyXTsKKyAgICByZXR1cm4g
cmVzdWx0OwogfQotCi1wcm90b2NvbCBBZGRhYmxlIHsKLSAgICBBZGRhYmxlIG9wZXJhdG9yKyhB
ZGRhYmxlLCBBZGRhYmxlKTsKK2hhbGYyIG11bChoYWxmMngzIHgsIGhhbGYzIHkpIHsKKyAgICBo
YWxmMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXVsw
XSAqIHlbMF07CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5WzFdOworICAgIHJlc3VsdFsw
XSArPSB4WzBdWzJdICogeVsyXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSAr
PSB4WzFdWzBdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07CisgICAg
cmVzdWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLXBy
b3RvY29sIEVxdWF0YWJsZSB7Ci0gICAgYm9vbCBvcGVyYXRvcj09KEVxdWF0YWJsZSwgRXF1YXRh
YmxlKTsKK2hhbGY0IG11bChoYWxmMiB4LCBoYWxmMng0IHkpIHsKKyAgICBoYWxmNCByZXN1bHQ7
CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07Cisg
ICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXSA9IDA7CisgICAg
cmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzFdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMl0gPSAwOworICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVswXVsy
XTsKKyAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzNdID0gMDsK
KyAgICByZXN1bHRbM10gKz0geFswXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzNdICs9IHhbMV0g
KiB5WzFdWzNdOworICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLXJlc3RyaWN0ZWQgb3BlcmF0b3I8
VD4gVCgpCi17Ci0gICAgVCBkZWZhdWx0VmFsdWU7Ci0gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTsK
K2hhbGYyIG11bChoYWxmMng0IHgsIGhhbGY0IHkpIHsKKyAgICBoYWxmMiByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07CisgICAgcmVz
dWx0WzBdICs9IHhbMF1bMV0gKiB5WzFdOworICAgIHJlc3VsdFswXSArPSB4WzBdWzJdICogeVsy
XTsKKyAgICByZXN1bHRbMF0gKz0geFswXVszXSAqIHlbM107CisgICAgcmVzdWx0WzFdID0gMDsK
KyAgICByZXN1bHRbMV0gKz0geFsxXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMV1b
MV0gKiB5WzFdOworICAgIHJlc3VsdFsxXSArPSB4WzFdWzJdICogeVsyXTsKKyAgICByZXN1bHRb
MV0gKz0geFsxXVszXSAqIHlbM107CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotcmVzdHJpY3Rl
ZCBvcGVyYXRvcjxUPiBUKFQgeCkKLXsKLSAgICByZXR1cm4geDsKK2hhbGYyIG11bChoYWxmMyB4
LCBoYWxmM3gyIHkpIHsKKyAgICBoYWxmMiByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAg
ICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5
WzFdWzBdOworICAgIHJlc3VsdFswXSArPSB4WzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMV0g
PSAwOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0gKz0g
eFsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzJdWzFdOworICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci0KLW9wZXJhdG9yPFQ6RXF1YXRhYmxlPiBib29sKFQgeCkKLXsKLSAg
ICByZXR1cm4geCAhPSBUKCk7CitoYWxmMyBtdWwoaGFsZjN4MiB4LCBoYWxmMiB5KSB7CisgICAg
aGFsZjMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF1b
MF0gKiB5WzBdOworICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKKyAgICByZXN1bHRb
MV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKKyAgICByZXN1bHRbMV0g
Kz0geFsxXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzJdID0gMDsKKyAgICByZXN1bHRbMl0gKz0g
eFsyXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzJdICs9IHhbMl1bMV0gKiB5WzFdOworICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci0KLXN0cnVjdCB2ZWMyPFQ+IHsKLSAgICBUIHg7Ci0gICAgVCB5Owor
aGFsZjMgbXVsKGhhbGYzIHgsIGhhbGYzeDMgeSkgeworICAgIGhhbGYzIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSAwOworICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKKyAgICByZXN1
bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzJdWzBd
OworICAgIHJlc3VsdFsxXSA9IDA7CisgICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFsxXSArPSB4WzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsyXSAq
IHlbMl1bMV07CisgICAgcmVzdWx0WzJdID0gMDsKKyAgICByZXN1bHRbMl0gKz0geFswXSAqIHlb
MF1bMl07CisgICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXSAr
PSB4WzJdICogeVsyXVsyXTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotCi10eXBlZGVmIGludDIg
PSB2ZWMyPGludD47Ci10eXBlZGVmIHVpbnQyID0gdmVjMjx1aW50PjsKLXR5cGVkZWYgZmxvYXQy
ID0gdmVjMjxmbG9hdD47Ci0KLW9wZXJhdG9yPFQ+IHZlYzI8VD4oVCB4LCBUIHkpCi17Ci0gICAg
dmVjMjxUPiByZXN1bHQ7Ci0gICAgcmVzdWx0LnggPSB4OwotICAgIHJlc3VsdC55ID0geTsKK2hh
bGYzIG11bChoYWxmM3gzIHgsIGhhbGYzIHkpIHsKKyAgICBoYWxmMyByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07CisgICAgcmVzdWx0
WzBdICs9IHhbMF1bMV0gKiB5WzFdOworICAgIHJlc3VsdFswXSArPSB4WzBdWzJdICogeVsyXTsK
KyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKKyAg
ICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzFdICs9IHhbMV1bMl0g
KiB5WzJdOworICAgIHJlc3VsdFsyXSA9IDA7CisgICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5
WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzJdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0g
eFsyXVsyXSAqIHlbMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotYm9vbCBvcGVyYXRvcj09
PFQ6RXF1YXRhYmxlPih2ZWMyPFQ+IGEsIHZlYzI8VD4gYikKLXsKLSAgICByZXR1cm4gYS54ID09
IGIueCAmJiBhLnkgPT0gYi55OworaGFsZjQgbXVsKGhhbGYzIHgsIGhhbGYzeDQgeSkgeworICAg
IGhhbGY0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAwOworICAgIHJlc3VsdFswXSArPSB4WzBd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0
WzBdICs9IHhbMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXSA9IDA7CisgICAgcmVzdWx0WzFd
ICs9IHhbMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzFdICogeVsxXVsxXTsKKyAg
ICByZXN1bHRbMV0gKz0geFsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdID0gMDsKKyAgICBy
ZXN1bHRbMl0gKz0geFswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzFd
WzJdOworICAgIHJlc3VsdFsyXSArPSB4WzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbM10gPSAw
OworICAgIHJlc3VsdFszXSArPSB4WzBdICogeVswXVszXTsKKyAgICByZXN1bHRbM10gKz0geFsx
XSAqIHlbMV1bM107CisgICAgcmVzdWx0WzNdICs9IHhbMl0gKiB5WzJdWzNdOworICAgIHJldHVy
biByZXN1bHQ7CiB9Ci0KLXRocmVhZCBUKiBvcGVyYXRvciZbXTxUPih0aHJlYWQgdmVjMjxUPiog
Zm9vLCB1aW50IGluZGV4KQotewotICAgIGlmIChpbmRleCA9PSAwKQotICAgICAgICByZXR1cm4g
JmZvby0+eDsKLSAgICBpZiAoaW5kZXggPT0gMSkKLSAgICAgICAgcmV0dXJuICZmb28tPnk7Ci0g
ICAgdHJhcDsKK2hhbGYzIG11bChoYWxmM3g0IHgsIGhhbGY0IHkpIHsKKyAgICBoYWxmMyByZXN1
bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07
CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5WzFdOworICAgIHJlc3VsdFswXSArPSB4WzBd
WzJdICogeVsyXTsKKyAgICByZXN1bHRbMF0gKz0geFswXVszXSAqIHlbM107CisgICAgcmVzdWx0
WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFsxXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzFd
ICs9IHhbMV1bMV0gKiB5WzFdOworICAgIHJlc3VsdFsxXSArPSB4WzFdWzJdICogeVsyXTsKKyAg
ICByZXN1bHRbMV0gKz0geFsxXVszXSAqIHlbM107CisgICAgcmVzdWx0WzJdID0gMDsKKyAgICBy
ZXN1bHRbMl0gKz0geFsyXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzJdICs9IHhbMl1bMV0gKiB5
WzFdOworICAgIHJlc3VsdFsyXSArPSB4WzJdWzJdICogeVsyXTsKKyAgICByZXN1bHRbMl0gKz0g
eFsyXVszXSAqIHlbM107CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotc3RydWN0IHZlYzM8VD4g
ewotICAgIFQgeDsKLSAgICBUIHk7Ci0gICAgVCB6OworaGFsZjIgbXVsKGhhbGY0IHgsIGhhbGY0
eDIgeSkgeworICAgIGhhbGYyIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAwOworICAgIHJlc3Vs
dFswXSArPSB4WzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07
CisgICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFswXSArPSB4WzNd
ICogeVszXVswXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4WzBdICog
eVswXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFd
ICs9IHhbMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzNdICogeVszXVsxXTsKKyAg
ICByZXR1cm4gcmVzdWx0OwogfQotCi10eXBlZGVmIGludDMgPSB2ZWMzPGludD47Ci10eXBlZGVm
IHVpbnQzID0gdmVjMzx1aW50PjsKLXR5cGVkZWYgZmxvYXQzID0gdmVjMzxmbG9hdD47Ci0KLW9w
ZXJhdG9yPFQ+IHZlYzM8VD4oVCB4LCBUIHksIFQgeikKLXsKLSAgICB2ZWMzPFQ+IHJlc3VsdDsK
LSAgICByZXN1bHQueCA9IHg7Ci0gICAgcmVzdWx0LnkgPSB5OwotICAgIHJlc3VsdC56ID0gejsK
K2hhbGY0IG11bChoYWxmNHgyIHgsIGhhbGYyIHkpIHsKKyAgICBoYWxmNCByZXN1bHQ7CisgICAg
cmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07CisgICAgcmVz
dWx0WzBdICs9IHhbMF1bMV0gKiB5WzFdOworICAgIHJlc3VsdFsxXSA9IDA7CisgICAgcmVzdWx0
WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsK
KyAgICByZXN1bHRbMl0gPSAwOworICAgIHJlc3VsdFsyXSArPSB4WzJdWzBdICogeVswXTsKKyAg
ICByZXN1bHRbMl0gKz0geFsyXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzNdID0gMDsKKyAgICBy
ZXN1bHRbM10gKz0geFszXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzNdICs9IHhbM11bMV0gKiB5
WzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLW9wZXJhdG9yPFQ+IHZlYzM8VD4odmVjMjxU
PiB2MiwgVCB6KQotewotICAgIHZlYzM8VD4gcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdjIueDsK
LSAgICByZXN1bHQueSA9IHYyLnk7Ci0gICAgcmVzdWx0LnogPSB6OworaGFsZjMgbXVsKGhhbGY0
IHgsIGhhbGY0eDMgeSkgeworICAgIGhhbGYzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAwOwor
ICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsw
XSArPSB4WzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSAr
PSB4WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07CisgICAg
cmVzdWx0WzFdICs9IHhbMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzNdICogeVsz
XVsxXTsKKyAgICByZXN1bHRbMl0gPSAwOworICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVswXVsy
XTsKKyAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdICs9IHhb
Ml0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXSArPSB4WzNdICogeVszXVsyXTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQotCi1vcGVyYXRvcjxUPiB2ZWMzPFQ+KFQgeCwgdmVjMjxUPiB2MikKLXsK
LSAgICB2ZWMzPFQ+IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHg7Ci0gICAgcmVzdWx0LnkgPSB2
Mi54OwotICAgIHJlc3VsdC56ID0gdjIueTsKK2hhbGY0IG11bChoYWxmNHgzIHgsIGhhbGYzIHkp
IHsKKyAgICBoYWxmNCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0g
Kz0geFswXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5WzFdOworICAg
IHJlc3VsdFswXSArPSB4WzBdWzJdICogeVsyXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJl
c3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlb
MV07CisgICAgcmVzdWx0WzFdICs9IHhbMV1bMl0gKiB5WzJdOworICAgIHJlc3VsdFsyXSA9IDA7
CisgICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzJd
WzFdICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07CisgICAgcmVzdWx0
WzNdID0gMDsKKyAgICByZXN1bHRbM10gKz0geFszXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzNd
ICs9IHhbM11bMV0gKiB5WzFdOworICAgIHJlc3VsdFszXSArPSB4WzNdWzJdICogeVsyXTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotCi1ib29sIG9wZXJhdG9yPT08VDpFcXVhdGFibGU+KHZlYzM8
VD4gYSwgdmVjMzxUPiBiKQotewotICAgIHJldHVybiBhLnggPT0gYi54ICYmIGEueSA9PSBiLnkg
JiYgYS56ID09IGIuejsKK2hhbGY0IG11bChoYWxmNCB4LCBoYWxmNHg0IHkpIHsKKyAgICBoYWxm
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFswXSAr
PSB4WzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFszXSAqIHlbM11bMF07CisgICAg
cmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsyXVsx
XTsKKyAgICByZXN1bHRbMV0gKz0geFszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzJdID0gMDsK
KyAgICByZXN1bHRbMl0gKz0geFswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzJdICs9IHhbMV0g
KiB5WzFdWzJdOworICAgIHJlc3VsdFsyXSArPSB4WzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRb
Ml0gKz0geFszXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdID0gMDsKKyAgICByZXN1bHRbM10g
Kz0geFswXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzNdICs9IHhbMV0gKiB5WzFdWzNdOworICAg
IHJlc3VsdFszXSArPSB4WzJdICogeVsyXVszXTsKKyAgICByZXN1bHRbM10gKz0geFszXSAqIHlb
M11bM107CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotdGhyZWFkIFQqIG9wZXJhdG9yJltdPFQ+
KHRocmVhZCB2ZWMzPFQ+KiBmb28sIHVpbnQgaW5kZXgpCi17Ci0gICAgaWYgKGluZGV4ID09IDAp
Ci0gICAgICAgIHJldHVybiAmZm9vLT54OwotICAgIGlmIChpbmRleCA9PSAxKQotICAgICAgICBy
ZXR1cm4gJmZvby0+eTsKLSAgICBpZiAoaW5kZXggPT0gMikKLSAgICAgICAgcmV0dXJuICZmb28t
Pno7Ci0gICAgdHJhcDsKK2hhbGY0IG11bChoYWxmNHg0IHgsIGhhbGY0IHkpIHsKKyAgICBoYWxm
NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXVswXSAq
IHlbMF07CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMV0gKiB5WzFdOworICAgIHJlc3VsdFswXSAr
PSB4WzBdWzJdICogeVsyXTsKKyAgICByZXN1bHRbMF0gKz0geFswXVszXSAqIHlbM107CisgICAg
cmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFsxXVswXSAqIHlbMF07CisgICAgcmVz
dWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOworICAgIHJlc3VsdFsxXSArPSB4WzFdWzJdICogeVsy
XTsKKyAgICByZXN1bHRbMV0gKz0geFsxXVszXSAqIHlbM107CisgICAgcmVzdWx0WzJdID0gMDsK
KyAgICByZXN1bHRbMl0gKz0geFsyXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzJdICs9IHhbMl1b
MV0gKiB5WzFdOworICAgIHJlc3VsdFsyXSArPSB4WzJdWzJdICogeVsyXTsKKyAgICByZXN1bHRb
Ml0gKz0geFsyXVszXSAqIHlbM107CisgICAgcmVzdWx0WzNdID0gMDsKKyAgICByZXN1bHRbM10g
Kz0geFszXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzNdICs9IHhbM11bMV0gKiB5WzFdOworICAg
IHJlc3VsdFszXSArPSB4WzNdWzJdICogeVsyXTsKKyAgICByZXN1bHRbM10gKz0geFszXVszXSAq
IHlbM107CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotc3RydWN0IHZlYzQ8VD4gewotICAgIFQg
eDsKLSAgICBUIHk7Ci0gICAgVCB6OwotICAgIFQgdzsKK2Zsb2F0MiBtdWwoZmxvYXQyIHgsIGZs
b2F0MngyIHkpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7CisgICAg
cmVzdWx0WzBdICs9IHhbMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdICogeVsx
XVswXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVswXVsx
XTsKKyAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07CisgICAgcmV0dXJuIHJlc3VsdDsK
IH0KLQotdHlwZWRlZiBpbnQ0ID0gdmVjNDxpbnQ+OwotdHlwZWRlZiB1aW50NCA9IHZlYzQ8dWlu
dD47Ci10eXBlZGVmIGZsb2F0NCA9IHZlYzQ8ZmxvYXQ+OwotCi1vcGVyYXRvcjxUPiB2ZWM0PFQ+
KFQgeCwgVCB5LCBUIHosIFQgdykKLXsKLSAgICB2ZWM0PFQ+IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHg7Ci0gICAgcmVzdWx0LnkgPSB5OwotICAgIHJlc3VsdC56ID0gejsKLSAgICByZXN1bHQu
dyA9IHc7CitmbG9hdDIgbXVsKGZsb2F0MngyIHgsIGZsb2F0MiB5KSB7CisgICAgZmxvYXQyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF0gPSAwOworICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVsw
XTsKKyAgICByZXN1bHRbMF0gKz0geFswXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzFdID0gMDsK
KyAgICByZXN1bHRbMV0gKz0geFsxXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzFdICs9IHhbMV1b
MV0gKiB5WzFdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLW9wZXJhdG9yPFQ+IHZlYzQ8VD4o
dmVjMjxUPiB2MiwgVCB6LCBUIHcpCi17Ci0gICAgdmVjNDxUPiByZXN1bHQ7Ci0gICAgcmVzdWx0
LnggPSB2Mi54OwotICAgIHJlc3VsdC55ID0gdjIueTsKLSAgICByZXN1bHQueiA9IHo7Ci0gICAg
cmVzdWx0LncgPSB3OworZmxvYXQzIG11bChmbG9hdDIgeCwgZmxvYXQyeDMgeSkgeworICAgIGZs
b2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXSAq
IHlbMF1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsx
XSA9IDA7CisgICAgcmVzdWx0WzFdICs9IHhbMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXSAr
PSB4WzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl0gPSAwOworICAgIHJlc3VsdFsyXSArPSB4
WzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlbMV1bMl07CiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KLQotb3BlcmF0b3I8VD4gdmVjNDxUPihUIHgsIHZlYzI8VD4gdjIsIFQg
dykKLXsKLSAgICB2ZWM0PFQ+IHJlc3VsdDsKLSAgICByZXN1bHQueCA9IHg7Ci0gICAgcmVzdWx0
LnkgPSB2Mi54OwotICAgIHJlc3VsdC56ID0gdjIueTsKLSAgICByZXN1bHQudyA9IHc7CitmbG9h
dDIgbXVsKGZsb2F0MngzIHgsIGZsb2F0MyB5KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICBy
ZXN1bHRbMF0gPSAwOworICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKKyAgICByZXN1
bHRbMF0gKz0geFswXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMl0gKiB5WzJd
OworICAgIHJlc3VsdFsxXSA9IDA7CisgICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOwor
ICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXVsy
XSAqIHlbMl07CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotb3BlcmF0b3I8VD4gdmVjNDxUPihU
IHgsIFQgeSwgdmVjMjxUPiB2MikKLXsKLSAgICB2ZWM0PFQ+IHJlc3VsdDsKLSAgICByZXN1bHQu
eCA9IHg7Ci0gICAgcmVzdWx0LnkgPSB5OwotICAgIHJlc3VsdC56ID0gdjIueDsKLSAgICByZXN1
bHQudyA9IHYyLnk7CitmbG9hdDQgbXVsKGZsb2F0MiB4LCBmbG9hdDJ4NCB5KSB7CisgICAgZmxv
YXQ0IHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAwOworICAgIHJlc3VsdFswXSArPSB4WzBdICog
eVswXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFd
ID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdICs9
IHhbMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXSA9IDA7CisgICAgcmVzdWx0WzJdICs9IHhb
MF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsyXSArPSB4WzFdICogeVsxXVsyXTsKKyAgICByZXN1
bHRbM10gPSAwOworICAgIHJlc3VsdFszXSArPSB4WzBdICogeVswXVszXTsKKyAgICByZXN1bHRb
M10gKz0geFsxXSAqIHlbMV1bM107CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotb3BlcmF0b3I8
VD4gdmVjNDxUPih2ZWMyPFQ+IHYyYSwgdmVjMjxUPiB2MmIpCi17Ci0gICAgdmVjNDxUPiByZXN1
bHQ7Ci0gICAgcmVzdWx0LnggPSB2MmEueDsKLSAgICByZXN1bHQueSA9IHYyYS55OwotICAgIHJl
c3VsdC56ID0gdjJiLng7Ci0gICAgcmVzdWx0LncgPSB2MmIueTsKK2Zsb2F0MiBtdWwoZmxvYXQy
eDQgeCwgZmxvYXQ0IHkpIHsKKyAgICBmbG9hdDIgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7
CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5WzBdOworICAgIHJlc3VsdFswXSArPSB4WzBd
WzFdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0geFswXVsyXSAqIHlbMl07CisgICAgcmVzdWx0
WzBdICs9IHhbMF1bM10gKiB5WzNdOworICAgIHJlc3VsdFsxXSA9IDA7CisgICAgcmVzdWx0WzFd
ICs9IHhbMV1bMF0gKiB5WzBdOworICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKKyAg
ICByZXN1bHRbMV0gKz0geFsxXVsyXSAqIHlbMl07CisgICAgcmVzdWx0WzFdICs9IHhbMV1bM10g
KiB5WzNdOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0KLW9wZXJhdG9yPFQ+IHZlYzQ8VD4odmVj
MzxUPiB2MywgVCB3KQotewotICAgIHZlYzQ8VD4gcmVzdWx0OwotICAgIHJlc3VsdC54ID0gdjMu
eDsKLSAgICByZXN1bHQueSA9IHYzLnk7Ci0gICAgcmVzdWx0LnogPSB2My56OwotICAgIHJlc3Vs
dC53ID0gdzsKK2Zsb2F0MiBtdWwoZmxvYXQzIHgsIGZsb2F0M3gyIHkpIHsKKyAgICBmbG9hdDIg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF0gKiB5WzBd
WzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMF0gKz0g
eFsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFsw
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOworICAgIHJlc3Vs
dFsxXSArPSB4WzJdICogeVsyXVsxXTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi1vcGVyYXRv
cjxUPiB2ZWM0PFQ+KFQgeCwgdmVjMzxUPiB2MykKLXsKLSAgICB2ZWM0PFQ+IHJlc3VsdDsKLSAg
ICByZXN1bHQueCA9IHg7Ci0gICAgcmVzdWx0LnkgPSB2My54OwotICAgIHJlc3VsdC56ID0gdjMu
eTsKLSAgICByZXN1bHQudyA9IHYzLno7CitmbG9hdDMgbXVsKGZsb2F0M3gyIHgsIGZsb2F0MiB5
KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAwOworICAgIHJlc3VsdFsw
XSArPSB4WzBdWzBdICogeVswXTsKKyAgICByZXN1bHRbMF0gKz0geFswXVsxXSAqIHlbMV07Cisg
ICAgcmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRbMV0gKz0geFsxXVswXSAqIHlbMF07CisgICAg
cmVzdWx0WzFdICs9IHhbMV1bMV0gKiB5WzFdOworICAgIHJlc3VsdFsyXSA9IDA7CisgICAgcmVz
dWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzJdWzFdICogeVsx
XTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotCi1ib29sIG9wZXJhdG9yPT08VDpFcXVhdGFibGU+
KHZlYzQ8VD4gYSwgdmVjNDxUPiBiKQotewotICAgIHJldHVybiBhLnggPT0gYi54ICYmIGEueSA9
PSBiLnkgJiYgYS56ID09IGIueiAmJiBhLncgPT0gYi53OworZmxvYXQzIG11bChmbG9hdDMgeCwg
ZmxvYXQzeDMgeSkgeworICAgIGZsb2F0MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0gMDsKKyAg
ICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMV0gKiB5
WzFdWzBdOworICAgIHJlc3VsdFswXSArPSB4WzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMV0g
PSAwOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0gKz0g
eFsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzJdWzFdOworICAgIHJl
c3VsdFsyXSA9IDA7CisgICAgcmVzdWx0WzJdICs9IHhbMF0gKiB5WzBdWzJdOworICAgIHJlc3Vs
dFsyXSArPSB4WzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl0gKz0geFsyXSAqIHlbMl1bMl07
CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KLQotdGhyZWFkIFQqIG9wZXJhdG9yJltdPFQ+KHRocmVh
ZCB2ZWM0PFQ+KiBmb28sIHVpbnQgaW5kZXgpCi17Ci0gICAgaWYgKGluZGV4ID09IDApCi0gICAg
ICAgIHJldHVybiAmZm9vLT54OwotICAgIGlmIChpbmRleCA9PSAxKQotICAgICAgICByZXR1cm4g
JmZvby0+eTsKLSAgICBpZiAoaW5kZXggPT0gMikKLSAgICAgICAgcmV0dXJuICZmb28tPno7Ci0g
ICAgaWYgKGluZGV4ID09IDMpCi0gICAgICAgIHJldHVybiAmZm9vLT53OwotICAgIHRyYXA7Citm
bG9hdDMgbXVsKGZsb2F0M3gzIHgsIGZsb2F0MyB5KSB7CisgICAgZmxvYXQzIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF0gPSAwOworICAgIHJlc3VsdFswXSArPSB4WzBdWzBdICogeVswXTsKKyAgICBy
ZXN1bHRbMF0gKz0geFswXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMl0gKiB5
WzJdOworICAgIHJlc3VsdFsxXSA9IDA7CisgICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBd
OworICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsx
XVsyXSAqIHlbMl07CisgICAgcmVzdWx0WzJdID0gMDsKKyAgICByZXN1bHRbMl0gKz0geFsyXVsw
XSAqIHlbMF07CisgICAgcmVzdWx0WzJdICs9IHhbMl1bMV0gKiB5WzFdOworICAgIHJlc3VsdFsy
XSArPSB4WzJdWzJdICogeVsyXTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQotCi1uYXRpdmUgdGhy
ZWFkIFQqIG9wZXJhdG9yJltdPFQ+KHRocmVhZCBUW10sIHVpbnQpOwotbmF0aXZlIHRocmVhZGdy
b3VwIFQqIG9wZXJhdG9yJltdPFQ+KHRocmVhZGdyb3VwIFRbXSwgdWludCk7Ci1uYXRpdmUgZGV2
aWNlIFQqIG9wZXJhdG9yJltdPFQ+KGRldmljZSBUW10sIHVpbnQpOwotbmF0aXZlIGNvbnN0YW50
IFQqIG9wZXJhdG9yJltdPFQ+KGNvbnN0YW50IFRbXSwgdWludCk7Ci0KLW5hdGl2ZSB1aW50IG9w
ZXJhdG9yLmxlbmd0aDxUPih0aHJlYWQgVFtdKTsKLW5hdGl2ZSB1aW50IG9wZXJhdG9yLmxlbmd0
aDxUPih0aHJlYWRncm91cCBUW10pOwotbmF0aXZlIHVpbnQgb3BlcmF0b3IubGVuZ3RoPFQ+KGRl
dmljZSBUW10pOwotbmF0aXZlIHVpbnQgb3BlcmF0b3IubGVuZ3RoPFQ+KGNvbnN0YW50IFRbXSk7
Ci0KLXVpbnQgb3BlcmF0b3IubGVuZ3RoPFQsIHVpbnQgbGVuZ3RoPihUW2xlbmd0aF0pCi17Ci0g
ICAgcmV0dXJuIGxlbmd0aDsKK2Zsb2F0NCBtdWwoZmxvYXQzIHgsIGZsb2F0M3g0IHkpIHsKKyAg
ICBmbG9hdDQgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhb
MF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXSArPSB4WzFdICogeVsxXVswXTsKKyAgICByZXN1
bHRbMF0gKz0geFsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdID0gMDsKKyAgICByZXN1bHRb
MV0gKz0geFswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFdWzFdOwor
ICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl0gPSAwOworICAg
IHJlc3VsdFsyXSArPSB4WzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMl0gKz0geFsxXSAqIHlb
MV1bMl07CisgICAgcmVzdWx0WzJdICs9IHhbMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFszXSA9
IDA7CisgICAgcmVzdWx0WzNdICs9IHhbMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFszXSArPSB4
WzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbM10gKz0geFsyXSAqIHlbMl1bM107CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2Zsb2F0MyBtdWwoZmxvYXQzeDQgeCwgZmxvYXQ0IHkpIHsKKyAgICBm
bG9hdDMgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF1b
MF0gKiB5WzBdOworICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKKyAgICByZXN1bHRb
MF0gKz0geFswXVsyXSAqIHlbMl07CisgICAgcmVzdWx0WzBdICs9IHhbMF1bM10gKiB5WzNdOwor
ICAgIHJlc3VsdFsxXSA9IDA7CisgICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAg
IHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXVsyXSAq
IHlbMl07CisgICAgcmVzdWx0WzFdICs9IHhbMV1bM10gKiB5WzNdOworICAgIHJlc3VsdFsyXSA9
IDA7CisgICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4
WzJdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07CisgICAgcmVz
dWx0WzJdICs9IHhbMl1bM10gKiB5WzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDIg
bXVsKGZsb2F0NCB4LCBmbG9hdDR4MiB5KSB7CisgICAgZmxvYXQyIHJlc3VsdDsKKyAgICByZXN1
bHRbMF0gPSAwOworICAgIHJlc3VsdFswXSArPSB4WzBdICogeVswXVswXTsKKyAgICByZXN1bHRb
MF0gKz0geFsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdICs9IHhbMl0gKiB5WzJdWzBdOwor
ICAgIHJlc3VsdFswXSArPSB4WzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV0gPSAwOworICAg
IHJlc3VsdFsxXSArPSB4WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXSAqIHlb
MV1bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsxXSAr
PSB4WzNdICogeVszXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0IG11bChmbG9h
dDR4MiB4LCBmbG9hdDIgeSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdID0g
MDsKKyAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzBdICs9IHhb
MF1bMV0gKiB5WzFdOworICAgIHJlc3VsdFsxXSA9IDA7CisgICAgcmVzdWx0WzFdICs9IHhbMV1b
MF0gKiB5WzBdOworICAgIHJlc3VsdFsxXSArPSB4WzFdWzFdICogeVsxXTsKKyAgICByZXN1bHRb
Ml0gPSAwOworICAgIHJlc3VsdFsyXSArPSB4WzJdWzBdICogeVswXTsKKyAgICByZXN1bHRbMl0g
Kz0geFsyXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzNdID0gMDsKKyAgICByZXN1bHRbM10gKz0g
eFszXVswXSAqIHlbMF07CisgICAgcmVzdWx0WzNdICs9IHhbM11bMV0gKiB5WzFdOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitmbG9hdDMgbXVsKGZsb2F0NCB4LCBmbG9hdDR4MyB5KSB7CisgICAg
ZmxvYXQzIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAwOworICAgIHJlc3VsdFswXSArPSB4WzBd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMF0gKz0geFsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0
WzBdICs9IHhbMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFswXSArPSB4WzNdICogeVszXVswXTsK
KyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4WzBdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMV0gKz0geFsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMl0gKiB5
WzJdWzFdOworICAgIHJlc3VsdFsxXSArPSB4WzNdICogeVszXVsxXTsKKyAgICByZXN1bHRbMl0g
PSAwOworICAgIHJlc3VsdFsyXSArPSB4WzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMl0gKz0g
eFsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdICs9IHhbMl0gKiB5WzJdWzJdOworICAgIHJl
c3VsdFsyXSArPSB4WzNdICogeVszXVsyXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0
IG11bChmbG9hdDR4MyB4LCBmbG9hdDMgeSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVz
dWx0WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXVswXSAqIHlbMF07CisgICAgcmVzdWx0
WzBdICs9IHhbMF1bMV0gKiB5WzFdOworICAgIHJlc3VsdFswXSArPSB4WzBdWzJdICogeVsyXTsK
KyAgICByZXN1bHRbMV0gPSAwOworICAgIHJlc3VsdFsxXSArPSB4WzFdWzBdICogeVswXTsKKyAg
ICByZXN1bHRbMV0gKz0geFsxXVsxXSAqIHlbMV07CisgICAgcmVzdWx0WzFdICs9IHhbMV1bMl0g
KiB5WzJdOworICAgIHJlc3VsdFsyXSA9IDA7CisgICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5
WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzJdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0g
eFsyXVsyXSAqIHlbMl07CisgICAgcmVzdWx0WzNdID0gMDsKKyAgICByZXN1bHRbM10gKz0geFsz
XVswXSAqIHlbMF07CisgICAgcmVzdWx0WzNdICs9IHhbM11bMV0gKiB5WzFdOworICAgIHJlc3Vs
dFszXSArPSB4WzNdWzJdICogeVsyXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0IG11
bChmbG9hdDQgeCwgZmxvYXQ0eDQgeSkgeworICAgIGZsb2F0NCByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gMDsKKyAgICByZXN1bHRbMF0gKz0geFswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBd
ICs9IHhbMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFswXSArPSB4WzJdICogeVsyXVswXTsKKyAg
ICByZXN1bHRbMF0gKz0geFszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdID0gMDsKKyAgICBy
ZXN1bHRbMV0gKz0geFswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdICs9IHhbMV0gKiB5WzFd
WzFdOworICAgIHJlc3VsdFsxXSArPSB4WzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMV0gKz0g
eFszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzJdID0gMDsKKyAgICByZXN1bHRbMl0gKz0geFsw
XSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzJdICs9IHhbMV0gKiB5WzFdWzJdOworICAgIHJlc3Vs
dFsyXSArPSB4WzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl0gKz0geFszXSAqIHlbM11bMl07
CisgICAgcmVzdWx0WzNdID0gMDsKKyAgICByZXN1bHRbM10gKz0geFswXSAqIHlbMF1bM107Cisg
ICAgcmVzdWx0WzNdICs9IHhbMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFszXSArPSB4WzJdICog
eVsyXVszXTsKKyAgICByZXN1bHRbM10gKz0geFszXSAqIHlbM11bM107CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KK2Zsb2F0NCBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQ0IHkpIHsKKyAgICBmbG9hdDQg
cmVzdWx0OworICAgIHJlc3VsdFswXSA9IDA7CisgICAgcmVzdWx0WzBdICs9IHhbMF1bMF0gKiB5
WzBdOworICAgIHJlc3VsdFswXSArPSB4WzBdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMF0gKz0g
eFswXVsyXSAqIHlbMl07CisgICAgcmVzdWx0WzBdICs9IHhbMF1bM10gKiB5WzNdOworICAgIHJl
c3VsdFsxXSA9IDA7CisgICAgcmVzdWx0WzFdICs9IHhbMV1bMF0gKiB5WzBdOworICAgIHJlc3Vs
dFsxXSArPSB4WzFdWzFdICogeVsxXTsKKyAgICByZXN1bHRbMV0gKz0geFsxXVsyXSAqIHlbMl07
CisgICAgcmVzdWx0WzFdICs9IHhbMV1bM10gKiB5WzNdOworICAgIHJlc3VsdFsyXSA9IDA7Cisg
ICAgcmVzdWx0WzJdICs9IHhbMl1bMF0gKiB5WzBdOworICAgIHJlc3VsdFsyXSArPSB4WzJdWzFd
ICogeVsxXTsKKyAgICByZXN1bHRbMl0gKz0geFsyXVsyXSAqIHlbMl07CisgICAgcmVzdWx0WzJd
ICs9IHhbMl1bM10gKiB5WzNdOworICAgIHJlc3VsdFszXSA9IDA7CisgICAgcmVzdWx0WzNdICs9
IHhbM11bMF0gKiB5WzBdOworICAgIHJlc3VsdFszXSArPSB4WzNdWzFdICogeVsxXTsKKyAgICBy
ZXN1bHRbM10gKz0geFszXVsyXSAqIHlbMl07CisgICAgcmVzdWx0WzNdICs9IHhbM11bM10gKiB5
WzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngyIG11bChoYWxmMngyIHgsIGhhbGYy
eDIgeSkgeworICAgIGhhbGYyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAg
cmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4
WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsy
XSArPSB4WzBdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlb
MV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsw
XSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQoraGFsZjJ4MyBtdWwoaGFsZjJ4MiB4LCBoYWxmMngzIHkpIHsKKyAgICBoYWxmMngz
IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBd
WzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bMF07Cisg
ICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1b
MV07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsw
XVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzJdOworICAgIHJl
c3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSAwOwor
ICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMV1bM10g
Kz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRb
MV1bM10gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0g
KiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhb
MV1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVsyXTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjJ4NCBtdWwoaGFsZjJ4MiB4LCBoYWxmMng0IHkp
IHsKKyAgICBoYWxmMng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bNF0gPSAwOworICAgIHJlc3Vs
dFswXVs0XSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsx
XSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdWzRdID0gMDsKKyAgICByZXN1bHRbMF1bNF0gKz0g
eFswXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMV0gKiB5WzFdWzFd
OworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5
WzBdWzJdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsxXVsyXTsKKyAgICByZXN1
bHRbMF1bNF0gPSAwOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzBdICogeVswXVszXTsKKyAg
ICByZXN1bHRbMF1bNF0gKz0geFswXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzFdWzRdID0g
MDsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzFd
WzRdICs9IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVz
dWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFd
WzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bNF0gPSAwOworICAgIHJlc3VsdFsxXVs0XSAr
PSB4WzFdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsxXSAqIHlbMV1b
Ml07CisgICAgcmVzdWx0WzFdWzRdID0gMDsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVswXSAq
IHlbMF1bM107CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMV0gKiB5WzFdWzNdOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitoYWxmMngyIG11bChoYWxmMngzIHgsIGhhbGYzeDIgeSkgeworICAg
IGhhbGYyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsx
XVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4
WzBdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsy
XSArPSB4WzFdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlb
MV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3Vs
dFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0g
eFsxXVsyXSAqIHlbMl1bMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGYyeDMgbXVsKGhh
bGYyeDMgeCwgaGFsZjN4MyB5KSB7CisgICAgaGFsZjJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVz
dWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBd
WzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSAr
PSB4WzBdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsw
XVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzJdOworICAgIHJl
c3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsw
XVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10g
Kz0geFsxXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFd
WzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRb
MV1bM10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9IHhb
MV1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNd
ICs9IHhbMV1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsx
XVsyXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bMl07CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2hhbGYyeDQgbXVsKGhhbGYyeDMgeCwgaGFsZjN4NCB5KSB7CisgICAgaGFs
ZjJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzRdID0gMDsKKyAgICByZXN1bHRbMF1bNF0gKz0g
eFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMV0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMF1b
NF0gPSAwOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzBdICogeVswXVsxXTsKKyAgICByZXN1
bHRbMF1bNF0gKz0geFswXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1b
Ml0gKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9
IHhbMF1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsxXVsy
XTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBd
WzRdID0gMDsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVswXSAqIHlbMF1bM107CisgICAgcmVz
dWx0WzBdWzRdICs9IHhbMF1bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBd
WzJdICogeVsyXVszXTsKKyAgICByZXN1bHRbMV1bNF0gPSAwOworICAgIHJlc3VsdFsxXVs0XSAr
PSB4WzFdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsxXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsx
XVs0XSA9IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJl
c3VsdFsxXVs0XSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsx
XVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzFdWzRdID0gMDsKKyAgICByZXN1bHRbMV1bNF0g
Kz0geFsxXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMV0gKiB5WzFd
WzJdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRb
MV1bNF0gPSAwOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzBdICogeVswXVszXTsKKyAgICBy
ZXN1bHRbMV1bNF0gKz0geFsxXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzFdWzRdICs9IHhb
MV1bMl0gKiB5WzJdWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMngyIG11bChoYWxm
Mng0IHgsIGhhbGY0eDIgeSkgeworICAgIGhhbGYyeDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsy
XSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3Vs
dFswXVsyXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsy
XSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bM10gKiB5WzNdWzBdOworICAg
IHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1b
Ml0gKz0geFswXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bM10gKiB5
WzNdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1b
MF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFd
WzJdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMV07CisgICAgcmVz
dWx0WzFdWzJdICs9IHhbMV1bM10gKiB5WzNdWzFdOworICAgIHJldHVybiByZXN1bHQ7Cit9Cito
YWxmMngzIG11bChoYWxmMng0IHgsIGhhbGY0eDMgeSkgeworICAgIGhhbGYyeDMgcmVzdWx0Owor
ICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBd
WzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRb
MF1bM10gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10g
KiB5WzNdWzBdOworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhb
MF1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVsxXTsK
KyAgICByZXN1bHRbMF1bM10gKz0geFswXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzNd
ICs9IHhbMF1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0
WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFd
ICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVsyXSAqIHlbMl1bMl07CisgICAg
cmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFsxXVszXSA9IDA7
CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVsz
XSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlb
Ml1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzNdWzBdOworICAgIHJlc3Vs
dFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAg
IHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0g
eFsxXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzNdWzFd
OworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5
WzBdWzJdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVsyXTsKKyAgICByZXN1
bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1b
M10gKiB5WzNdWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmMng0IG11bChoYWxmMng0
IHgsIGhhbGY0eDQgeSkgeworICAgIGhhbGYyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVs0XSA9
IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsw
XVs0XSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsyXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bM10gKiB5WzNdWzBdOworICAgIHJl
c3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bNF0g
Kz0geFswXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bM10gKiB5WzNd
WzFdOworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0g
KiB5WzBdWzJdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsxXVsyXTsKKyAgICBy
ZXN1bHRbMF1bNF0gKz0geFswXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzRdICs9IHhb
MF1bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRd
ICs9IHhbMF1bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsx
XVszXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0
WzBdWzRdICs9IHhbMF1bM10gKiB5WzNdWzNdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAg
cmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVs0XSArPSB4
WzFdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVs0
XSA9IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsxXVs0XSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsy
XSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bM10gKiB5WzNdWzFdOworICAg
IHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzJd
OworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1b
NF0gKz0geFsxXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bM10gKiB5
WzNdWzJdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1b
MF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICogeVsxXVszXTsKKyAg
ICByZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzFdWzRdICs9
IHhbMV1bM10gKiB5WzNdWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gyIG11bCho
YWxmM3gyIHgsIGhhbGYyeDIgeSkgeworICAgIGhhbGYzeDIgcmVzdWx0OworICAgIHJlc3VsdFsw
XVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJl
c3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOwor
ICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRb
MV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhb
MV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsxXTsK
KyAgICByZXN1bHRbMl1bMl0gPSAwOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVsw
XVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0
WzJdWzJdID0gMDsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzFdOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitoYWxmM3gzIG11bChoYWxmM3gyIHgsIGhhbGYyeDMgeSkgeworICAgIGhhbGYzeDMgcmVzdWx0
OworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5
WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1
bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzBdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzNdID0g
MDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBd
WzNdICs9IHhbMF1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVz
dWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFd
WzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bM10gPSAwOworICAgIHJlc3VsdFsxXVszXSAr
PSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAq
IHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzJdOworICAgIHJl
c3VsdFsyXVszXSA9IDA7CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzBdOwor
ICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMl1bM10g
PSAwOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRb
Ml1bM10gKz0geFsyXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzNdID0gMDsKKyAgICBy
ZXN1bHRbMl1bM10gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzJdWzNdICs9IHhb
Ml1bMV0gKiB5WzFdWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3g0IG11bChoYWxm
M3gyIHgsIGhhbGYyeDQgeSkgeworICAgIGhhbGYzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVs0
XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3Vs
dFswXVs0XSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bNF0gPSAwOworICAg
IHJlc3VsdFswXVs0XSArPSB4WzBdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bNF0gKz0g
eFswXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzRdID0gMDsKKyAgICByZXN1bHRbMF1b
NF0gKz0geFswXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMV0gKiB5
WzFdWzJdOworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1b
MF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsxXVszXTsKKyAg
ICByZXN1bHRbMV1bNF0gPSAwOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzBdICogeVswXVsw
XTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFd
WzRdID0gMDsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzFdWzRdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7Cisg
ICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVs0XSAr
PSB4WzFdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bNF0gPSAwOworICAgIHJlc3VsdFsx
XVs0XSArPSB4WzFdWzBdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsxXSAq
IHlbMV1bM107CisgICAgcmVzdWx0WzJdWzRdID0gMDsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsy
XVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwor
ICAgIHJlc3VsdFsyXVs0XSA9IDA7CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMF0gKiB5WzBd
WzFdOworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRb
Ml1bNF0gPSAwOworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICBy
ZXN1bHRbMl1bNF0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzRdID0gMDsK
KyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVswXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzJdWzRd
ICs9IHhbMl1bMV0gKiB5WzFdWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gyIG11
bChoYWxmM3gzIHgsIGhhbGYzeDIgeSkgeworICAgIGhhbGYzeDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAg
IHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0g
eFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1b
Ml0gKz0geFswXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5
WzFdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsyXVsxXTsKKyAgICByZXN1
bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVswXTsKKyAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFd
WzJdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMV07CisgICAgcmVz
dWx0WzJdWzJdID0gMDsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAqIHlbMF1bMF07Cisg
ICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsyXVsyXSAr
PSB4WzJdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMl0gPSAwOworICAgIHJlc3VsdFsy
XVsyXSArPSB4WzJdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAq
IHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0gKiB5WzJdWzFdOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitoYWxmM3gzIG11bChoYWxmM3gzIHgsIGhhbGYzeDMgeSkgeworICAg
IGhhbGYzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNd
ICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsx
XVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVszXSArPSB4
WzBdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVsz
XSArPSB4WzBdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlb
MV1bMl07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzJdOworICAgIHJlc3Vs
dFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzBdOworICAg
IHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bM10gKz0g
eFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1b
M10gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5
WzFdWzFdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICogeVsyXVsxXTsKKyAgICByZXN1
bHRbMV1bM10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVsyXTsKKyAg
ICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzNdICs9
IHhbMV1bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAgcmVzdWx0WzJd
WzNdICs9IHhbMl1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICog
eVsxXVswXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVsyXSAqIHlbMl1bMF07CisgICAgcmVz
dWx0WzJdWzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVswXSAqIHlbMF1bMV07Cisg
ICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVszXSAr
PSB4WzJdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bM10gPSAwOworICAgIHJlc3VsdFsy
XVszXSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVsxXSAq
IHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMl0gKiB5WzJdWzJdOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CitoYWxmM3g0IG11bChoYWxmM3gzIHgsIGhhbGYzeDQgeSkgeworICAg
IGhhbGYzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRd
ICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsx
XVswXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzBdWzRdID0gMDsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVswXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzBdWzRdICs9IHhbMF1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVs0XSArPSB4
WzBdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bNF0gPSAwOworICAgIHJlc3VsdFswXVs0
XSArPSB4WzBdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsxXSAqIHlb
MV1bMl07CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMl0gKiB5WzJdWzJdOworICAgIHJlc3Vs
dFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBdWzNdOworICAg
IHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMF1bNF0gKz0g
eFswXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzFdWzRdID0gMDsKKyAgICByZXN1bHRbMV1b
NF0gKz0geFsxXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMV0gKiB5
WzFdWzBdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzJdICogeVsyXVswXTsKKyAgICByZXN1
bHRbMV1bNF0gPSAwOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMV1bNF0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzRdICs9
IHhbMV1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFd
WzRdICs9IHhbMV1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICog
eVsxXVsyXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAqIHlbMl1bMl07CisgICAgcmVz
dWx0WzFdWzRdID0gMDsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVswXSAqIHlbMF1bM107Cisg
ICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsxXVs0XSAr
PSB4WzFdWzJdICogeVsyXVszXTsKKyAgICByZXN1bHRbMl1bNF0gPSAwOworICAgIHJlc3VsdFsy
XVs0XSArPSB4WzJdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVsxXSAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMl0gKiB5WzJdWzBdOworICAgIHJl
c3VsdFsyXVs0XSA9IDA7CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bNF0g
Kz0geFsyXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzRdID0gMDsKKyAgICByZXN1bHRb
Ml1bNF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMV0g
KiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzJdICogeVsyXVsyXTsKKyAgICBy
ZXN1bHRbMl1bNF0gPSAwOworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzBdICogeVswXVszXTsK
KyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJdWzRd
ICs9IHhbMl1bMl0gKiB5WzJdWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gyIG11
bChoYWxmM3g0IHgsIGhhbGY0eDIgeSkgeworICAgIGhhbGYzeDIgcmVzdWx0OworICAgIHJlc3Vs
dFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAg
IHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0g
eFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bM10gKiB5WzNdWzBd
OworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1
bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1b
M10gKiB5WzNdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsw
XTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFd
WzJdICs9IHhbMV1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVz
dWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFd
WzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMV07Cisg
ICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9
IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsy
XVsyXSArPSB4WzJdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bM10gKiB5WzNdWzBdOworICAgIHJl
c3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMl0g
Kz0geFsyXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bM10gKiB5WzNd
WzFdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3gzIG11bChoYWxmM3g0IHgsIGhhbGY0
eDMgeSkgeworICAgIGhhbGYzeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAg
cmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4
WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVsyXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFswXVsz
XSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFswXVszXSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVsy
XSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzNdWzFdOworICAg
IHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzJd
OworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1b
M10gKz0geFswXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5
WzNdWzJdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1b
MF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9
IHhbMV1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFd
WzNdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bMV07CisgICAgcmVz
dWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFsxXVszXSA9IDA7Cisg
ICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVszXSAr
PSB4WzFdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1b
Ml07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFsy
XVszXSA9IDA7CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzBdOworICAgIHJl
c3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsy
XVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bM10gKiB5WzNdWzBdOwor
ICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBd
WzFdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRb
Ml1bM10gKz0geFsyXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bM10g
KiB5WzNdWzFdOworICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAgcmVzdWx0WzJdWzNdICs9IHhb
Ml1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVsyXTsK
KyAgICByZXN1bHRbMl1bM10gKz0geFsyXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzNd
ICs9IHhbMl1bM10gKiB5WzNdWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmM3g0IG11
bChoYWxmM3g0IHgsIGhhbGY0eDQgeSkgeworICAgIGhhbGYzeDQgcmVzdWx0OworICAgIHJlc3Vs
dFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAg
IHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bNF0gKz0g
eFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bM10gKiB5WzNdWzBd
OworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1
bHRbMF1bNF0gKz0geFswXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1b
M10gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9
IHhbMF1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsxXVsy
XTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBd
WzRdICs9IHhbMF1bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVz
dWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBd
WzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsyXSAqIHlbMl1bM107Cisg
ICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bM10gKiB5WzNdWzNdOworICAgIHJlc3VsdFsxXVs0XSA9
IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsx
XVs0XSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bM10gKiB5WzNdWzBdOworICAgIHJl
c3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bNF0g
Kz0geFsxXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bM10gKiB5WzNd
WzFdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0g
KiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICogeVsxXVsyXTsKKyAgICBy
ZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzFdWzRdICs9IHhb
MV1bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFdWzRd
ICs9IHhbMV1bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICogeVsx
XVszXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0
WzFdWzRdICs9IHhbMV1bM10gKiB5WzNdWzNdOworICAgIHJlc3VsdFsyXVs0XSA9IDA7CisgICAg
cmVzdWx0WzJdWzRdICs9IHhbMl1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsyXVs0XSArPSB4
WzJdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVsyXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsyXVs0
XSA9IDA7CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsyXVs0XSArPSB4WzJdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVsy
XSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bM10gKiB5WzNdWzFdOworICAg
IHJlc3VsdFsyXVs0XSA9IDA7CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMF0gKiB5WzBdWzJd
OworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1b
NF0gKz0geFsyXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bM10gKiB5
WzNdWzJdOworICAgIHJlc3VsdFsyXVs0XSA9IDA7CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1b
MF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzFdICogeVsxXVszXTsKKyAg
ICByZXN1bHRbMl1bNF0gKz0geFsyXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzJdWzRdICs9
IHhbMl1bM10gKiB5WzNdWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHgyIG11bCho
YWxmNHgyIHgsIGhhbGYyeDIgeSkgeworICAgIGhhbGY0eDIgcmVzdWx0OworICAgIHJlc3VsdFsw
XVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJl
c3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOwor
ICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gMDsKKyAgICByZXN1bHRb
MV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMV0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhb
MV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVsxXTsK
KyAgICByZXN1bHRbMl1bMl0gPSAwOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVsw
XVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0
WzJdWzJdID0gMDsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFszXVsyXSA9IDA7
CisgICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFszXVsy
XSArPSB4WzNdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbM11bMl0gPSAwOworICAgIHJlc3Vs
dFszXVsyXSArPSB4WzNdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbM11bMl0gKz0geFszXVsx
XSAqIHlbMV1bMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDMgbXVsKGhhbGY0eDIg
eCwgaGFsZjJ4MyB5KSB7CisgICAgaGFsZjR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzNdID0g
MDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBd
WzNdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVz
dWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBd
WzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSAr
PSB4WzBdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1b
Ml07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAq
IHlbMF1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJl
c3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10g
PSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRb
MV1bM10gKz0geFsxXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzNdID0gMDsKKyAgICBy
ZXN1bHRbMl1bM10gKz0geFsyXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzJdWzNdICs9IHhb
Ml1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAgcmVzdWx0WzJdWzNd
ICs9IHhbMl1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMl1bM10gPSAwOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzBd
ICogeVswXVsyXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAg
cmVzdWx0WzNdWzNdID0gMDsKKyAgICByZXN1bHRbM11bM10gKz0geFszXVswXSAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFszXVsz
XSA9IDA7CisgICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFszXVszXSArPSB4WzNdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbM11bM10gPSAwOworICAg
IHJlc3VsdFszXVszXSArPSB4WzNdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbM11bM10gKz0g
eFszXVsxXSAqIHlbMV1bMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2hhbGY0eDQgbXVsKGhh
bGY0eDIgeCwgaGFsZjJ4NCB5KSB7CisgICAgaGFsZjR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBd
WzRdID0gMDsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVz
dWx0WzBdWzRdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFswXVs0XSA9IDA7Cisg
ICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVs0XSAr
PSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bNF0gPSAwOworICAgIHJlc3VsdFsw
XVs0XSArPSB4WzBdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsxXSAq
IHlbMV1bMl07CisgICAgcmVzdWx0WzBdWzRdID0gMDsKKyAgICByZXN1bHRbMF1bNF0gKz0geFsw
XVswXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMV0gKiB5WzFdWzNdOwor
ICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBd
WzBdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRb
MV1bNF0gPSAwOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMV1bNF0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzRdID0gMDsK
KyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzRd
ICs9IHhbMV1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0
WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFd
ICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bNF0gPSAwOworICAgIHJlc3VsdFsyXVs0XSArPSB4
WzJdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVsxXSAqIHlbMV1bMF07
CisgICAgcmVzdWx0WzJdWzRdID0gMDsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVswXSAqIHlb
MF1bMV07CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMV0gKiB5WzFdWzFdOworICAgIHJlc3Vs
dFsyXVs0XSA9IDA7CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAg
IHJlc3VsdFsyXVs0XSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bNF0gPSAw
OworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzBdICogeVswXVszXTsKKyAgICByZXN1bHRbMl1b
NF0gKz0geFsyXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzNdWzRdID0gMDsKKyAgICByZXN1
bHRbM11bNF0gKz0geFszXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzNdWzRdICs9IHhbM11b
MV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFszXVs0XSA9IDA7CisgICAgcmVzdWx0WzNdWzRdICs9
IHhbM11bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFszXVs0XSArPSB4WzNdWzFdICogeVsxXVsx
XTsKKyAgICByZXN1bHRbM11bNF0gPSAwOworICAgIHJlc3VsdFszXVs0XSArPSB4WzNdWzBdICog
eVswXVsyXTsKKyAgICByZXN1bHRbM11bNF0gKz0geFszXVsxXSAqIHlbMV1bMl07CisgICAgcmVz
dWx0WzNdWzRdID0gMDsKKyAgICByZXN1bHRbM11bNF0gKz0geFszXVswXSAqIHlbMF1bM107Cisg
ICAgcmVzdWx0WzNdWzRdICs9IHhbM11bMV0gKiB5WzFdWzNdOworICAgIHJldHVybiByZXN1bHQ7
Cit9CitoYWxmNHgyIG11bChoYWxmNHgzIHgsIGhhbGYzeDIgeSkgeworICAgIGhhbGY0eDIgcmVz
dWx0OworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0g
KiB5WzBdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICBy
ZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzBdWzJdID0gMDsK
KyAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJd
ICs9IHhbMF1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzJdICogeVsy
XVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAg
cmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7
CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsy
XSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlb
Ml1bMV07CisgICAgcmVzdWx0WzJdWzJdID0gMDsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsw
XSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzBdOworICAg
IHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bMl0gPSAw
OworICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMl1b
Ml0gKz0geFsyXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0gKiB5
WzJdWzFdOworICAgIHJlc3VsdFszXVsyXSA9IDA7CisgICAgcmVzdWx0WzNdWzJdICs9IHhbM11b
MF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzFdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbM11bMl0gKz0geFszXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzNdWzJdID0g
MDsKKyAgICByZXN1bHRbM11bMl0gKz0geFszXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzNd
WzJdICs9IHhbM11bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzJdICog
eVsyXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQoraGFsZjR4MyBtdWwoaGFsZjR4MyB4LCBo
YWxmM3gzIHkpIHsKKyAgICBoYWxmNHgzIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bM10gPSAwOwor
ICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bM10g
Kz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJd
WzBdOworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMF1bM10gKz0geFswXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzNdID0gMDsK
KyAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzNd
ICs9IHhbMF1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzJdICogeVsy
XVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAg
cmVzdWx0WzFdWzNdICs9IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVszXSA9IDA7
CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsz
XSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlb
Ml1bMV07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVsw
XSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzJdOworICAg
IHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMl1bM10gPSAw
OworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMl1b
M10gKz0geFsyXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMl0gKiB5
WzJdWzBdOworICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1b
MF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVsxXTsKKyAg
ICByZXN1bHRbMl1bM10gKz0geFsyXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzNdID0g
MDsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzJd
WzNdICs9IHhbMl1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzJdICog
eVsyXVsyXTsKKyAgICByZXN1bHRbM11bM10gPSAwOworICAgIHJlc3VsdFszXVszXSArPSB4WzNd
WzBdICogeVswXVswXTsKKyAgICByZXN1bHRbM11bM10gKz0geFszXVsxXSAqIHlbMV1bMF07Cisg
ICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFszXVszXSA9
IDA7CisgICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsz
XVszXSArPSB4WzNdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbM11bM10gKz0geFszXVsyXSAq
IHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzNdID0gMDsKKyAgICByZXN1bHRbM11bM10gKz0geFsz
XVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMV0gKiB5WzFdWzJdOwor
ICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzJdICogeVsyXVsyXTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQoraGFsZjR4NCBtdWwoaGFsZjR4MyB4LCBoYWxmM3g0IHkpIHsKKyAgICBoYWxmNHg0IHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bNF0gPSAwOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzBd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAg
cmVzdWx0WzBdWzRdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFswXVs0XSA9IDA7
CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVs0
XSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsyXSAqIHlb
Ml1bMV07CisgICAgcmVzdWx0WzBdWzRdID0gMDsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsw
XSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMV0gKiB5WzFdWzJdOworICAg
IHJlc3VsdFswXVs0XSArPSB4WzBdWzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bNF0gPSAw
OworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzBdICogeVswXVszXTsKKyAgICByZXN1bHRbMF1b
NF0gKz0geFswXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMl0gKiB5
WzJdWzNdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1b
MF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzRdID0g
MDsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFd
WzRdICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzJdICog
eVsyXVsxXTsKKyAgICByZXN1bHRbMV1bNF0gPSAwOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFd
WzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsxXSAqIHlbMV1bMl07Cisg
ICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsxXVs0XSA9
IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsx
XVs0XSArPSB4WzFdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAq
IHlbMl1bM107CisgICAgcmVzdWx0WzJdWzRdID0gMDsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsy
XVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMV0gKiB5WzFdWzBdOwor
ICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bNF0g
PSAwOworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRb
Ml1bNF0gKz0geFsyXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMl0g
KiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVs0XSA9IDA7CisgICAgcmVzdWx0WzJdWzRdICs9IHhb
Ml1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzFdICogeVsxXVsyXTsK
KyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzRd
ID0gMDsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVswXSAqIHlbMF1bM107CisgICAgcmVzdWx0
WzJdWzRdICs9IHhbMl1bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzJd
ICogeVsyXVszXTsKKyAgICByZXN1bHRbM11bNF0gPSAwOworICAgIHJlc3VsdFszXVs0XSArPSB4
WzNdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbM11bNF0gKz0geFszXVsxXSAqIHlbMV1bMF07
CisgICAgcmVzdWx0WzNdWzRdICs9IHhbM11bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFszXVs0
XSA9IDA7CisgICAgcmVzdWx0WzNdWzRdICs9IHhbM11bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFszXVs0XSArPSB4WzNdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbM11bNF0gKz0geFszXVsy
XSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzRdID0gMDsKKyAgICByZXN1bHRbM11bNF0gKz0g
eFszXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzNdWzRdICs9IHhbM11bMV0gKiB5WzFdWzJd
OworICAgIHJlc3VsdFszXVs0XSArPSB4WzNdWzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbM11b
NF0gPSAwOworICAgIHJlc3VsdFszXVs0XSArPSB4WzNdWzBdICogeVswXVszXTsKKyAgICByZXN1
bHRbM11bNF0gKz0geFszXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzNdWzRdICs9IHhbM11b
Ml0gKiB5WzJdWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHgyIG11bChoYWxmNHg0
IHgsIGhhbGY0eDIgeSkgeworICAgIGhhbGY0eDIgcmVzdWx0OworICAgIHJlc3VsdFswXVsyXSA9
IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsw
XVsyXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bM10gKiB5WzNdWzBdOworICAgIHJl
c3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bM10gKiB5WzNd
WzFdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0g
KiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAgICBy
ZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhb
MV1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0
WzFdWzJdICs9IHhbMV1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAg
cmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4
WzJdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAqIHlbMl1bMF07
CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsyXVsy
XSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsy
XSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bM10gKiB5WzNdWzFdOworICAg
IHJlc3VsdFszXVsyXSA9IDA7CisgICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMF0gKiB5WzBdWzBd
OworICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbM11b
Ml0gKz0geFszXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbM11bM10gKiB5
WzNdWzBdOworICAgIHJlc3VsdFszXVsyXSA9IDA7CisgICAgcmVzdWx0WzNdWzJdICs9IHhbM11b
MF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzFdICogeVsxXVsxXTsKKyAg
ICByZXN1bHRbM11bMl0gKz0geFszXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzJdICs9
IHhbM11bM10gKiB5WzNdWzFdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHgzIG11bCho
YWxmNHg0IHgsIGhhbGY0eDMgeSkgeworICAgIGhhbGY0eDMgcmVzdWx0OworICAgIHJlc3VsdFsw
XVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJl
c3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFsw
XVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10gKiB5WzNdWzBdOwor
ICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBd
WzFdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRb
MF1bM10gKz0geFswXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bM10g
KiB5WzNdWzFdOworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhb
MF1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVsyXTsK
KyAgICByZXN1bHRbMF1bM10gKz0geFswXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzNd
ICs9IHhbMF1bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0
WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFd
ICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bMF07CisgICAg
cmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVszXSA9IDA7
CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVsz
XSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlb
Ml1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzNdWzFdOworICAgIHJlc3Vs
dFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzJdOworICAg
IHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gKz0g
eFsxXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bM10gKiB5WzNdWzJd
OworICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5
WzBdWzBdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVswXTsKKyAgICByZXN1
bHRbMl1bM10gKz0geFsyXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1b
M10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAgcmVzdWx0WzJdWzNdICs9
IHhbMl1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVsx
XTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJd
WzNdICs9IHhbMl1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAgcmVz
dWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJd
WzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVsyXSAqIHlbMl1bMl07Cisg
ICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFszXVszXSA9
IDA7CisgICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsz
XVszXSArPSB4WzNdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbM11bM10gKz0geFszXVsyXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbM11bM10gKiB5WzNdWzBdOworICAgIHJl
c3VsdFszXVszXSA9IDA7CisgICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMF0gKiB5WzBdWzFdOwor
ICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbM11bM10g
Kz0geFszXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbM11bM10gKiB5WzNd
WzFdOworICAgIHJlc3VsdFszXVszXSA9IDA7CisgICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMF0g
KiB5WzBdWzJdOworICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzFdICogeVsxXVsyXTsKKyAgICBy
ZXN1bHRbM11bM10gKz0geFszXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzNdWzNdICs9IHhb
M11bM10gKiB5WzNdWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitoYWxmNHg0IG11bChoYWxm
NHg0IHgsIGhhbGY0eDQgeSkgeworICAgIGhhbGY0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVs0
XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3Vs
dFswXVs0XSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsy
XSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bM10gKiB5WzNdWzBdOworICAg
IHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1b
NF0gKz0geFswXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bM10gKiB5
WzNdWzFdOworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1b
MF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsxXVsyXTsKKyAg
ICByZXN1bHRbMF1bNF0gKz0geFswXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzRdICs9
IHhbMF1bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBd
WzRdICs9IHhbMF1bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICog
eVsxXVszXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsyXSAqIHlbMl1bM107CisgICAgcmVz
dWx0WzBdWzRdICs9IHhbMF1bM10gKiB5WzNdWzNdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7Cisg
ICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVs0XSAr
PSB4WzFdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAqIHlbMl1b
MF07CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsx
XVs0XSA9IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJl
c3VsdFsxXVs0XSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsx
XVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bM10gKiB5WzNdWzFdOwor
ICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBd
WzJdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRb
MV1bNF0gKz0geFsxXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bM10g
KiB5WzNdWzJdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhb
MV1bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICogeVsxXVszXTsK
KyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzFdWzRd
ICs9IHhbMV1bM10gKiB5WzNdWzNdOworICAgIHJlc3VsdFsyXVs0XSA9IDA7CisgICAgcmVzdWx0
WzJdWzRdICs9IHhbMl1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzFd
ICogeVsxXVswXTsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVsyXSAqIHlbMl1bMF07CisgICAg
cmVzdWx0WzJdWzRdICs9IHhbMl1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsyXVs0XSA9IDA7
CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsyXVs0
XSArPSB4WzJdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVsyXSAqIHlb
Ml1bMV07CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bM10gKiB5WzNdWzFdOworICAgIHJlc3Vs
dFsyXVs0XSA9IDA7CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAg
IHJlc3VsdFsyXVs0XSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bNF0gKz0g
eFsyXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bM10gKiB5WzNdWzJd
OworICAgIHJlc3VsdFsyXVs0XSA9IDA7CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMF0gKiB5
WzBdWzNdOworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzFdICogeVsxXVszXTsKKyAgICByZXN1
bHRbMl1bNF0gKz0geFsyXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1b
M10gKiB5WzNdWzNdOworICAgIHJlc3VsdFszXVs0XSA9IDA7CisgICAgcmVzdWx0WzNdWzRdICs9
IHhbM11bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFszXVs0XSArPSB4WzNdWzFdICogeVsxXVsw
XTsKKyAgICByZXN1bHRbM11bNF0gKz0geFszXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzNd
WzRdICs9IHhbM11bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVs0XSA9IDA7CisgICAgcmVz
dWx0WzNdWzRdICs9IHhbM11bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFszXVs0XSArPSB4WzNd
WzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbM11bNF0gKz0geFszXVsyXSAqIHlbMl1bMV07Cisg
ICAgcmVzdWx0WzNdWzRdICs9IHhbM11bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVs0XSA9
IDA7CisgICAgcmVzdWx0WzNdWzRdICs9IHhbM11bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsz
XVs0XSArPSB4WzNdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbM11bNF0gKz0geFszXVsyXSAq
IHlbMl1bMl07CisgICAgcmVzdWx0WzNdWzRdICs9IHhbM11bM10gKiB5WzNdWzJdOworICAgIHJl
c3VsdFszXVs0XSA9IDA7CisgICAgcmVzdWx0WzNdWzRdICs9IHhbM11bMF0gKiB5WzBdWzNdOwor
ICAgIHJlc3VsdFszXVs0XSArPSB4WzNdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbM11bNF0g
Kz0geFszXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzNdWzRdICs9IHhbM11bM10gKiB5WzNd
WzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiBtdWwoZmxvYXQyeDIgeCwgZmxv
YXQyeDIgeSkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMl0gPSAwOwor
ICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRb
MF1bMl0gKz0geFswXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0g
KiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhb
MV1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVswXTsK
KyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2Zsb2F0MngzIG11bChmbG9hdDJ4MiB4LCBmbG9hdDJ4MyB5KSB7CisgICAg
ZmxvYXQyeDMgcmVzdWx0OworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNd
ICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsx
XVswXTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzBd
ICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bMV07CisgICAg
cmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bMl07
CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVsz
XSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzBdOworICAgIHJlc3Vs
dFsxXVszXSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bM10gPSAwOworICAg
IHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0g
eFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1b
M10gKz0geFsxXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5
WzFdWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4NCBtdWwoZmxvYXQyeDIgeCwg
ZmxvYXQyeDQgeSkgeworICAgIGZsb2F0Mng0IHJlc3VsdDsKKyAgICByZXN1bHRbMF1bNF0gPSAw
OworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1b
NF0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdWzRdID0gMDsKKyAgICByZXN1
bHRbMF1bNF0gKz0geFswXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1b
MV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9
IHhbMF1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsxXVsy
XTsKKyAgICByZXN1bHRbMF1bNF0gPSAwOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzBdICog
eVswXVszXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsxXSAqIHlbMV1bM107CisgICAgcmVz
dWx0WzFdWzRdID0gMDsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVswXSAqIHlbMF1bMF07Cisg
ICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVs0XSA9
IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsx
XVs0XSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bNF0gPSAwOworICAgIHJl
c3VsdFsxXVs0XSArPSB4WzFdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsx
XVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzRdID0gMDsKKyAgICByZXN1bHRbMV1bNF0g
Kz0geFsxXVswXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMV0gKiB5WzFd
WzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDJ4MiBtdWwoZmxvYXQyeDMgeCwgZmxv
YXQzeDIgeSkgeworICAgIGZsb2F0MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMl0gPSAwOwor
ICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJd
WzBdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMF0g
KiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICBy
ZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzFdWzJdID0gMDsK
KyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzFdWzJd
ICs9IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICogeVsy
XVswXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBd
ICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAg
cmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDJ4MyBtdWwoZmxvYXQyeDMgeCwgZmxvYXQzeDMgeSkgeworICAgIGZsb2F0MngzIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzBd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAg
cmVzdWx0WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFswXVszXSA9IDA7
CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsz
XSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVsyXSAqIHlb
Ml1bMV07CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVsw
XSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzJdOworICAg
IHJlc3VsdFswXVszXSArPSB4WzBdWzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSAw
OworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMV1b
M10gKz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMl0gKiB5
WzJdWzBdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1b
MF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAg
ICByZXN1bHRbMV1bM10gKz0geFsxXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzFdWzNdID0g
MDsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFd
WzNdICs9IHhbMV1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICog
eVsyXVsyXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDQgbXVsKGZsb2F0MngzIHgs
IGZsb2F0M3g0IHkpIHsKKyAgICBmbG9hdDJ4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzRdID0g
MDsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBd
WzRdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzJdICog
eVsyXVswXTsKKyAgICByZXN1bHRbMF1bNF0gPSAwOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBd
WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsxXSAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVs0XSA9
IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsw
XVs0XSArPSB4WzBdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsyXSAq
IHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzRdID0gMDsKKyAgICByZXN1bHRbMF1bNF0gKz0geFsw
XVswXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMV0gKiB5WzFdWzNdOwor
ICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzJdICogeVsyXVszXTsKKyAgICByZXN1bHRbMV1bNF0g
PSAwOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRb
MV1bNF0gKz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMl0g
KiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhb
MV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICogeVsxXVsxXTsK
KyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzFdWzRd
ID0gMDsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0
WzFdWzRdICs9IHhbMV1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzJd
ICogeVsyXVsyXTsKKyAgICByZXN1bHRbMV1bNF0gPSAwOworICAgIHJlc3VsdFsxXVs0XSArPSB4
WzFdWzBdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsxXSAqIHlbMV1bM107
CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMl0gKiB5WzJdWzNdOworICAgIHJldHVybiByZXN1
bHQ7Cit9CitmbG9hdDJ4MiBtdWwoZmxvYXQyeDQgeCwgZmxvYXQ0eDIgeSkgeworICAgIGZsb2F0
MngyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4
WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMF07
CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFswXVsy
XSArPSB4WzBdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3Vs
dFswXVsyXSArPSB4WzBdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsx
XSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzFdOworICAg
IHJlc3VsdFswXVsyXSArPSB4WzBdWzNdICogeVszXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSAw
OworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMV1b
Ml0gKz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5
WzJdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzNdICogeVszXVswXTsKKyAgICByZXN1
bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzNdICogeVszXVsx
XTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQyeDMgbXVsKGZsb2F0Mng0IHgsIGZsb2F0
NHgzIHkpIHsKKyAgICBmbG9hdDJ4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAg
ICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9
IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzJdICogeVsyXVsw
XTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzBd
WzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBd
WzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlbM11bMV07Cisg
ICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1b
Ml07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsw
XVszXSArPSB4WzBdWzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAq
IHlbM11bMl07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0geFsx
XVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzBdOwor
ICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMV1bM10g
Kz0geFsxXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRb
MV1bM10gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0g
KiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICogeVsyXVsxXTsKKyAgICBy
ZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzFdWzNdID0gMDsK
KyAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzNd
ICs9IHhbMV1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICogeVsy
XVsyXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbM11bMl07CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK2Zsb2F0Mng0IG11bChmbG9hdDJ4NCB4LCBmbG9hdDR4NCB5KSB7CisgICAg
ZmxvYXQyeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRd
ICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsx
XVswXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzBdWzRdICs9IHhbMF1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAg
cmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVs0XSArPSB4
WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsyXSAqIHlbMl1bMV07
CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVs0
XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBdWzJdOworICAgIHJlc3Vs
dFswXVs0XSArPSB4WzBdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsy
XSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bM10gKiB5WzNdWzJdOworICAg
IHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBdWzNd
OworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMF1b
NF0gKz0geFswXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bM10gKiB5
WzNdWzNdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1b
MF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzRdICs9
IHhbMV1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFd
WzRdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAqIHlbMl1bMV07CisgICAgcmVz
dWx0WzFdWzRdICs9IHhbMV1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7Cisg
ICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVs0XSAr
PSB4WzFdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAqIHlbMl1b
Ml07CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFsx
XVs0XSA9IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzNdOworICAgIHJl
c3VsdFsxXVs0XSArPSB4WzFdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsx
XVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bM10gKiB5WzNdWzNdOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiBtdWwoZmxvYXQzeDIgeCwgZmxvYXQyeDIg
eSkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJl
c3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFsw
XVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0g
Kz0geFswXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFd
WzFdOworICAgIHJlc3VsdFsxXVsyXSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0g
KiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAgICBy
ZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsxXTsK
KyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzJd
ID0gMDsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0
WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAg
cmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsyXVsyXSArPSB4
WzJdWzFdICogeVsxXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDMgbXVsKGZs
b2F0M3gyIHgsIGZsb2F0MngzIHkpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAg
cmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFswXVszXSA9IDA7
CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsz
XSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3Vs
dFswXVszXSArPSB4WzBdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVsx
XSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0g
eFsxXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1
bHRbMV1bM10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVsyXTsKKyAg
ICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzNdID0g
MDsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzJd
WzNdICs9IHhbMl1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAgcmVz
dWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJd
WzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bM10gPSAwOworICAgIHJlc3VsdFsyXVszXSAr
PSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVsxXSAqIHlbMV1b
Ml07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3g0IG11bChmbG9hdDN4MiB4LCBmbG9h
dDJ4NCB5KSB7CisgICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVs0XSA9IDA7Cisg
ICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVs0XSAr
PSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bNF0gPSAwOworICAgIHJlc3VsdFsw
XVs0XSArPSB4WzBdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsxXSAq
IHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzRdID0gMDsKKyAgICByZXN1bHRbMF1bNF0gKz0geFsw
XVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMV0gKiB5WzFdWzJdOwor
ICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBd
WzNdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRb
MV1bNF0gPSAwOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzBdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMV1bNF0gKz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzRdID0gMDsK
KyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzRd
ICs9IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0
WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFd
ICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bNF0gPSAwOworICAgIHJlc3VsdFsxXVs0XSArPSB4
WzFdWzBdICogeVswXVszXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsxXSAqIHlbMV1bM107
CisgICAgcmVzdWx0WzJdWzRdID0gMDsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVswXSAqIHlb
MF1bMF07CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMV0gKiB5WzFdWzBdOworICAgIHJlc3Vs
dFsyXVs0XSA9IDA7CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMF0gKiB5WzBdWzFdOworICAg
IHJlc3VsdFsyXVs0XSArPSB4WzJdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bNF0gPSAw
OworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMl1b
NF0gKz0geFsyXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzJdWzRdID0gMDsKKyAgICByZXN1
bHRbMl1bNF0gKz0geFsyXVswXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1b
MV0gKiB5WzFdWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4MiBtdWwoZmxvYXQz
eDMgeCwgZmxvYXQzeDIgeSkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1b
Ml0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1
bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1b
Ml0gKiB5WzJdWzBdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9
IHhbMF1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsx
XTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzFd
WzJdID0gMDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMF07CisgICAgcmVz
dWx0WzFdWzJdICs9IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFd
WzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSAr
PSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsy
XVsyXSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzBdOworICAgIHJl
c3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsy
XVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdID0gMDsKKyAgICByZXN1bHRbMl1bMl0g
Kz0geFsyXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFd
WzFdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsxXTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorZmxvYXQzeDMgbXVsKGZsb2F0M3gzIHgsIGZsb2F0M3gzIHkpIHsKKyAgICBm
bG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10g
Kz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFd
WzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRb
MF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzBdICogeVswXVsxXTsKKyAgICBy
ZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzNdICs9IHhb
MF1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNd
ICs9IHhbMF1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsx
XVsyXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0
WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bMF07CisgICAg
cmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4
WzFdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMV1bM10gPSAwOworICAgIHJlc3VsdFsxXVsz
XSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVsxXSAqIHlb
MV1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMl0gKiB5WzJdWzFdOworICAgIHJlc3Vs
dFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzJdOworICAg
IHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gKz0g
eFsxXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzNdID0gMDsKKyAgICByZXN1bHRbMl1b
M10gKz0geFsyXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMV0gKiB5
WzFdWzBdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzJdICogeVsyXVswXTsKKyAgICByZXN1
bHRbMl1bM10gPSAwOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzBdICogeVswXVsxXTsKKyAg
ICByZXN1bHRbMl1bM10gKz0geFsyXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzNdICs9
IHhbMl1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAgcmVzdWx0WzJd
WzNdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICog
eVsxXVsyXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVsyXSAqIHlbMl1bMl07CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KK2Zsb2F0M3g0IG11bChmbG9hdDN4MyB4LCBmbG9hdDN4NCB5KSB7Cisg
ICAgZmxvYXQzeDQgcmVzdWx0OworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBd
WzRdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICog
eVsxXVswXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVz
dWx0WzBdWzRdID0gMDsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVswXSAqIHlbMF1bMV07Cisg
ICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVs0XSAr
PSB4WzBdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bNF0gPSAwOworICAgIHJlc3VsdFsw
XVs0XSArPSB4WzBdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsxXSAq
IHlbMV1bMl07CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMl0gKiB5WzJdWzJdOworICAgIHJl
c3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBdWzNdOwor
ICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMF1bNF0g
Kz0geFswXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzFdWzRdID0gMDsKKyAgICByZXN1bHRb
MV1bNF0gKz0geFsxXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMV0g
KiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzJdICogeVsyXVswXTsKKyAgICBy
ZXN1bHRbMV1bNF0gPSAwOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzBdICogeVswXVsxXTsK
KyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzRd
ICs9IHhbMV1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0
WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFd
ICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAqIHlbMl1bMl07CisgICAg
cmVzdWx0WzFdWzRdID0gMDsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVswXSAqIHlbMF1bM107
CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsxXVs0
XSArPSB4WzFdWzJdICogeVsyXVszXTsKKyAgICByZXN1bHRbMl1bNF0gPSAwOworICAgIHJlc3Vs
dFsyXVs0XSArPSB4WzJdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVsx
XSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMl0gKiB5WzJdWzBdOworICAg
IHJlc3VsdFsyXVs0XSA9IDA7CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMF0gKiB5WzBdWzFd
OworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1b
NF0gKz0geFsyXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzRdID0gMDsKKyAgICByZXN1
bHRbMl1bNF0gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1b
MV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzJdICogeVsyXVsyXTsKKyAg
ICByZXN1bHRbMl1bNF0gPSAwOworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzBdICogeVswXVsz
XTsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVsxXSAqIHlbMV1bM107CisgICAgcmVzdWx0WzJd
WzRdICs9IHhbMl1bMl0gKiB5WzJdWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDN4
MiBtdWwoZmxvYXQzeDQgeCwgZmxvYXQ0eDIgeSkgeworICAgIGZsb2F0M3gyIHJlc3VsdDsKKyAg
ICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsw
XTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBd
WzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzNdICog
eVszXVswXTsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBd
WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFswXVsyXSAr
PSB4WzBdWzNdICogeVszXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsx
XVsyXSArPSB4WzFdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAq
IHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJl
c3VsdFsxXVsyXSArPSB4WzFdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOwor
ICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMl0g
Kz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJd
WzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzNdICogeVszXVsxXTsKKyAgICByZXN1bHRb
Ml1bMl0gPSAwOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhb
Ml1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzNdICogeVszXVswXTsK
KyAgICByZXN1bHRbMl1bMl0gPSAwOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVsw
XVsxXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0
WzJdWzJdICs9IHhbMl1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzNd
ICogeVszXVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQzeDMgbXVsKGZsb2F0M3g0
IHgsIGZsb2F0NHgzIHkpIHsKKyAgICBmbG9hdDN4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzNd
ID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0
WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzJd
ICogeVsyXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlbM11bMF07CisgICAg
cmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVsz
XSArPSB4WzBdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlb
M11bMV07CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVsw
XSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzJdOworICAg
IHJlc3VsdFswXVszXSArPSB4WzBdWzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bM10gKz0g
eFswXVszXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1b
M10gKz0geFsxXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5
WzFdWzBdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICogeVsyXVswXTsKKyAgICByZXN1
bHRbMV1bM10gKz0geFsxXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAg
ICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9
IHhbMV1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICogeVsyXVsx
XTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzFd
WzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bMl07CisgICAgcmVz
dWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFd
WzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbM11bMl07Cisg
ICAgcmVzdWx0WzJdWzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVswXSAqIHlbMF1b
MF07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsy
XVszXSArPSB4WzJdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVszXSAq
IHlbM11bMF07CisgICAgcmVzdWx0WzJdWzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFsy
XVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwor
ICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bM10g
Kz0geFsyXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzJdWzNdID0gMDsKKyAgICByZXN1bHRb
Ml1bM10gKz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMV0g
KiB5WzFdWzJdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzJdICogeVsyXVsyXTsKKyAgICBy
ZXN1bHRbMl1bM10gKz0geFsyXVszXSAqIHlbM11bMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
K2Zsb2F0M3g0IG11bChmbG9hdDN4NCB4LCBmbG9hdDR4NCB5KSB7CisgICAgZmxvYXQzeDQgcmVz
dWx0OworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0g
KiB5WzBdWzBdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICBy
ZXN1bHRbMF1bNF0gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzBdWzRdICs9IHhb
MF1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRd
ICs9IHhbMF1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0
WzBdWzRdICs9IHhbMF1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAg
cmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFswXVs0XSArPSB4
WzBdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsyXSAqIHlbMl1bMl07
CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVs0
XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBdWzNdOworICAgIHJlc3Vs
dFswXVs0XSArPSB4WzBdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsy
XSAqIHlbMl1bM107CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bM10gKiB5WzNdWzNdOworICAg
IHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzBd
OworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1b
NF0gKz0geFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bM10gKiB5
WzNdWzBdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1b
MF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAg
ICByZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzFdWzRdICs9
IHhbMV1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFd
WzRdICs9IHhbMV1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICog
eVsxXVsyXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAqIHlbMl1bMl07CisgICAgcmVz
dWx0WzFdWzRdICs9IHhbMV1bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7Cisg
ICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVs0XSAr
PSB4WzFdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAqIHlbMl1b
M107CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bM10gKiB5WzNdWzNdOworICAgIHJlc3VsdFsy
XVs0XSA9IDA7CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMF0gKiB5WzBdWzBdOworICAgIHJl
c3VsdFsyXVs0XSArPSB4WzJdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsy
XVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bM10gKiB5WzNdWzBdOwor
ICAgIHJlc3VsdFsyXVs0XSA9IDA7CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMF0gKiB5WzBd
WzFdOworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRb
Ml1bNF0gKz0geFsyXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bM10g
KiB5WzNdWzFdOworICAgIHJlc3VsdFsyXVs0XSA9IDA7CisgICAgcmVzdWx0WzJdWzRdICs9IHhb
Ml1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzFdICogeVsxXVsyXTsK
KyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzRd
ICs9IHhbMl1bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFsyXVs0XSA9IDA7CisgICAgcmVzdWx0
WzJdWzRdICs9IHhbMl1bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzFd
ICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVsyXSAqIHlbMl1bM107CisgICAg
cmVzdWx0WzJdWzRdICs9IHhbMl1bM10gKiB5WzNdWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9
CitmbG9hdDR4MiBtdWwoZmxvYXQ0eDIgeCwgZmxvYXQyeDIgeSkgeworICAgIGZsb2F0NHgyIHJl
c3VsdDsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBd
ICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAg
cmVzdWx0WzBdWzJdID0gMDsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVswXSAqIHlbMF1bMV07
CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVsy
XSA9IDA7CisgICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMF0gKiB5WzBdWzBdOworICAgIHJlc3Vs
dFsxXVsyXSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAg
IHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0g
eFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzJdID0gMDsKKyAgICByZXN1bHRbMl1b
Ml0gKz0geFsyXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5
WzFdWzBdOworICAgIHJlc3VsdFsyXVsyXSA9IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1b
MF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzFdICogeVsxXVsxXTsKKyAg
ICByZXN1bHRbM11bMl0gPSAwOworICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzBdICogeVswXVsw
XTsKKyAgICByZXN1bHRbM11bMl0gKz0geFszXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzNd
WzJdID0gMDsKKyAgICByZXN1bHRbM11bMl0gKz0geFszXVswXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzNdWzJdICs9IHhbM11bMV0gKiB5WzFdWzFdOworICAgIHJldHVybiByZXN1bHQ7Cit9Citm
bG9hdDR4MyBtdWwoZmxvYXQ0eDIgeCwgZmxvYXQyeDMgeSkgeworICAgIGZsb2F0NHgzIHJlc3Vs
dDsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzBdICog
eVswXVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVz
dWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bMV07Cisg
ICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVszXSA9
IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsw
XVszXSArPSB4WzBdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bM10gPSAwOworICAgIHJl
c3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsx
XVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10g
Kz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFd
WzFdOworICAgIHJlc3VsdFsxXVszXSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0g
KiB5WzBdWzJdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzFdICogeVsxXVsyXTsKKyAgICBy
ZXN1bHRbMl1bM10gPSAwOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzBdICogeVswXVswXTsK
KyAgICByZXN1bHRbMl1bM10gKz0geFsyXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzNd
ID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0
WzJdWzNdICs9IHhbMl1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAg
cmVzdWx0WzJdWzNdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsyXVszXSArPSB4
WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbM11bM10gPSAwOworICAgIHJlc3VsdFszXVsz
XSArPSB4WzNdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbM11bM10gKz0geFszXVsxXSAqIHlb
MV1bMF07CisgICAgcmVzdWx0WzNdWzNdID0gMDsKKyAgICByZXN1bHRbM11bM10gKz0geFszXVsw
XSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMV0gKiB5WzFdWzFdOworICAg
IHJlc3VsdFszXVszXSA9IDA7CisgICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMF0gKiB5WzBdWzJd
OworICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzFdICogeVsxXVsyXTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorZmxvYXQ0eDQgbXVsKGZsb2F0NHgyIHgsIGZsb2F0Mng0IHkpIHsKKyAgICBmbG9h
dDR4NCByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzRdID0gMDsKKyAgICByZXN1bHRbMF1bNF0gKz0g
eFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMV0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5
WzBdWzFdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1
bHRbMF1bNF0gPSAwOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzBdICogeVswXVsyXTsKKyAg
ICByZXN1bHRbMF1bNF0gKz0geFswXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzBdWzRdID0g
MDsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVswXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzBd
WzRdICs9IHhbMF1bMV0gKiB5WzFdWzNdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVz
dWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFd
WzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bNF0gPSAwOworICAgIHJlc3VsdFsxXVs0XSAr
PSB4WzFdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsxXSAqIHlbMV1b
MV07CisgICAgcmVzdWx0WzFdWzRdID0gMDsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVswXSAq
IHlbMF1bMl07CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMV0gKiB5WzFdWzJdOworICAgIHJl
c3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzNdOwor
ICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1bNF0g
PSAwOworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRb
Ml1bNF0gKz0geFsyXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzJdWzRdID0gMDsKKyAgICBy
ZXN1bHRbMl1bNF0gKz0geFsyXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzJdWzRdICs9IHhb
Ml1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVs0XSA9IDA7CisgICAgcmVzdWx0WzJdWzRd
ICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzFdICogeVsx
XVsyXTsKKyAgICByZXN1bHRbMl1bNF0gPSAwOworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzBd
ICogeVswXVszXTsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVsxXSAqIHlbMV1bM107CisgICAg
cmVzdWx0WzNdWzRdID0gMDsKKyAgICByZXN1bHRbM11bNF0gKz0geFszXVswXSAqIHlbMF1bMF07
CisgICAgcmVzdWx0WzNdWzRdICs9IHhbM11bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFszXVs0
XSA9IDA7CisgICAgcmVzdWx0WzNdWzRdICs9IHhbM11bMF0gKiB5WzBdWzFdOworICAgIHJlc3Vs
dFszXVs0XSArPSB4WzNdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbM11bNF0gPSAwOworICAg
IHJlc3VsdFszXVs0XSArPSB4WzNdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbM11bNF0gKz0g
eFszXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzNdWzRdID0gMDsKKyAgICByZXN1bHRbM11b
NF0gKz0geFszXVswXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzNdWzRdICs9IHhbM11bMV0gKiB5
WzFdWzNdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MiBtdWwoZmxvYXQ0eDMgeCwg
ZmxvYXQzeDIgeSkgeworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMl0gPSAw
OworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1b
Ml0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5
WzJdWzBdOworICAgIHJlc3VsdFswXVsyXSA9IDA7CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1b
MF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAg
ICByZXN1bHRbMF1bMl0gKz0geFswXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzFdWzJdID0g
MDsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzFd
WzJdICs9IHhbMV1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzJdICog
eVsyXVswXTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFd
WzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMV07Cisg
ICAgcmVzdWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsyXVsyXSA9
IDA7CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsy
XVsyXSArPSB4WzJdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsyXSAq
IHlbMl1bMF07CisgICAgcmVzdWx0WzJdWzJdID0gMDsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsy
XVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMV0gKiB5WzFdWzFdOwor
ICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bMl0g
PSAwOworICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRb
M11bMl0gKz0geFszXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMl0g
KiB5WzJdWzBdOworICAgIHJlc3VsdFszXVsyXSA9IDA7CisgICAgcmVzdWx0WzNdWzJdICs9IHhb
M11bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzFdICogeVsxXVsxXTsK
KyAgICByZXN1bHRbM11bMl0gKz0geFszXVsyXSAqIHlbMl1bMV07CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KK2Zsb2F0NHgzIG11bChmbG9hdDR4MyB4LCBmbG9hdDN4MyB5KSB7CisgICAgZmxvYXQ0
eDMgcmVzdWx0OworICAgIHJlc3VsdFswXVszXSA9IDA7CisgICAgcmVzdWx0WzBdWzNdICs9IHhb
MF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzFdICogeVsxXVswXTsK
KyAgICByZXN1bHRbMF1bM10gKz0geFswXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzBdWzNd
ID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0
WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzJd
ICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bM10gPSAwOworICAgIHJlc3VsdFswXVszXSArPSB4
WzBdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVsxXSAqIHlbMV1bMl07
CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsxXVsz
XSA9IDA7CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMF0gKiB5WzBdWzBdOworICAgIHJlc3Vs
dFsxXVszXSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVsy
XSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0g
eFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzFd
OworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMV1b
M10gPSAwOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzBdICogeVswXVsyXTsKKyAgICByZXN1
bHRbMV1bM10gKz0geFsxXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1b
Ml0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsyXVszXSA9IDA7CisgICAgcmVzdWx0WzJdWzNdICs9
IHhbMl1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzFdICogeVsxXVsw
XTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzJd
WzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVswXSAqIHlbMF1bMV07CisgICAgcmVz
dWx0WzJdWzNdICs9IHhbMl1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJd
WzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bM10gPSAwOworICAgIHJlc3VsdFsyXVszXSAr
PSB4WzJdWzBdICogeVswXVsyXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVsxXSAqIHlbMV1b
Ml07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsz
XVszXSA9IDA7CisgICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMF0gKiB5WzBdWzBdOworICAgIHJl
c3VsdFszXVszXSArPSB4WzNdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbM11bM10gKz0geFsz
XVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzNdWzNdID0gMDsKKyAgICByZXN1bHRbM11bM10g
Kz0geFszXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMV0gKiB5WzFd
WzFdOworICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRb
M11bM10gPSAwOworICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzBdICogeVswXVsyXTsKKyAgICBy
ZXN1bHRbM11bM10gKz0geFszXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzNdWzNdICs9IHhb
M11bMl0gKiB5WzJdWzJdOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4NCBtdWwoZmxv
YXQ0eDMgeCwgZmxvYXQzeDQgeSkgeworICAgIGZsb2F0NHg0IHJlc3VsdDsKKyAgICByZXN1bHRb
MF1bNF0gPSAwOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICBy
ZXN1bHRbMF1bNF0gKz0geFswXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdWzRdICs9IHhb
MF1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRd
ICs9IHhbMF1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsx
XVsxXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0
WzBdWzRdID0gMDsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVswXSAqIHlbMF1bMl07CisgICAg
cmVzdWx0WzBdWzRdICs9IHhbMF1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFswXVs0XSArPSB4
WzBdWzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bNF0gPSAwOworICAgIHJlc3VsdFswXVs0
XSArPSB4WzBdWzBdICogeVswXVszXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsxXSAqIHlb
MV1bM107CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMl0gKiB5WzJdWzNdOworICAgIHJlc3Vs
dFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzBdOworICAg
IHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bNF0gKz0g
eFsxXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzFdWzRdID0gMDsKKyAgICByZXN1bHRbMV1b
NF0gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMV0gKiB5
WzFdWzFdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzJdICogeVsyXVsxXTsKKyAgICByZXN1
bHRbMV1bNF0gPSAwOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzBdICogeVswXVsyXTsKKyAg
ICByZXN1bHRbMV1bNF0gKz0geFsxXVsxXSAqIHlbMV1bMl07CisgICAgcmVzdWx0WzFdWzRdICs9
IHhbMV1bMl0gKiB5WzJdWzJdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFd
WzRdICs9IHhbMV1bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICog
eVsxXVszXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAqIHlbMl1bM107CisgICAgcmVz
dWx0WzJdWzRdID0gMDsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVswXSAqIHlbMF1bMF07Cisg
ICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsyXVs0XSAr
PSB4WzJdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bNF0gPSAwOworICAgIHJlc3VsdFsy
XVs0XSArPSB4WzJdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVsxXSAq
IHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMl0gKiB5WzJdWzFdOworICAgIHJl
c3VsdFsyXVs0XSA9IDA7CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMF0gKiB5WzBdWzJdOwor
ICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bNF0g
Kz0geFsyXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzRdID0gMDsKKyAgICByZXN1bHRb
Ml1bNF0gKz0geFsyXVswXSAqIHlbMF1bM107CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMV0g
KiB5WzFdWzNdOworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzJdICogeVsyXVszXTsKKyAgICBy
ZXN1bHRbM11bNF0gPSAwOworICAgIHJlc3VsdFszXVs0XSArPSB4WzNdWzBdICogeVswXVswXTsK
KyAgICByZXN1bHRbM11bNF0gKz0geFszXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzNdWzRd
ICs9IHhbM11bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFszXVs0XSA9IDA7CisgICAgcmVzdWx0
WzNdWzRdICs9IHhbM11bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFszXVs0XSArPSB4WzNdWzFd
ICogeVsxXVsxXTsKKyAgICByZXN1bHRbM11bNF0gKz0geFszXVsyXSAqIHlbMl1bMV07CisgICAg
cmVzdWx0WzNdWzRdID0gMDsKKyAgICByZXN1bHRbM11bNF0gKz0geFszXVswXSAqIHlbMF1bMl07
CisgICAgcmVzdWx0WzNdWzRdICs9IHhbM11bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFszXVs0
XSArPSB4WzNdWzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbM11bNF0gPSAwOworICAgIHJlc3Vs
dFszXVs0XSArPSB4WzNdWzBdICogeVswXVszXTsKKyAgICByZXN1bHRbM11bNF0gKz0geFszXVsx
XSAqIHlbMV1bM107CisgICAgcmVzdWx0WzNdWzRdICs9IHhbM11bMl0gKiB5WzJdWzNdOworICAg
IHJldHVybiByZXN1bHQ7Cit9CitmbG9hdDR4MiBtdWwoZmxvYXQ0eDQgeCwgZmxvYXQ0eDIgeSkg
eworICAgIGZsb2F0NHgyIHJlc3VsdDsKKyAgICByZXN1bHRbMF1bMl0gPSAwOworICAgIHJlc3Vs
dFswXVsyXSArPSB4WzBdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMF1bMl0gKz0geFswXVsx
XSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5WzJdWzBdOworICAg
IHJlc3VsdFswXVsyXSArPSB4WzBdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMF1bMl0gPSAw
OworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMF1b
Ml0gKz0geFswXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzBdWzJdICs9IHhbMF1bMl0gKiB5
WzJdWzFdOworICAgIHJlc3VsdFswXVsyXSArPSB4WzBdWzNdICogeVszXVsxXTsKKyAgICByZXN1
bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICogeVswXVswXTsKKyAg
ICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzFdWzJdICs9
IHhbMV1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzNdICogeVszXVsw
XTsKKyAgICByZXN1bHRbMV1bMl0gPSAwOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFdWzBdICog
eVswXVsxXTsKKyAgICByZXN1bHRbMV1bMl0gKz0geFsxXVsxXSAqIHlbMV1bMV07CisgICAgcmVz
dWx0WzFdWzJdICs9IHhbMV1bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFsxXVsyXSArPSB4WzFd
WzNdICogeVszXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gPSAwOworICAgIHJlc3VsdFsyXVsyXSAr
PSB4WzJdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsyXVsxXSAqIHlbMV1b
MF07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0gKiB5WzJdWzBdOworICAgIHJlc3VsdFsy
XVsyXSArPSB4WzJdWzNdICogeVszXVswXTsKKyAgICByZXN1bHRbMl1bMl0gPSAwOworICAgIHJl
c3VsdFsyXVsyXSArPSB4WzJdWzBdICogeVswXVsxXTsKKyAgICByZXN1bHRbMl1bMl0gKz0geFsy
XVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzJdWzJdICs9IHhbMl1bMl0gKiB5WzJdWzFdOwor
ICAgIHJlc3VsdFsyXVsyXSArPSB4WzJdWzNdICogeVszXVsxXTsKKyAgICByZXN1bHRbM11bMl0g
PSAwOworICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzBdICogeVswXVswXTsKKyAgICByZXN1bHRb
M11bMl0gKz0geFszXVsxXSAqIHlbMV1bMF07CisgICAgcmVzdWx0WzNdWzJdICs9IHhbM11bMl0g
KiB5WzJdWzBdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzNdICogeVszXVswXTsKKyAgICBy
ZXN1bHRbM11bMl0gPSAwOworICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzBdICogeVswXVsxXTsK
KyAgICByZXN1bHRbM11bMl0gKz0geFszXVsxXSAqIHlbMV1bMV07CisgICAgcmVzdWx0WzNdWzJd
ICs9IHhbM11bMl0gKiB5WzJdWzFdOworICAgIHJlc3VsdFszXVsyXSArPSB4WzNdWzNdICogeVsz
XVsxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZmxvYXQ0eDMgbXVsKGZsb2F0NHg0IHgsIGZs
b2F0NHgzIHkpIHsKKyAgICBmbG9hdDR4MyByZXN1bHQ7CisgICAgcmVzdWx0WzBdWzNdID0gMDsK
KyAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzBdWzNd
ICs9IHhbMF1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFswXVszXSArPSB4WzBdWzJdICogeVsy
XVswXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0
WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlbMF1bMV07CisgICAg
cmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFswXVszXSArPSB4
WzBdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVszXSAqIHlbM11bMV07
CisgICAgcmVzdWx0WzBdWzNdID0gMDsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVswXSAqIHlb
MF1bMl07CisgICAgcmVzdWx0WzBdWzNdICs9IHhbMF1bMV0gKiB5WzFdWzJdOworICAgIHJlc3Vs
dFswXVszXSArPSB4WzBdWzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbMF1bM10gKz0geFswXVsz
XSAqIHlbM11bMl07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1bHRbMV1bM10gKz0g
eFsxXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1bMV0gKiB5WzFdWzBd
OworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMV1b
M10gKz0geFsxXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzFdWzNdID0gMDsKKyAgICByZXN1
bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0WzFdWzNdICs9IHhbMV1b
MV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICogeVsyXVsxXTsKKyAg
ICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzFdWzNdID0g
MDsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzFd
WzNdICs9IHhbMV1bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFsxXVszXSArPSB4WzFdWzJdICog
eVsyXVsyXTsKKyAgICByZXN1bHRbMV1bM10gKz0geFsxXVszXSAqIHlbM11bMl07CisgICAgcmVz
dWx0WzJdWzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVswXSAqIHlbMF1bMF07Cisg
ICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFsyXVszXSAr
PSB4WzJdWzJdICogeVsyXVswXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVszXSAqIHlbM11b
MF07CisgICAgcmVzdWx0WzJdWzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10gKz0geFsyXVswXSAq
IHlbMF1bMV07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMV0gKiB5WzFdWzFdOworICAgIHJl
c3VsdFsyXVszXSArPSB4WzJdWzJdICogeVsyXVsxXTsKKyAgICByZXN1bHRbMl1bM10gKz0geFsy
XVszXSAqIHlbM11bMV07CisgICAgcmVzdWx0WzJdWzNdID0gMDsKKyAgICByZXN1bHRbMl1bM10g
Kz0geFsyXVswXSAqIHlbMF1bMl07CisgICAgcmVzdWx0WzJdWzNdICs9IHhbMl1bMV0gKiB5WzFd
WzJdOworICAgIHJlc3VsdFsyXVszXSArPSB4WzJdWzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRb
Ml1bM10gKz0geFsyXVszXSAqIHlbM11bMl07CisgICAgcmVzdWx0WzNdWzNdID0gMDsKKyAgICBy
ZXN1bHRbM11bM10gKz0geFszXVswXSAqIHlbMF1bMF07CisgICAgcmVzdWx0WzNdWzNdICs9IHhb
M11bMV0gKiB5WzFdWzBdOworICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzJdICogeVsyXVswXTsK
KyAgICByZXN1bHRbM11bM10gKz0geFszXVszXSAqIHlbM11bMF07CisgICAgcmVzdWx0WzNdWzNd
ID0gMDsKKyAgICByZXN1bHRbM11bM10gKz0geFszXVswXSAqIHlbMF1bMV07CisgICAgcmVzdWx0
WzNdWzNdICs9IHhbM11bMV0gKiB5WzFdWzFdOworICAgIHJlc3VsdFszXVszXSArPSB4WzNdWzJd
ICogeVsyXVsxXTsKKyAgICByZXN1bHRbM11bM10gKz0geFszXVszXSAqIHlbM11bMV07CisgICAg
cmVzdWx0WzNdWzNdID0gMDsKKyAgICByZXN1bHRbM11bM10gKz0geFszXVswXSAqIHlbMF1bMl07
CisgICAgcmVzdWx0WzNdWzNdICs9IHhbM11bMV0gKiB5WzFdWzJdOworICAgIHJlc3VsdFszXVsz
XSArPSB4WzNdWzJdICogeVsyXVsyXTsKKyAgICByZXN1bHRbM11bM10gKz0geFszXVszXSAqIHlb
M11bMl07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KK2Zsb2F0NHg0IG11bChmbG9hdDR4NCB4LCBm
bG9hdDR4NCB5KSB7CisgICAgZmxvYXQ0eDQgcmVzdWx0OworICAgIHJlc3VsdFswXVs0XSA9IDA7
CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFswXVs0
XSArPSB4WzBdWzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsyXSAqIHlb
Ml1bMF07CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bM10gKiB5WzNdWzBdOworICAgIHJlc3Vs
dFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5WzBdWzFdOworICAg
IHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMF1bNF0gKz0g
eFswXVsyXSAqIHlbMl1bMV07CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bM10gKiB5WzNdWzFd
OworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1bMF0gKiB5
WzBdWzJdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsxXVsyXTsKKyAgICByZXN1
bHRbMF1bNF0gKz0geFswXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzBdWzRdICs9IHhbMF1b
M10gKiB5WzNdWzJdOworICAgIHJlc3VsdFswXVs0XSA9IDA7CisgICAgcmVzdWx0WzBdWzRdICs9
IHhbMF1bMF0gKiB5WzBdWzNdOworICAgIHJlc3VsdFswXVs0XSArPSB4WzBdWzFdICogeVsxXVsz
XTsKKyAgICByZXN1bHRbMF1bNF0gKz0geFswXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzBd
WzRdICs9IHhbMF1bM10gKiB5WzNdWzNdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVz
dWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFd
WzFdICogeVsxXVswXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAqIHlbMl1bMF07Cisg
ICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsxXVs0XSA9
IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsx
XVs0XSArPSB4WzFdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAq
IHlbMl1bMV07CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bM10gKiB5WzNdWzFdOworICAgIHJl
c3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0gKiB5WzBdWzJdOwor
ICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMV1bNF0g
Kz0geFsxXVsyXSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bM10gKiB5WzNd
WzJdOworICAgIHJlc3VsdFsxXVs0XSA9IDA7CisgICAgcmVzdWx0WzFdWzRdICs9IHhbMV1bMF0g
KiB5WzBdWzNdOworICAgIHJlc3VsdFsxXVs0XSArPSB4WzFdWzFdICogeVsxXVszXTsKKyAgICBy
ZXN1bHRbMV1bNF0gKz0geFsxXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzFdWzRdICs9IHhb
MV1bM10gKiB5WzNdWzNdOworICAgIHJlc3VsdFsyXVs0XSA9IDA7CisgICAgcmVzdWx0WzJdWzRd
ICs9IHhbMl1bMF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzFdICogeVsx
XVswXTsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0
WzJdWzRdICs9IHhbMl1bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFsyXVs0XSA9IDA7CisgICAg
cmVzdWx0WzJdWzRdICs9IHhbMl1bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFsyXVs0XSArPSB4
WzJdWzFdICogeVsxXVsxXTsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVsyXSAqIHlbMl1bMV07
CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFsyXVs0
XSA9IDA7CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMF0gKiB5WzBdWzJdOworICAgIHJlc3Vs
dFsyXVs0XSArPSB4WzJdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbMl1bNF0gKz0geFsyXVsy
XSAqIHlbMl1bMl07CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bM10gKiB5WzNdWzJdOworICAg
IHJlc3VsdFsyXVs0XSA9IDA7CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bMF0gKiB5WzBdWzNd
OworICAgIHJlc3VsdFsyXVs0XSArPSB4WzJdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbMl1b
NF0gKz0geFsyXVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzJdWzRdICs9IHhbMl1bM10gKiB5
WzNdWzNdOworICAgIHJlc3VsdFszXVs0XSA9IDA7CisgICAgcmVzdWx0WzNdWzRdICs9IHhbM11b
MF0gKiB5WzBdWzBdOworICAgIHJlc3VsdFszXVs0XSArPSB4WzNdWzFdICogeVsxXVswXTsKKyAg
ICByZXN1bHRbM11bNF0gKz0geFszXVsyXSAqIHlbMl1bMF07CisgICAgcmVzdWx0WzNdWzRdICs9
IHhbM11bM10gKiB5WzNdWzBdOworICAgIHJlc3VsdFszXVs0XSA9IDA7CisgICAgcmVzdWx0WzNd
WzRdICs9IHhbM11bMF0gKiB5WzBdWzFdOworICAgIHJlc3VsdFszXVs0XSArPSB4WzNdWzFdICog
eVsxXVsxXTsKKyAgICByZXN1bHRbM11bNF0gKz0geFszXVsyXSAqIHlbMl1bMV07CisgICAgcmVz
dWx0WzNdWzRdICs9IHhbM11bM10gKiB5WzNdWzFdOworICAgIHJlc3VsdFszXVs0XSA9IDA7Cisg
ICAgcmVzdWx0WzNdWzRdICs9IHhbM11bMF0gKiB5WzBdWzJdOworICAgIHJlc3VsdFszXVs0XSAr
PSB4WzNdWzFdICogeVsxXVsyXTsKKyAgICByZXN1bHRbM11bNF0gKz0geFszXVsyXSAqIHlbMl1b
Ml07CisgICAgcmVzdWx0WzNdWzRdICs9IHhbM11bM10gKiB5WzNdWzJdOworICAgIHJlc3VsdFsz
XVs0XSA9IDA7CisgICAgcmVzdWx0WzNdWzRdICs9IHhbM11bMF0gKiB5WzBdWzNdOworICAgIHJl
c3VsdFszXVs0XSArPSB4WzNdWzFdICogeVsxXVszXTsKKyAgICByZXN1bHRbM11bNF0gKz0geFsz
XVsyXSAqIHlbMl1bM107CisgICAgcmVzdWx0WzNdWzRdICs9IHhbM11bM10gKiB5WzNdWzNdOwor
ICAgIHJldHVybiByZXN1bHQ7CiB9CisKIGA7CiAKIGZ1bmN0aW9uIGludFRvU3RyaW5nKHgpCkBA
IC0zODQsNiArNjUwOTYsMzEgQEAgZnVuY3Rpb24gaW50VG9TdHJpbmcoeCkKICAgICB9CiB9CiAK
K2Z1bmN0aW9uIGFkZEZ1bmN0aW9uc0Zyb21DbGFzcyhjbHNzKQoreworICAgIHN0YW5kYXJkTGli
cmFyeSArPSBjbHNzLmZ1bmN0aW9ucygpLmpvaW4oIjtcbiIpICsgIlxuIjsKK30KKworY29uc3Qg
VmVjdG9yRWxlbWVudFR5cGVzID0gWyAiaW50MzIiLCAidWludDMyIiwgImZsb2F0IiwgImNoYXIi
LCAidWNoYXIiLCAiaGFsZiIsICJzaG9ydCIgXTsKK2NvbnN0IFZlY3RvckVsZW1lbnRTaXplcyA9
IFsgMiwgMywgNCBdOworCitmdW5jdGlvbiBhbGxWZWN0b3JUeXBlTmFtZXMoKQoreworICAgIGNv
bnN0IG5hbWVzID0gW107CisgICAgZm9yIChsZXQgZWxlbWVudFR5cGUgb2YgVmVjdG9yRWxlbWVu
dFR5cGVzKSB7CisgICAgICAgIGZvciAobGV0IHNpemUgb2YgVmVjdG9yRWxlbWVudFNpemVzKQor
ICAgICAgICAgICAgbmFtZXMucHVzaChgJHtlbGVtZW50VHlwZX0ke3NpemV9YCk7CisgICAgfQor
ICAgIHJldHVybiBuYW1lczsKK30KKwogLy8gVGhlcmUgYXJlIDQ4MSBzd2l6emxlIG9wZXJhdG9y
cywgc28gd2UgY29tcGlsZSB0aGVtIGFzIG5hdGl2ZSBmdW5jdGlvbnMKLXN0YW5kYXJkTGlicmFy
eSArPSBTd2l6emxlT3AuYWxsU3dpenpsZU9wZXJhdG9ycygpLmpvaW4oIjtcbiIpICsgIjsiOwot
Y29uc29sZS5sb2coc3RhbmRhcmRMaWJyYXJ5KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CitzdGFuZGFyZExpYnJhcnkgKz0gU3dpenpsZU9wLmZ1bmN0aW9ucygpLmpvaW4oIjtcbiIpICsg
IjtcbiI7CitzdGFuZGFyZExpYnJhcnkgKz0gT3BlcmF0b3JCb29sLmZ1bmN0aW9ucygpLmpvaW4o
IjtcbiIpICsgIjtcbiI7CitzdGFuZGFyZExpYnJhcnkgKz0gT3BlcmF0b3JBbmRlckluZGV4ZXIu
ZnVuY3Rpb25zKCkuam9pbigiO1xuIikgKyAiO1xuIjsKK3N0YW5kYXJkTGlicmFyeSArPSBCdWls
dGluVmVjdG9yQ2FzdHMuZnVuY3Rpb25zKCkuam9pbigiO1xuIikgKyAiO1xuIjsKK3N0YW5kYXJk
TGlicmFyeSArPSBCdWlsdGluVmVjdG9yR2V0dGVyLmZ1bmN0aW9ucygpLmpvaW4oIjtcbiIpICsg
IjtcbiI7CitzdGFuZGFyZExpYnJhcnkgKz0gQnVpbHRpblZlY3RvclNldHRlci5mdW5jdGlvbnMo
KS5qb2luKCI7XG4iKSArICI7XG4iOworc3RhbmRhcmRMaWJyYXJ5ICs9IEJ1aWx0aW5WZWN0b3JJ
bmRleEdldHRlci5mdW5jdGlvbnMoKS5qb2luKCI7XG4iKSArICI7XG4iOworc3RhbmRhcmRMaWJy
YXJ5ICs9IEJ1aWx0aW5WZWN0b3JJbmRleFNldHRlci5mdW5jdGlvbnMoKS5qb2luKCI7XG4iKSAr
ICI7XG4iOworc3RhbmRhcmRMaWJyYXJ5ICs9IEJ1aWx0aW5WZWN0b3JFcXVhbGl0eU9wZXJhdG9y
LmZ1bmN0aW9ucygpLmpvaW4oIjtcbiIpICsgIjtcbiI7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJH
UFVTaGFkaW5nTGFuZ3VhZ2VSSS9TdGF0ZW1lbnRDbG9uZXIuanMgYi9Ub29scy9XZWJHUFVTaGFk
aW5nTGFuZ3VhZ2VSSS9TdGF0ZW1lbnRDbG9uZXIuanMKaW5kZXggYzk0NzlhMjg1YmEwZTEzNTM1
ZGVhMzdmN2ZjMWE2M2JjNzFjZjMxNi4uNjVlMGM3YTkwZjRkYWQzMDIxMjY0MzFmN2NmODI2MWRk
M2U3NmJmYyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvU3RhdGVt
ZW50Q2xvbmVyLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1N0YXRlbWVu
dENsb25lci5qcwpAQCAtMjcsMTEgKzI3LDkgQEAKIGNsYXNzIFN0YXRlbWVudENsb25lciBleHRl
bmRzIFJld3JpdGVyIHsKICAgICB2aXNpdEZ1bmNEZWYobm9kZSkKICAgICB7Ci0gICAgICAgIGxl
dCB0eXBlUGFyYW1ldGVycyA9IG5vZGUudHlwZVBhcmFtZXRlcnMubWFwKHR5cGVQYXJhbWV0ZXIg
PT4gdHlwZVBhcmFtZXRlci52aXNpdCh0aGlzKSk7CiAgICAgICAgIGxldCByZXN1bHQgPSBuZXcg
RnVuY0RlZigKICAgICAgICAgICAgIG5vZGUub3JpZ2luLCBub2RlLm5hbWUsCiAgICAgICAgICAg
ICBub2RlLnJldHVyblR5cGUudmlzaXQodGhpcyksCi0gICAgICAgICAgICB0eXBlUGFyYW1ldGVy
cywKICAgICAgICAgICAgIG5vZGUucGFyYW1ldGVycy5tYXAocGFyYW1ldGVyID0+IHBhcmFtZXRl
ci52aXNpdCh0aGlzKSksCiAgICAgICAgICAgICBub2RlLmJvZHkudmlzaXQodGhpcyksCiAgICAg
ICAgICAgICBub2RlLmlzQ2FzdCwgbm9kZS5zaGFkZXJUeXBlKTsKQEAgLTQ0LDcgKzQyLDYgQEAg
Y2xhc3MgU3RhdGVtZW50Q2xvbmVyIGV4dGVuZHMgUmV3cml0ZXIgewogICAgICAgICBsZXQgcmVz
dWx0ID0gbmV3IE5hdGl2ZUZ1bmMoCiAgICAgICAgICAgICBub2RlLm9yaWdpbiwgbm9kZS5uYW1l
LAogICAgICAgICAgICAgbm9kZS5yZXR1cm5UeXBlLnZpc2l0KHRoaXMpLAotICAgICAgICAgICAg
bm9kZS50eXBlUGFyYW1ldGVycy5tYXAodHlwZVBhcmFtZXRlciA9PiB0eXBlUGFyYW1ldGVyLnZp
c2l0KHRoaXMpKSwKICAgICAgICAgICAgIG5vZGUucGFyYW1ldGVycy5tYXAocGFyYW1ldGVyID0+
IHBhcmFtZXRlci52aXNpdCh0aGlzKSksCiAgICAgICAgICAgICBub2RlLmlzQ2FzdCwgbm9kZS5z
aGFkZXJUeXBlKTsKICAgICAgICAgcmVzdWx0LmlzUmVzdHJpY3RlZCA9IG5vZGUuaXNSZXN0cmlj
dGVkOwpAQCAtNTMsNjMgKzUwLDI3IEBAIGNsYXNzIFN0YXRlbWVudENsb25lciBleHRlbmRzIFJl
d3JpdGVyIHsKICAgICAKICAgICB2aXNpdE5hdGl2ZVR5cGUobm9kZSkKICAgICB7Ci0gICAgICAg
IHJldHVybiBuZXcgTmF0aXZlVHlwZSgKLSAgICAgICAgICAgIG5vZGUub3JpZ2luLCBub2RlLm5h
bWUsIG5vZGUudHlwZVBhcmFtZXRlcnMubWFwKHR5cGVQYXJhbWV0ZXIgPT4gdHlwZVBhcmFtZXRl
ci52aXNpdCh0aGlzKSkpOworICAgICAgICByZXR1cm4gbmV3IE5hdGl2ZVR5cGUobm9kZS5vcmln
aW4sIG5vZGUubmFtZSk7CiAgICAgfQogICAgIAogICAgIHZpc2l0VHlwZURlZihub2RlKQogICAg
IHsKLSAgICAgICAgcmV0dXJuIG5ldyBUeXBlRGVmKAotICAgICAgICAgICAgbm9kZS5vcmlnaW4s
IG5vZGUubmFtZSwKLSAgICAgICAgICAgIG5vZGUudHlwZVBhcmFtZXRlcnMubWFwKHR5cGVQYXJh
bWV0ZXIgPT4gdHlwZVBhcmFtZXRlci52aXNpdCh0aGlzKSksCi0gICAgICAgICAgICBub2RlLnR5
cGUudmlzaXQodGhpcykpOworICAgICAgICByZXR1cm4gbmV3IFR5cGVEZWYobm9kZS5vcmlnaW4s
IG5vZGUubmFtZSwgbm9kZS50eXBlLnZpc2l0KHRoaXMpKTsKICAgICB9CiAgICAgCiAgICAgdmlz
aXRTdHJ1Y3RUeXBlKG5vZGUpCiAgICAgewotICAgICAgICBsZXQgcmVzdWx0ID0gbmV3IFN0cnVj
dFR5cGUoCi0gICAgICAgICAgICBub2RlLm9yaWdpbiwgbm9kZS5uYW1lLAotICAgICAgICAgICAg
bm9kZS50eXBlUGFyYW1ldGVycy5tYXAodHlwZVBhcmFtZXRlciA9PiB0eXBlUGFyYW1ldGVyLnZp
c2l0KHRoaXMpKSk7CisgICAgICAgIGxldCByZXN1bHQgPSBuZXcgU3RydWN0VHlwZShub2RlLm9y
aWdpbiwgbm9kZS5uYW1lKTsKICAgICAgICAgZm9yIChsZXQgZmllbGQgb2Ygbm9kZS5maWVsZHMp
CiAgICAgICAgICAgICByZXN1bHQuYWRkKGZpZWxkLnZpc2l0KHRoaXMpKTsKICAgICAgICAgcmV0
dXJuIHJlc3VsdDsKICAgICB9CiAgICAgCi0gICAgdmlzaXRDb25zdGV4cHJUeXBlUGFyYW1ldGVy
KG5vZGUpCi0gICAgewotICAgICAgICByZXR1cm4gbmV3IENvbnN0ZXhwclR5cGVQYXJhbWV0ZXIo
bm9kZS5vcmlnaW4sIG5vZGUubmFtZSwgbm9kZS50eXBlLnZpc2l0KHRoaXMpKTsKLSAgICB9Ci0g
ICAgCi0gICAgdmlzaXRQcm90b2NvbERlY2wobm9kZSkKLSAgICB7Ci0gICAgICAgIGxldCByZXN1
bHQgPSBuZXcgUHJvdG9jb2xEZWNsKG5vZGUub3JpZ2luLCBub2RlLm5hbWUpOwotICAgICAgICBm
b3IgKGxldCBwcm90b2NvbCBvZiBub2RlLmV4dGVuZHMpCi0gICAgICAgICAgICByZXN1bHQuYWRk
RXh0ZW5kcyhwcm90b2NvbC52aXNpdCh0aGlzKSk7Ci0gICAgICAgIGZvciAobGV0IHNpZ25hdHVy
ZSBvZiBub2RlLnNpZ25hdHVyZXMpCi0gICAgICAgICAgICByZXN1bHQuYWRkKHNpZ25hdHVyZS52
aXNpdCh0aGlzKSk7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQotCi0gICAgdmlzaXRU
eXBlVmFyaWFibGUobm9kZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBuZXcgVHlwZVZhcmlhYmxl
KG5vZGUub3JpZ2luLCBub2RlLm5hbWUsIE5vZGUudmlzaXQobm9kZS5wcm90b2NvbCwgdGhpcykp
OwotICAgIH0KLSAgICAKLSAgICB2aXNpdFByb3RvY29sUmVmKG5vZGUpCi0gICAgewotICAgICAg
ICByZXR1cm4gbmV3IFByb3RvY29sUmVmKG5vZGUub3JpZ2luLCBub2RlLm5hbWUpOwotICAgIH0K
LSAgICAKICAgICB2aXNpdEJvb2xMaXRlcmFsKG5vZGUpCiAgICAgewogICAgICAgICByZXR1cm4g
bmV3IEJvb2xMaXRlcmFsKG5vZGUub3JpZ2luLCBub2RlLnZhbHVlKTsKICAgICB9CiAgICAgCi0g
ICAgdmlzaXRUeXBlT3JWYXJpYWJsZVJlZihub2RlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG5l
dyBUeXBlT3JWYXJpYWJsZVJlZihub2RlLm9yaWdpbiwgbm9kZS5uYW1lKTsKLSAgICB9Ci0gICAg
CiAgICAgdmlzaXRFbnVtVHlwZShub2RlKQogICAgIHsKICAgICAgICAgbGV0IHJlc3VsdCA9IG5l
dyBFbnVtVHlwZShub2RlLm9yaWdpbiwgbm9kZS5uYW1lLCBub2RlLmJhc2VUeXBlLnZpc2l0KHRo
aXMpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1N0cnVjdExh
eW91dEJ1aWxkZXIuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9TdHJ1Y3RMYXlv
dXRCdWlsZGVyLmpzCmluZGV4IDRmOThjNTczYTFhMzgyMzdlMTY0NTBhZTEwYjg2Y2IyZTYxZDEy
MzAuLjc0NDFkZWVlZDQzZDA2MmRiMTMwMzY3NjQ5MGYzNjhjZWI2ZDgzZDggMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1N0cnVjdExheW91dEJ1aWxkZXIuanMKKysr
IGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvU3RydWN0TGF5b3V0QnVpbGRlci5qcwpA
QCAtMzksOCArMzksNiBAQCBjbGFzcyBTdHJ1Y3RMYXlvdXRCdWlsZGVyIGV4dGVuZHMgVmlzaXRv
ciB7CiAgICAgewogICAgICAgICBpZiAobm9kZS5zaXplICE9IG51bGwpCiAgICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIGlmIChub2RlLnR5cGVQYXJhbWV0ZXJzLmxlbmd0aCkKLSAgICAgICAg
ICAgIHRocm93IG5ldyBFcnJvcigiQ2Fubm90IGRvIGxheW91dCBmb3IgZ2VuZXJpYyB0eXBlOiAi
ICsgbm9kZSk7CiAgICAgICAgIGxldCBvbGRPZmZzZXQgPSB0aGlzLl9vZmZzZXQ7CiAgICAgICAg
IHRoaXMuX29mZnNldCA9IDA7CiAgICAgICAgIHN1cGVyLnZpc2l0U3RydWN0VHlwZShub2RlKTsK
QEAgLTYwLDEyICs1OCw2IEBAIGNsYXNzIFN0cnVjdExheW91dEJ1aWxkZXIgZXh0ZW5kcyBWaXNp
dG9yIHsKICAgICAgICAgdGhpcy5fb2Zmc2V0ICs9IHNpemU7CiAgICAgfQogICAgIAotICAgIHZp
c2l0TmF0aXZlRnVuY0luc3RhbmNlKG5vZGUpCi0gICAgewotICAgICAgICBzdXBlci52aXNpdE5h
dGl2ZUZ1bmNJbnN0YW5jZShub2RlKTsKLSAgICAgICAgbm9kZS5mdW5jLmRpZExheW91dFN0cnVj
dHNJbkltcGxlbWVudGF0aW9uRGF0YShub2RlLmltcGxlbWVudGF0aW9uRGF0YSk7Ci0gICAgfQot
ICAgIAogICAgIHZpc2l0VHlwZVJlZihub2RlKQogICAgIHsKICAgICAgICAgc3VwZXIudmlzaXRU
eXBlUmVmKG5vZGUpOwpAQCAtNzYsMTMgKzY4LDYgQEAgY2xhc3MgU3RydWN0TGF5b3V0QnVpbGRl
ciBleHRlbmRzIFZpc2l0b3IgewogICAgIHsKICAgICAgICAgZm9yIChsZXQgYXJndW1lbnQgb2Yg
bm9kZS5hcmd1bWVudExpc3QpCiAgICAgICAgICAgICBOb2RlLnZpc2l0KGFyZ3VtZW50LCB0aGlz
KTsKLSAgICAgICAgbGV0IGhhbmRsZVR5cGVBcmd1bWVudHMgPSBhY3R1YWxUeXBlQXJndW1lbnRz
ID0+IHsKLSAgICAgICAgICAgIGlmIChhY3R1YWxUeXBlQXJndW1lbnRzKSB7Ci0gICAgICAgICAg
ICAgICAgZm9yIChsZXQgYXJndW1lbnQgb2YgYWN0dWFsVHlwZUFyZ3VtZW50cykKLSAgICAgICAg
ICAgICAgICAgICAgYXJndW1lbnQudmlzaXQodGhpcyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IH07Ci0gICAgICAgIGhhbmRsZVR5cGVBcmd1bWVudHMobm9kZS5pbnN0YW50aWF0ZWRBY3R1YWxU
eXBlQXJndW1lbnRzKTsKICAgICAgICAgTm9kZS52aXNpdChub2RlLm5hdGl2ZUZ1bmNJbnN0YW5j
ZSwgdGhpcyk7CiAgICAgICAgIE5vZGUudmlzaXQobm9kZS5yZXN1bHRUeXBlLCB0aGlzKTsKICAg
ICB9CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9TdHJ1Y3RUeXBl
LmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvU3RydWN0VHlwZS5qcwppbmRleCBm
OWQ4YzdkYTQ4NTgzMjE2MWU1NWQyMmE0Mzg3NjI5OTMzN2NiOTM2Li5kMTU2NTM5YzZiZmMwOTc0
OWQzNzFiZDhlYTgwNjMzZGJkZGZiYzQ5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5n
TGFuZ3VhZ2VSSS9TdHJ1Y3RUeXBlLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFn
ZVJJL1N0cnVjdFR5cGUuanMKQEAgLTI1LDEyICsyNSwxMSBAQAogInVzZSBzdHJpY3QiOwogCiBj
bGFzcyBTdHJ1Y3RUeXBlIGV4dGVuZHMgVHlwZSB7Ci0gICAgY29uc3RydWN0b3Iob3JpZ2luLCBu
YW1lLCB0eXBlUGFyYW1ldGVycykKKyAgICBjb25zdHJ1Y3RvcihvcmlnaW4sIG5hbWUpCiAgICAg
ewogICAgICAgICBzdXBlcigpOwogICAgICAgICB0aGlzLl9vcmlnaW4gPSBvcmlnaW47CiAgICAg
ICAgIHRoaXMuX25hbWUgPSBuYW1lOwotICAgICAgICB0aGlzLl90eXBlUGFyYW1ldGVycyA9IHR5
cGVQYXJhbWV0ZXJzOwogICAgICAgICB0aGlzLl9maWVsZHMgPSBuZXcgTWFwKCk7CiAgICAgfQog
ICAgIApAQCAtNDQsNyArNDMsNiBAQCBjbGFzcyBTdHJ1Y3RUeXBlIGV4dGVuZHMgVHlwZSB7CiAg
ICAgCiAgICAgZ2V0IG5hbWUoKSB7IHJldHVybiB0aGlzLl9uYW1lOyB9CiAgICAgZ2V0IG9yaWdp
bigpIHsgcmV0dXJuIHRoaXMuX29yaWdpbjsgfQotICAgIGdldCB0eXBlUGFyYW1ldGVycygpIHsg
cmV0dXJuIHRoaXMuX3R5cGVQYXJhbWV0ZXJzOyB9CiAgICAgCiAgICAgZ2V0IGZpZWxkTmFtZXMo
KSB7IHJldHVybiB0aGlzLl9maWVsZHMua2V5cygpOyB9CiAgICAgZmllbGRCeU5hbWUobmFtZSkg
eyByZXR1cm4gdGhpcy5fZmllbGRzLmdldChuYW1lKTsgfQpAQCAtNTgsMzIgKzU2LDYgQEAgY2xh
c3MgU3RydWN0VHlwZSBleHRlbmRzIFR5cGUgewogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAg
IH0KICAgICAKLSAgICBpbnN0YW50aWF0ZSh0eXBlQXJndW1lbnRzID0gbnVsbCkKLSAgICB7Ci0g
ICAgICAgIGxldCBzdWJzdGl0dXRpb24gPSBudWxsOwotICAgICAgICBsZXQgdHlwZVBhcmFtZXRl
cnMgPSB0aGlzLnR5cGVQYXJhbWV0ZXJzOwotICAgICAgICAKLSAgICAgICAgaWYgKHR5cGVBcmd1
bWVudHMpIHsKLSAgICAgICAgICAgIGlmICh0eXBlQXJndW1lbnRzLmxlbmd0aCAhPSB0aGlzLnR5
cGVQYXJhbWV0ZXJzLmxlbmd0aCkKLSAgICAgICAgICAgICAgICB0aHJvdyBuZXcgV1R5cGVFcnJv
cih0aGlzLm9yaWdpbi5vcmlnaW5TdHJpbmcsICJXcm9uZyBudW1iZXIgb2YgdHlwZSBhcmd1bWVu
dHMgdG8gaW5zdGFudGlhdGlvbiIpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBzdWJzdGl0
dXRpb24gPSBuZXcgU3Vic3RpdHV0aW9uKHRoaXMudHlwZVBhcmFtZXRlcnMsIHR5cGVBcmd1bWVu
dHMpOwotICAgICAgICAgICAgdHlwZVBhcmFtZXRlcnMgPSBbXTsKLSAgICAgICAgfQotICAgICAg
ICAKLSAgICAgICAgbGV0IGluc3RhbnRpYXRlSW1tZWRpYXRlcyA9IG5ldyBJbnN0YW50aWF0ZUlt
bWVkaWF0ZXMoKTsKLSAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBTdHJ1Y3RUeXBlKHRoaXMub3Jp
Z2luLCB0aGlzLm5hbWUsIHR5cGVQYXJhbWV0ZXJzKTsKLSAgICAgICAgZm9yIChsZXQgZmllbGQg
b2YgdGhpcy5maWVsZHMpIHsKLSAgICAgICAgICAgIGxldCBuZXdGaWVsZCA9IGZpZWxkOwotICAg
ICAgICAgICAgaWYgKHN1YnN0aXR1dGlvbikKLSAgICAgICAgICAgICAgICBuZXdGaWVsZCA9IG5l
d0ZpZWxkLnZpc2l0KHN1YnN0aXR1dGlvbik7Ci0gICAgICAgICAgICBuZXdGaWVsZCA9IG5ld0Zp
ZWxkLnZpc2l0KGluc3RhbnRpYXRlSW1tZWRpYXRlcyk7Ci0gICAgICAgICAgICByZXN1bHQuYWRk
KG5ld0ZpZWxkKTsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsK
LSAgICB9Ci0gICAgCiAgICAgcG9wdWxhdGVEZWZhdWx0VmFsdWUoYnVmZmVyLCBvZmZzZXQpCiAg
ICAgewogICAgICAgICBpZiAodGhpcy5zaXplID09IG51bGwpCkBAIC05NCw2ICs2Niw2IEBAIGNs
YXNzIFN0cnVjdFR5cGUgZXh0ZW5kcyBUeXBlIHsKICAgICAKICAgICB0b1N0cmluZygpCiAgICAg
ewotICAgICAgICByZXR1cm4gInN0cnVjdCAiICsgdGhpcy5uYW1lICsgIjwiICsgdGhpcy50eXBl
UGFyYW1ldGVycyArICI+IHsgIiArIEFycmF5LmZyb20odGhpcy5maWVsZHMpLmpvaW4oIjsgIikg
KyAiOyB9IjsKKyAgICAgICAgcmV0dXJuIGBzdHJ1Y3QgJHt0aGlzLm5hbWV9IHsgJHtBcnJheS5m
cm9tKHRoaXMuZmllbGRzKS5qb2luKCI7ICIpfTsgfWA7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvU3Vic3RpdHV0aW9uLmpzIGIvVG9vbHMvV2Vi
R1BVU2hhZGluZ0xhbmd1YWdlUkkvU3Vic3RpdHV0aW9uLmpzCmluZGV4IDZhMjIzZjY3OTRhODU2
YzY0MzA4ZGY0MGFiOTE4YWNhMjA4NmZiMjkuLjRhY2RmZmNlY2M1NjFhMjMzNDIwMzNlMWI4ZGQz
MWJhZTMzNTY2YjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1N1
YnN0aXR1dGlvbi5qcworKysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9TdWJzdGl0
dXRpb24uanMKQEAgLTQwLDEyICs0MCw4IEBAIGNsYXNzIFN1YnN0aXR1dGlvbiBleHRlbmRzIFJl
d3JpdGVyIHsKICAgICB2aXNpdFR5cGVSZWYobm9kZSkKICAgICB7CiAgICAgICAgIGxldCByZXBs
YWNlbWVudCA9IHRoaXMuX21hcC5nZXQobm9kZS50eXBlKTsKLSAgICAgICAgaWYgKHJlcGxhY2Vt
ZW50KSB7Ci0gICAgICAgICAgICBpZiAobm9kZS50eXBlQXJndW1lbnRzLmxlbmd0aCkKLSAgICAg
ICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIlVuZXhwZWN0ZWQgdHlwZSBhcmd1bWVudHMgb24g
dHlwZSB2YXJpYWJsZSIpOwotICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHJlcGxhY2VtZW50LnZp
c2l0KG5ldyBBdXRvV3JhcHBlcigpKTsKLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAg
ICAgIH0KKyAgICAgICAgaWYgKHJlcGxhY2VtZW50KQorICAgICAgICAgICAgcmV0dXJuIHJlcGxh
Y2VtZW50LnZpc2l0KG5ldyBBdXRvV3JhcHBlcigpKTsKICAgICAgICAgCiAgICAgICAgIGxldCBy
ZXN1bHQgPSBzdXBlci52aXNpdFR5cGVSZWYobm9kZSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9Td2l6emxlT3AuanMg
Yi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9Td2l6emxlT3AuanMKaW5kZXggZDFjNWJk
MGU2YjM5MjBmNTcxZGU3YzIwOTQ4NjAzNmI5NDU0OGE3NC4uMDdmODEwZGE3OGFjMWZlNzc4YWQz
OGU3ZGZiMzNjYzg0MGUyMDllMiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1
YWdlUkkvU3dpenpsZU9wLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1N3
aXp6bGVPcC5qcwpAQCAtMjAsNTQgKzIwLDcyIEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAidXNl
IHN0cmljdCI7CiAKIGNsYXNzIFN3aXp6bGVPcCB7Ci0gICAgY29uc3RydWN0b3Iob3V0U2l6ZSwg
Y29tcG9uZW50cywgaW5TaXplKQorICAgIGNvbnN0cnVjdG9yKGJhc2VUeXBlTmFtZSwgb3V0U2l6
ZSwgY29tcG9uZW50cywgaW5TaXplKQogICAgIHsKKyAgICAgICAgdGhpcy5fYmFzZVR5cGVOYW1l
ID0gYmFzZVR5cGVOYW1lOwogICAgICAgICB0aGlzLl9vdXRTaXplID0gb3V0U2l6ZTsKICAgICAg
ICAgdGhpcy5fY29tcG9uZW50cyA9IGNvbXBvbmVudHMuc2xpY2UoKTsgLy8gU2hhbGxvdyBjbG9u
ZQogICAgICAgICB0aGlzLl9pblNpemUgPSBpblNpemU7CiAgICAgfQogCisgICAgZ2V0IGJhc2VU
eXBlTmFtZSgpIHsgcmV0dXJuIHRoaXMuX2Jhc2VUeXBlTmFtZTsgfQogICAgIGdldCBvdXRTaXpl
KCkgeyByZXR1cm4gdGhpcy5fb3V0U2l6ZTsgfQogICAgIGdldCBjb21wb25lbnRzKCkgeyByZXR1
cm4gdGhpcy5fY29tcG9uZW50czsgfQogICAgIGdldCBpblNpemUoKSB7IHJldHVybiB0aGlzLl9p
blNpemU7IH0KIAogICAgIHRvU3RyaW5nKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBgbmF0aXZl
IHZlYyR7dGhpcy5vdXRTaXplfTxUPiBvcGVyYXRvci4ke3RoaXMuY29tcG9uZW50cy5qb2luKCIi
KX08VD4odmVjJHt0aGlzLmluU2l6ZX08VD4gdilgOworICAgICAgICByZXR1cm4gYG5hdGl2ZSAk
e3RoaXMuYmFzZVR5cGVOYW1lfSR7dGhpcy5vdXRTaXplfSBvcGVyYXRvci4ke3RoaXMuY29tcG9u
ZW50cy5qb2luKCIiKX0oJHt0aGlzLmJhc2VUeXBlTmFtZX0ke3RoaXMuaW5TaXplfSB2KWA7CiAg
ICAgfQogCi0gICAgc3RhdGljIGFsbFN3aXp6bGVPcGVyYXRvcnMoKQorICAgIHN0YXRpYyBmdW5j
dGlvbnMoKQogICAgIHsKLSAgICAgICAgaWYgKCFTd2l6emxlT3AuX2FsbFN3aXp6bGVPcGVyYXRv
cnMpIHsKLSAgICAgICAgICAgIFN3aXp6bGVPcC5fYWxsU3dpenpsZU9wZXJhdG9ycyA9IFtdOwot
ICAgICAgICAgICAgCi0gICAgICAgICAgICBmdW5jdGlvbiBfZ2VuZXJhdGVTd2l6emxlKG1heERl
cHRoLCBtYXhJdGVtcywgYXJyYXkpIHsKKyAgICAgICAgaWYgKCF0aGlzLl9mdW5jdGlvbnMpIHsK
KyAgICAgICAgICAgIC8vIFdlIGNhbid0IGRpcmVjdGx5IHVzZSB0aGlzLl9mdW5jdGlvbnMgaW4g
X2dlbmVyYXRlU3dpenpsZXMuCisgICAgICAgICAgICBjb25zdCBmdW5jdGlvbnMgPSBbXTsKKwor
ICAgICAgICAgICAgZnVuY3Rpb24gX2dlbmVyYXRlU3dpenpsZShiYXNlVHlwZU5hbWUsIG1heERl
cHRoLCBtYXhJdGVtcywgYXJyYXkpIHsKICAgICAgICAgICAgICAgICBpZiAoIWFycmF5KQogICAg
ICAgICAgICAgICAgICAgICBhcnJheSA9IFtdOwogICAgICAgICAgICAgICAgIGlmIChhcnJheS5s
ZW5ndGggPT0gbWF4RGVwdGgpIHsKLSAgICAgICAgICAgICAgICAgICAgU3dpenpsZU9wLl9hbGxT
d2l6emxlT3BlcmF0b3JzLnB1c2gobmV3IFN3aXp6bGVPcChhcnJheS5sZW5ndGgsIGFycmF5LCBt
YXhJdGVtcykpOworICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnMucHVzaChuZXcgU3dpenps
ZU9wKGJhc2VUeXBlTmFtZSwgYXJyYXkubGVuZ3RoLCBhcnJheSwgbWF4SXRlbXMpKTsKICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICBmb3IgKGxldCBpID0gMDsgaSA8IG1heEl0ZW1zOyArK2kpIHsKICAgICAgICAgICAgICAgICAg
ICAgYXJyYXkucHVzaChpbnRUb1N0cmluZyhpKSk7Ci0gICAgICAgICAgICAgICAgICAgIF9nZW5l
cmF0ZVN3aXp6bGUobWF4RGVwdGgsIG1heEl0ZW1zLCBhcnJheSk7CisgICAgICAgICAgICAgICAg
ICAgIF9nZW5lcmF0ZVN3aXp6bGUoYmFzZVR5cGVOYW1lLCBtYXhEZXB0aCwgbWF4SXRlbXMsIGFy
cmF5KTsKICAgICAgICAgICAgICAgICAgICAgYXJyYXkucG9wKCk7CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgfTsKLSAgICAgICAgCi0gICAgICAgICAgICBmb3IgKGxldCBtYXhEZXB0
aCA9IDI7IG1heERlcHRoIDw9IDQ7IG1heERlcHRoKyspIHsKLSAgICAgICAgICAgICAgICBmb3Ig
KGxldCBtYXhJdGVtcyA9IDI7IG1heEl0ZW1zIDw9IDQ7IG1heEl0ZW1zKyspCi0gICAgICAgICAg
ICAgICAgICAgIF9nZW5lcmF0ZVN3aXp6bGUobWF4RGVwdGgsIG1heEl0ZW1zKTsKKworICAgICAg
ICAgICAgZm9yIChsZXQgdHlwZU5hbWUgb2YgVmVjdG9yRWxlbWVudFR5cGVzKSB7CisgICAgICAg
ICAgICAgICAgZm9yIChsZXQgbWF4RGVwdGggb2YgVmVjdG9yRWxlbWVudFNpemVzKSB7CisgICAg
ICAgICAgICAgICAgICAgIGZvciAobGV0IG1heEl0ZW1zID0gMjsgbWF4SXRlbXMgPD0gNDsgbWF4
SXRlbXMrKykKKyAgICAgICAgICAgICAgICAgICAgICAgIF9nZW5lcmF0ZVN3aXp6bGUodHlwZU5h
bWUsIG1heERlcHRoLCBtYXhJdGVtcyk7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fQorCisgICAgICAgICAgICB0aGlzLl9mdW5jdGlvbnMgPSBmdW5jdGlvbnM7CiAgICAgICAgIH0K
LSAgICAgICAgcmV0dXJuIFN3aXp6bGVPcC5fYWxsU3dpenpsZU9wZXJhdG9yczsKKyAgICAgICAg
cmV0dXJuIHRoaXMuX2Z1bmN0aW9uczsKICAgICB9Ci19CiAKLS8vIEluaXRpYWxpc2UgdGhlIHN0
YXRpYyBtZW1iZXIgKEpTIGRvZXNuJ3QgYWxsb3cgc3RhdGljIGZpZWxkcyBkZWNsYXJlZCBpbiB0
aGUgY2xhc3MpCi1Td2l6emxlT3AuX2FsbFN3aXp6bGVPcGVyYXRvcnMgPSBudWxsOwpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKKyAgICBpbnN0YW50aWF0ZUltcGxlbWVudGF0aW9uKGZ1bmMp
CisgICAgeworICAgICAgICBmdW5jLmltcGxlbWVudGF0aW9uID0gKFt2ZWNdLCBub2RlKSA9PiB7
CisgICAgICAgICAgICBjb25zdCBvdXRwdXRCdWZmZXIgPSBuZXcgRUJ1ZmZlcih0aGlzLm91dFNp
emUpOworICAgICAgICAgICAgY29uc3QgcmVhZEluZGljZXMgPSB7ICd4JzogMCwgJ3knOiAxLCAn
eic6IDIsICd3JzogMyB9OworICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm91
dFNpemU7IGkrKykKKyAgICAgICAgICAgICAgICBvdXRwdXRCdWZmZXIuc2V0KGksIHZlYy5nZXQo
cmVhZEluZGljZXNbdGhpcy5jb21wb25lbnRzW2ldXSkpOworCisKKyAgICAgICAgICAgIHJldHVy
biBuZXcgRVB0cihvdXRwdXRCdWZmZXIsIDApOworICAgICAgICB9OworICAgICAgICBmdW5jLmlt
cGxlbWVudGF0aW9uRGF0YSA9IHRoaXM7CisgICAgfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1N5bnRoZXNp
emVBcnJheU9wZXJhdG9yTGVuZ3RoLmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkv
U3ludGhlc2l6ZUFycmF5T3BlcmF0b3JMZW5ndGguanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTcxOWM2MDUwZmVm
YWVlMzMxNWRjMWE5ZWU2NzE3ODdlNzBmYTFkMQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1dl
YkdQVVNoYWRpbmdMYW5ndWFnZVJJL1N5bnRoZXNpemVBcnJheU9wZXJhdG9yTGVuZ3RoLmpzCkBA
IC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworInVzZSBzdHJpY3QiOworCitmdW5jdGlvbiBzeW50aGVzaXplQXJyYXlPcGVyYXRvckxlbmd0
aChwcm9ncmFtKQoreworICAgIGNvbnN0IGFycmF5VHlwZXMgPSBuZXcgU2V0KCk7CisKKyAgICBj
bGFzcyBGaW5kQXJyYXlUeXBlcyBleHRlbmRzIFZpc2l0b3IgeworICAgICAgICB2aXNpdEFycmF5
VHlwZShub2RlKQorICAgICAgICB7CisgICAgICAgICAgICBhcnJheVR5cGVzLmFkZChub2RlKTsK
KyAgICAgICAgfQorICAgIH0KKworICAgIHByb2dyYW0udmlzaXQobmV3IEZpbmRBcnJheVR5cGVz
KCkpOworCisgICAgY29uc3QgdWludDMyID0gVHlwZVJlZi53cmFwKHByb2dyYW0uZ2xvYmFsTmFt
ZUNvbnRleHQuZ2V0KFR5cGUsICJ1aW50MzIiKSk7CisgICAgY29uc3QgbmFtZVJlc29sdmVyID0g
bmV3IE5hbWVSZXNvbHZlcihwcm9ncmFtLmdsb2JhbE5hbWVDb250ZXh0KTsKKyAgICB1aW50MzIu
dmlzaXQobmFtZVJlc29sdmVyKTsKKworICAgIGZvciAobGV0IGFycmF5VHlwZSBvZiBhcnJheVR5
cGVzKSB7CisgICAgICAgIGNvbnN0IHBhcmFtVHlwZSA9IFR5cGVSZWYud3JhcChhcnJheVR5cGUp
OworICAgICAgICBwYXJhbVR5cGUudmlzaXQobmFtZVJlc29sdmVyKTsKKyAgICAgICAgcGFyYW1U
eXBlLnR5cGUuZWxlbWVudFR5cGUudmlzaXQobmFtZVJlc29sdmVyKTsKKworICAgICAgICBsZXQg
cG9zc2libGVFeGlzdGluZ0Z1bmN0aW9ucyA9IHByb2dyYW0uZnVuY3Rpb25zLmdldCgib3BlcmF0
b3IubGVuZ3RoIik7CisgICAgICAgIGlmIChwb3NzaWJsZUV4aXN0aW5nRnVuY3Rpb25zKSB7Cisg
ICAgICAgICAgICAvLyBJZ25vcmUgdXNlci1kZWZpbmVkIGZ1bmN0aW9ucywgb25seSBpbmNsdWRl
IHRob3NlIGludHJvZHVjZWQgYmVsb3cuCisgICAgICAgICAgICBwb3NzaWJsZUV4aXN0aW5nRnVu
Y3Rpb25zID0gcG9zc2libGVFeGlzdGluZ0Z1bmN0aW9ucy5maWx0ZXIodCA9PiB0IGluc3RhbmNl
b2YgTmF0aXZlRnVuYyk7CisgICAgICAgICAgICBjb25zdCBvdmVybG9hZHMgPSByZXNvbHZlT3Zl
cmxvYWRJbXBsKHBvc3NpYmxlRXhpc3RpbmdGdW5jdGlvbnMsIFsgcGFyYW1UeXBlIF0sIHVpbnQz
Mik7CisgICAgICAgICAgICBpZiAob3ZlcmxvYWRzLmZ1bmMpCisgICAgICAgICAgICAgICAgY29u
dGludWU7CisgICAgICAgIH0KKworICAgICAgICBsZXQgbmF0aXZlRnVuYyA9IG5ldyBOYXRpdmVG
dW5jKAorICAgICAgICAgICAgYXJyYXlUeXBlLm9yaWdpbiwgIm9wZXJhdG9yLmxlbmd0aCIsIHVp
bnQzMiwKKyAgICAgICAgICAgIFsgbmV3IEZ1bmNQYXJhbWV0ZXIoYXJyYXlUeXBlLm9yaWdpbiwg
bnVsbCwgcGFyYW1UeXBlKSBdLAorICAgICAgICAgICAgZmFsc2UsIG51bGwpOworICAgICAgICBu
YXRpdmVGdW5jLmltcGxlbWVudGF0aW9uID0gKFthcnJheV0pID0+IEVQdHIuYm94KGFycmF5VHlw
ZS5udW1FbGVtZW50c1ZhbHVlKTsKKyAgICAgICAgcHJvZ3JhbS5hZGQobmF0aXZlRnVuYyk7CisK
KyAgICB9Cit9CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9TeW50
aGVzaXplQ29weUNvbnN0cnVjdG9yT3BlcmF0b3IuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFu
Z3VhZ2VSSS9TeW50aGVzaXplQ29weUNvbnN0cnVjdG9yT3BlcmF0b3IuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MGM3ZWI5MWFkMTliYmJmNmMzNjJiNzZhYjI0ZjljZDQxYzc1N2QxNAotLS0gL2Rldi9udWxsCisr
KyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1N5bnRoZXNpemVDb3B5Q29uc3RydWN0
b3JPcGVyYXRvci5qcwpAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKyJ1c2Ugc3RyaWN0IjsKKworZnVuY3Rpb24gc3ludGhlc2l6ZUNv
cHlDb25zdHJ1Y3Rvck9wZXJhdG9yKHByb2dyYW0pCit7CisgICAgY29uc3QgdHlwZXMgPSBuZXcg
U2V0KCk7CisKKyAgICBjbGFzcyBGaW5kQWxsVHlwZXMgZXh0ZW5kcyBWaXNpdG9yIHsKKyAgICAg
ICAgdmlzaXROYXRpdmVUeXBlKG5vZGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHR5cGVzLmFk
ZChub2RlKTsKKyAgICAgICAgfQorCisgICAgICAgIHZpc2l0U3RydWN0VHlwZShub2RlKQorICAg
ICAgICB7CisgICAgICAgICAgICB0eXBlcy5hZGQobm9kZSk7CisgICAgICAgICAgICBzdXBlci52
aXNpdFN0cnVjdFR5cGUobm9kZSk7CisgICAgICAgIH0KKworICAgICAgICB2aXNpdEVsZW1lbnRh
bFR5cGUobm9kZSkKKyAgICAgICAgeworICAgICAgICAgICAgdHlwZXMuYWRkKG5vZGUpOworICAg
ICAgICAgICAgc3VwZXIudmlzaXRFbGVtZW50YWxUeXBlKG5vZGUpOworICAgICAgICB9CisgICAg
fQorCisgICAgcHJvZ3JhbS52aXNpdChuZXcgRmluZEFsbFR5cGVzKCkpOworCisgICAgZm9yIChs
ZXQgdHlwZSBvZiB0eXBlcykgeworICAgICAgICBsZXQgbmF0aXZlRnVuYyA9IG5ldyBOYXRpdmVG
dW5jKHR5cGUub3JpZ2luLCAib3BlcmF0b3IgY2FzdCIsIFR5cGVSZWYud3JhcCh0eXBlKSwgWwor
ICAgICAgICAgICAgbmV3IEZ1bmNQYXJhbWV0ZXIodHlwZS5vcmlnaW4sIG51bGwsIFR5cGVSZWYu
d3JhcCh0eXBlKSkKKyAgICAgICAgXSwgdHJ1ZSwgbnVsbCk7CisgICAgICAgIG5hdGl2ZUZ1bmMu
aW1wbGVtZW50YXRpb24gPSAoW2FyZ10sIG5vZGUpID0+IHsKKyAgICAgICAgICAgIGxldCByZXN1
bHQgPSBuZXcgRVB0cihuZXcgRUJ1ZmZlcih0eXBlLnNpemUpLCAwKTsKKyAgICAgICAgICAgIHJl
c3VsdC5jb3B5RnJvbShhcmcsIHR5cGUuc2l6ZSk7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0
OworICAgICAgICB9OworICAgICAgICBwcm9ncmFtLmFkZChuYXRpdmVGdW5jKTsKKyAgICB9Cit9
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9TeW50aGVzaXplRGVm
YXVsdENvbnN0cnVjdG9yT3BlcmF0b3IuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VS
SS9TeW50aGVzaXplRGVmYXVsdENvbnN0cnVjdG9yT3BlcmF0b3IuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTI1
ZmU1MTJmZTJmZDE2MzFhNDk1OTMzMjJlYmYyMGQ2MThhZmQ2MQotLS0gL2Rldi9udWxsCisrKyBi
L1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1N5bnRoZXNpemVEZWZhdWx0Q29uc3RydWN0
b3JPcGVyYXRvci5qcwpAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKyJ1c2Ugc3RyaWN0IjsKKworZnVuY3Rpb24gc3ludGhlc2l6ZURl
ZmF1bHRDb25zdHJ1Y3Rvck9wZXJhdG9yKHByb2dyYW0pCit7CisgICAgY29uc3QgdHlwZXMgPSBu
ZXcgU2V0KCk7CisKKyAgICBjbGFzcyBGaW5kQWxsVHlwZXMgZXh0ZW5kcyBWaXNpdG9yIHsKKyAg
ICAgICAgdmlzaXROYXRpdmVUeXBlKG5vZGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHR5cGVz
LmFkZChub2RlKTsKKyAgICAgICAgfQorCisgICAgICAgIHZpc2l0U3RydWN0VHlwZShub2RlKQor
ICAgICAgICB7CisgICAgICAgICAgICB0eXBlcy5hZGQobm9kZSk7CisgICAgICAgICAgICBzdXBl
ci52aXNpdFN0cnVjdFR5cGUobm9kZSk7CisgICAgICAgIH0KKworICAgICAgICB2aXNpdEVsZW1l
bnRhbFR5cGUobm9kZSkKKyAgICAgICAgeworICAgICAgICAgICAgdHlwZXMuYWRkKG5vZGUpOwor
ICAgICAgICAgICAgc3VwZXIudmlzaXRFbGVtZW50YWxUeXBlKG5vZGUpOworICAgICAgICB9Cisg
ICAgfQorCisgICAgcHJvZ3JhbS52aXNpdChuZXcgRmluZEFsbFR5cGVzKCkpOworCisgICAgZm9y
IChsZXQgdHlwZSBvZiB0eXBlcykgeworICAgICAgICBsZXQgbmF0aXZlRnVuYyA9IG5ldyBOYXRp
dmVGdW5jKHR5cGUub3JpZ2luLCAib3BlcmF0b3IgY2FzdCIsIFR5cGVSZWYud3JhcCh0eXBlKSwg
W10sIHRydWUsIG51bGwpOworICAgICAgICBuYXRpdmVGdW5jLmltcGxlbWVudGF0aW9uID0gKFtd
LCBub2RlKSA9PiB7CisgICAgICAgICAgICBsZXQgcmVzdWx0ID0gbmV3IEVQdHIobmV3IEVCdWZm
ZXIodHlwZS5zaXplKSwgMCk7CisgICAgICAgICAgICBub2RlLnR5cGUucG9wdWxhdGVEZWZhdWx0
VmFsdWUocmVzdWx0LmJ1ZmZlciwgMCk7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAg
ICAgICB9OworICAgICAgICBwcm9ncmFtLmFkZChuYXRpdmVGdW5jKTsKKyAgICB9Cit9CmRpZmYg
LS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9TeW50aGVzaXplRW51bUZ1bmN0
aW9ucy5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1N5bnRoZXNpemVFbnVtRnVu
Y3Rpb25zLmpzCmluZGV4IDVhZjJiZGY5M2E4MDVmYzA4YzI5ZjFlYTA1MTBjZTI5ZTI4MGE1NmYu
LmQyOGZjZWJiMzk0ZmE5MDcyM2UwZDYxM2FhYTIyNTZiYjViMGIxNWEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1N5bnRoZXNpemVFbnVtRnVuY3Rpb25zLmpzCisr
KyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1N5bnRoZXNpemVFbnVtRnVuY3Rpb25z
LmpzCkBAIC0yMCw3ICsyMCw3IEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAidXNlIHN0cmljdCI7
CiAKQEAgLTI5LDM3ICsyOSwzNyBAQCBmdW5jdGlvbiBzeW50aGVzaXplRW51bUZ1bmN0aW9ucyhw
cm9ncmFtKQogICAgIGZvciAobGV0IHR5cGUgb2YgcHJvZ3JhbS50eXBlcy52YWx1ZXMoKSkgewog
ICAgICAgICBpZiAoISh0eXBlIGluc3RhbmNlb2YgRW51bVR5cGUpKQogICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgIAorCiAgICAgICAgIGxldCBuYXRpdmVGdW5jOwogICAgICAgICBsZXQg
aXNDYXN0ID0gZmFsc2U7CiAgICAgICAgIGxldCBzaGFkZXJUeXBlOwotICAgICAgICAKKwogICAg
ICAgICBuYXRpdmVGdW5jID0gbmV3IE5hdGl2ZUZ1bmMoCi0gICAgICAgICAgICB0eXBlLm9yaWdp
biwgIm9wZXJhdG9yPT0iLCBuZXcgVHlwZVJlZih0eXBlLm9yaWdpbiwgImJvb2wiLCBbXSksIFtd
LAorICAgICAgICAgICAgdHlwZS5vcmlnaW4sICJvcGVyYXRvcj09IiwgbmV3IFR5cGVSZWYodHlw
ZS5vcmlnaW4sICJib29sIiwgW10pLAogICAgICAgICAgICAgWwotICAgICAgICAgICAgICAgIG5l
dyBGdW5jUGFyYW1ldGVyKHR5cGUub3JpZ2luLCBudWxsLCBuZXcgVHlwZVJlZih0eXBlLm9yaWdp
biwgdHlwZS5uYW1lLCBbXSkpLAotICAgICAgICAgICAgICAgIG5ldyBGdW5jUGFyYW1ldGVyKHR5
cGUub3JpZ2luLCBudWxsLCBuZXcgVHlwZVJlZih0eXBlLm9yaWdpbiwgdHlwZS5uYW1lLCBbXSkp
CisgICAgICAgICAgICAgICAgbmV3IEZ1bmNQYXJhbWV0ZXIodHlwZS5vcmlnaW4sIG51bGwsIG5l
dyBUeXBlUmVmKHR5cGUub3JpZ2luLCB0eXBlLm5hbWUpKSwKKyAgICAgICAgICAgICAgICBuZXcg
RnVuY1BhcmFtZXRlcih0eXBlLm9yaWdpbiwgbnVsbCwgbmV3IFR5cGVSZWYodHlwZS5vcmlnaW4s
IHR5cGUubmFtZSkpCiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgaXNDYXN0LCBzaGFkZXJU
eXBlKTsKICAgICAgICAgbmF0aXZlRnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbbGVmdCwgcmlnaHRd
KSA9PiBFUHRyLmJveChsZWZ0LmxvYWRWYWx1ZSgpID09IHJpZ2h0LmxvYWRWYWx1ZSgpKTsKICAg
ICAgICAgcHJvZ3JhbS5hZGQobmF0aXZlRnVuYyk7Ci0gICAgICAgIAorCiAgICAgICAgIG5hdGl2
ZUZ1bmMgPSBuZXcgTmF0aXZlRnVuYygKLSAgICAgICAgICAgIHR5cGUub3JpZ2luLCAib3BlcmF0
b3IudmFsdWUiLCB0eXBlLmJhc2VUeXBlLnZpc2l0KG5ldyBSZXdyaXRlcigpKSwgW10sCisgICAg
ICAgICAgICB0eXBlLm9yaWdpbiwgIm9wZXJhdG9yLnZhbHVlIiwgdHlwZS5iYXNlVHlwZS52aXNp
dChuZXcgUmV3cml0ZXIoKSksCiAgICAgICAgICAgICBbbmV3IEZ1bmNQYXJhbWV0ZXIodHlwZS5v
cmlnaW4sIG51bGwsIG5ldyBUeXBlUmVmKHR5cGUub3JpZ2luLCB0eXBlLm5hbWUsIFtdKSldLAog
ICAgICAgICAgICAgaXNDYXN0LCBzaGFkZXJUeXBlKTsKICAgICAgICAgbmF0aXZlRnVuYy5pbXBs
ZW1lbnRhdGlvbiA9IChbdmFsdWVdKSA9PiB2YWx1ZTsKICAgICAgICAgcHJvZ3JhbS5hZGQobmF0
aXZlRnVuYyk7Ci0gICAgICAgIAorCiAgICAgICAgIG5hdGl2ZUZ1bmMgPSBuZXcgTmF0aXZlRnVu
YygKLSAgICAgICAgICAgIHR5cGUub3JpZ2luLCAib3BlcmF0b3IgY2FzdCIsIHR5cGUuYmFzZVR5
cGUudmlzaXQobmV3IFJld3JpdGVyKCkpLCBbXSwKKyAgICAgICAgICAgIHR5cGUub3JpZ2luLCAi
b3BlcmF0b3IgY2FzdCIsIHR5cGUuYmFzZVR5cGUudmlzaXQobmV3IFJld3JpdGVyKCkpLAogICAg
ICAgICAgICAgW25ldyBGdW5jUGFyYW1ldGVyKHR5cGUub3JpZ2luLCBudWxsLCBuZXcgVHlwZVJl
Zih0eXBlLm9yaWdpbiwgdHlwZS5uYW1lLCBbXSkpXSwKICAgICAgICAgICAgIGlzQ2FzdCwgc2hh
ZGVyVHlwZSk7CiAgICAgICAgIG5hdGl2ZUZ1bmMuaW1wbGVtZW50YXRpb24gPSAoW3ZhbHVlXSkg
PT4gdmFsdWU7CiAgICAgICAgIHByb2dyYW0uYWRkKG5hdGl2ZUZ1bmMpOwotICAgICAgICAKKwog
ICAgICAgICBuYXRpdmVGdW5jID0gbmV3IE5hdGl2ZUZ1bmMoCi0gICAgICAgICAgICB0eXBlLm9y
aWdpbiwgIm9wZXJhdG9yIGNhc3QiLCBuZXcgVHlwZVJlZih0eXBlLm9yaWdpbiwgdHlwZS5uYW1l
LCBbXSksIFtdLAorICAgICAgICAgICAgdHlwZS5vcmlnaW4sICJvcGVyYXRvciBjYXN0IiwgbmV3
IFR5cGVSZWYodHlwZS5vcmlnaW4sIHR5cGUubmFtZSwgW10pLAogICAgICAgICAgICAgW25ldyBG
dW5jUGFyYW1ldGVyKHR5cGUub3JpZ2luLCBudWxsLCB0eXBlLmJhc2VUeXBlLnZpc2l0KG5ldyBS
ZXdyaXRlcigpKSldLAogICAgICAgICAgICAgaXNDYXN0LCBzaGFkZXJUeXBlKTsKICAgICAgICAg
bmF0aXZlRnVuYy5pbXBsZW1lbnRhdGlvbiA9IChbdmFsdWVdKSA9PiB2YWx1ZTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1N5bnRoZXNpemVPcGVyYXRvckJvb2wu
anMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9TeW50aGVzaXplT3BlcmF0b3JCb29s
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmNjZTdmM2YyOWE4ZTEzZjc2MWE3MjNkYmQ5M2M5YTA3ZWViMGNlNTQK
LS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9TeW50aGVz
aXplT3BlcmF0b3JCb29sLmpzCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKyJ1c2Ugc3RyaWN0IjsKKworZnVuY3Rpb24gc3ludGhl
c2l6ZU9wZXJhdG9yQm9vbChwcm9ncmFtKQoreworICAgIGZvciAobGV0IHR5cGUgb2YgcHJvZ3Jh
bS50eXBlcy52YWx1ZXMoKSkgeworICAgICAgICBpZiAoISh0eXBlIGluc3RhbmNlb2YgU3RydWN0
VHlwZSkgJiYgISh0eXBlIGluc3RhbmNlb2YgRW51bVR5cGUpKQorICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgIAorICAgICAgICBjb25zdCBmdW5jID0gbmV3IE5hdGl2ZUZ1bmModHlwZS5v
cmlnaW4sICJvcGVyYXRvciBjYXN0IiwgVHlwZVJlZi53cmFwKHByb2dyYW0udHlwZXMuZ2V0KCJi
b29sIikpLCBbIG5ldyBGdW5jUGFyYW1ldGVyKHR5cGUub3JpZ2luLCBudWxsLCBUeXBlUmVmLndy
YXAodHlwZSkpIF0sIHRydWUsIG51bGwpOworICAgICAgICBjb25zdCBvcGVyYXRvckJvb2wgPSBu
ZXcgT3BlcmF0b3JCb29sKHR5cGUubmFtZSk7CisgICAgICAgIG9wZXJhdG9yQm9vbC5pbnN0YW50
aWF0ZUltcGxlbWVudGF0aW9uKGZ1bmMpOworICAgICAgICBwcm9ncmFtLmFkZChmdW5jKTsKKyAg
ICB9Cit9CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9TeW50aGVz
aXplU3RydWN0QWNjZXNzb3JzLmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvU3lu
dGhlc2l6ZVN0cnVjdEFjY2Vzc29ycy5qcwppbmRleCBmNzgxNmYyYjI1MmU5YmE0ZGE5ZWM4NGRl
ZjYxMWM1NWU0YmZlM2E5Li45MzdlNmUwMzAxZWNkNWE4YWJjY2VkNDgyZDMzYzRjODRmNTQ0ZTkz
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9TeW50aGVzaXplU3Ry
dWN0QWNjZXNzb3JzLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1N5bnRo
ZXNpemVTdHJ1Y3RBY2Nlc3NvcnMuanMKQEAgLTMxLDI3ICszMSwxMCBAQCBmdW5jdGlvbiBzeW50
aGVzaXplU3RydWN0QWNjZXNzb3JzKHByb2dyYW0pCiAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgCiAgICAgICAgIGZvciAobGV0IGZpZWxkIG9mIHR5cGUuZmllbGRzKSB7Ci0gICAgICAg
ICAgICBmdW5jdGlvbiBjcmVhdGVUeXBlUGFyYW1ldGVycygpCi0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIHR5cGUudHlwZVBhcmFtZXRlcnMubWFwKAotICAgICAgICAgICAg
ICAgICAgICB0eXBlUGFyYW1ldGVyID0+IHR5cGVQYXJhbWV0ZXIudmlzaXQobmV3IFR5cGVQYXJh
bWV0ZXJSZXdyaXRlcigpKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAg
ICAgIGZ1bmN0aW9uIGNyZWF0ZVR5cGVBcmd1bWVudHMoKQotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgIHJldHVybiB0eXBlUGFyYW1ldGVycy5tYXAodHlwZVBhcmFtZXRlciA9PiB0eXBl
UGFyYW1ldGVyLnZpc2l0KG5ldyBBdXRvV3JhcHBlcigpKSk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAKICAgICAgICAgICAgIGZ1bmN0aW9uIHNldHVwSW1wbGVtZW50YXRpb25EYXRhKG5h
dGl2ZUZ1bmMsIGltcGxlbWVudGF0aW9uKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAg
IG5hdGl2ZUZ1bmMuaW5zdGFudGlhdGVJbXBsZW1lbnRhdGlvbiA9IHN1YnN0aXR1dGlvbiA9PiB7
Ci0gICAgICAgICAgICAgICAgICAgIGxldCBuZXdUeXBlID0gdHlwZS5pbnN0YW50aWF0ZShuYXRp
dmVGdW5jLnR5cGVQYXJhbWV0ZXJzLm1hcCh0eXBlUGFyYW1ldGVyID0+IHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGxldCBzdWJzdGl0dXRlID0gc3Vic3RpdHV0aW9uLm1hcC5nZXQodHlwZVBh
cmFtZXRlcik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXN1YnN0aXR1dGUpCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJOdWxsIHN1YnN0aXR1dGUg
Zm9yIHR5cGUgcGFyYW1ldGVyICIgKyB0eXBlUGFyYW1ldGVyKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBzdWJzdGl0dXRlOwotICAgICAgICAgICAgICAgICAgICB9KSk7Ci0gICAg
ICAgICAgICAgICAgICAgIHJldHVybiB7dHlwZTogbmV3VHlwZSwgZmllbGROYW1lOiBmaWVsZC5u
YW1lfTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt0eXBlOiB0eXBlLCBmaWVsZE5hbWU6
IGZpZWxkLm5hbWV9OwogICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgbmF0aXZl
RnVuYy52aXNpdEltcGxlbWVudGF0aW9uRGF0YSA9IChpbXBsZW1lbnRhdGlvbkRhdGEsIHZpc2l0
b3IpID0+IHsKICAgICAgICAgICAgICAgICAgICAgLy8gVmlzaXRpbmcgdGhlIHR5cGUgZmlyc3Qg
ZW5zdXJlcyB0aGF0IHRoZSBzdHJ1Y3QgbGF5b3V0IGJ1aWxkZXIgZmlndXJlcyBvdXQgdGhlIGZp
ZWxkJ3MKQEAgLTg5LDIzICs3MiwyMSBAQCBmdW5jdGlvbiBzeW50aGVzaXplU3RydWN0QWNjZXNz
b3JzKHByb2dyYW0pCiAgICAgICAgICAgICAKICAgICAgICAgICAgIGZ1bmN0aW9uIGNyZWF0ZUZp
ZWxkVHlwZSgpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZpZWxkLnR5
cGUudmlzaXQobmV3IFN1YnN0aXR1dGlvbih0eXBlLnR5cGVQYXJhbWV0ZXJzLCB0eXBlUGFyYW1l
dGVycykpOworICAgICAgICAgICAgICAgIHJldHVybiBmaWVsZC50eXBlLnZpc2l0KG5ldyBBdXRv
V3JhcHBlcigpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIAogICAgICAgICAgICAgZnVu
Y3Rpb24gY3JlYXRlVHlwZVJlZigpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0
dXJuIFR5cGVSZWYuaW5zdGFudGlhdGUodHlwZSwgY3JlYXRlVHlwZUFyZ3VtZW50cygpKTsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gVHlwZVJlZi5pbnN0YW50aWF0ZSh0eXBlKTsKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIAogICAgICAgICAgICAgbGV0IGlzQ2FzdCA9IGZhbHNlOwogICAg
ICAgICAgICAgbGV0IHNoYWRlclR5cGU7Ci0gICAgICAgICAgICBsZXQgdHlwZVBhcmFtZXRlcnM7
CiAgICAgICAgICAgICBsZXQgbmF0aXZlRnVuYzsKIAogICAgICAgICAgICAgLy8gVGhlIGdldHRl
cjogb3BlcmF0b3IuZmllbGQKLSAgICAgICAgICAgIHR5cGVQYXJhbWV0ZXJzID0gY3JlYXRlVHlw
ZVBhcmFtZXRlcnMoKTsKICAgICAgICAgICAgIG5hdGl2ZUZ1bmMgPSBuZXcgTmF0aXZlRnVuYygK
LSAgICAgICAgICAgICAgICBmaWVsZC5vcmlnaW4sICJvcGVyYXRvci4iICsgZmllbGQubmFtZSwg
Y3JlYXRlRmllbGRUeXBlKCksIHR5cGVQYXJhbWV0ZXJzLAorICAgICAgICAgICAgICAgIGZpZWxk
Lm9yaWdpbiwgIm9wZXJhdG9yLiIgKyBmaWVsZC5uYW1lLCBjcmVhdGVGaWVsZFR5cGUoKSwKICAg
ICAgICAgICAgICAgICBbbmV3IEZ1bmNQYXJhbWV0ZXIoZmllbGQub3JpZ2luLCBudWxsLCBjcmVh
dGVUeXBlUmVmKCkpXSwgaXNDYXN0LCBzaGFkZXJUeXBlKTsKICAgICAgICAgICAgIHNldHVwSW1w
bGVtZW50YXRpb25EYXRhKG5hdGl2ZUZ1bmMsIChbYmFzZV0sIG9mZnNldCwgc3RydWN0U2l6ZSwg
ZmllbGRTaXplKSA9PiB7CiAgICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBFUHRyKG5l
dyBFQnVmZmVyKGZpZWxkU2l6ZSksIDApOwpAQCAtMTE1LDkgKzk2LDggQEAgZnVuY3Rpb24gc3lu
dGhlc2l6ZVN0cnVjdEFjY2Vzc29ycyhwcm9ncmFtKQogICAgICAgICAgICAgcHJvZ3JhbS5hZGQo
bmF0aXZlRnVuYyk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIC8vIFRoZSBzZXR0ZXI6IG9w
ZXJhdG9yLmZpZWxkPQotICAgICAgICAgICAgdHlwZVBhcmFtZXRlcnMgPSBjcmVhdGVUeXBlUGFy
YW1ldGVycygpOwogICAgICAgICAgICAgbmF0aXZlRnVuYyA9IG5ldyBOYXRpdmVGdW5jKAotICAg
ICAgICAgICAgICAgIGZpZWxkLm9yaWdpbiwgIm9wZXJhdG9yLiIgKyBmaWVsZC5uYW1lICsgIj0i
LCBjcmVhdGVUeXBlUmVmKCksIHR5cGVQYXJhbWV0ZXJzLAorICAgICAgICAgICAgICAgIGZpZWxk
Lm9yaWdpbiwgIm9wZXJhdG9yLiIgKyBmaWVsZC5uYW1lICsgIj0iLCBjcmVhdGVUeXBlUmVmKCks
CiAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICBuZXcgRnVuY1BhcmFtZXRl
cihmaWVsZC5vcmlnaW4sIG51bGwsIGNyZWF0ZVR5cGVSZWYoKSksCiAgICAgICAgICAgICAgICAg
ICAgIG5ldyBGdW5jUGFyYW1ldGVyKGZpZWxkLm9yaWdpbiwgbnVsbCwgY3JlYXRlRmllbGRUeXBl
KCkpCkBAIC0xMzQsMTAgKzExNCw4IEBAIGZ1bmN0aW9uIHN5bnRoZXNpemVTdHJ1Y3RBY2Nlc3Nv
cnMocHJvZ3JhbSkKICAgICAgICAgICAgIC8vIFRoZSBhbmRlcjogb3BlcmF0b3ImLmZpZWxkCiAg
ICAgICAgICAgICBmdW5jdGlvbiBzZXR1cEFuZGVyKGFkZHJlc3NTcGFjZSkKICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICB0eXBlUGFyYW1ldGVycyA9IGNyZWF0ZVR5cGVQYXJhbWV0ZXJz
KCk7CiAgICAgICAgICAgICAgICAgbmF0aXZlRnVuYyA9IG5ldyBOYXRpdmVGdW5jKAogICAgICAg
ICAgICAgICAgICAgICBmaWVsZC5vcmlnaW4sICJvcGVyYXRvciYuIiArIGZpZWxkLm5hbWUsIG5l
dyBQdHJUeXBlKGZpZWxkLm9yaWdpbiwgYWRkcmVzc1NwYWNlLCBjcmVhdGVGaWVsZFR5cGUoKSks
Ci0gICAgICAgICAgICAgICAgICAgIHR5cGVQYXJhbWV0ZXJzLAogICAgICAgICAgICAgICAgICAg
ICBbCiAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgRnVuY1BhcmFtZXRlcigKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBmaWVsZC5vcmlnaW4sIG51bGwsCmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UZXJuYXJ5RXhwcmVzc2lvbi5qcyBiL1Rvb2xzL1dl
YkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Rlcm5hcnlFeHByZXNzaW9uLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2
ZjVhMDAyMWM4OWI5YjQ4ZTU2NjM5Y2E1OGYxZTUxOWYyNmY2OWEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UZXJuYXJ5RXhwcmVzc2lvbi5qcwpAQCAt
MCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICov
CisidXNlIHN0cmljdCI7CisKK2NsYXNzIFRlcm5hcnlFeHByZXNzaW9uIGV4dGVuZHMgRXhwcmVz
c2lvbiB7CisgICAgY29uc3RydWN0b3Iob3JpZ2luLCBwcmVkaWNhdGUsIGJvZHlFeHByZXNzaW9u
LCBlbHNlRXhwcmVzc2lvbikKKyAgICB7CisgICAgICAgIHN1cGVyKG9yaWdpbik7CisgICAgICAg
IHRoaXMuX3ByZWRpY2F0ZSA9IHByZWRpY2F0ZTsKKyAgICAgICAgdGhpcy5fYm9keUV4cHJlc3Np
b24gPSBib2R5RXhwcmVzc2lvbjsKKyAgICAgICAgdGhpcy5fZWxzZUV4cHJlc3Npb24gPSBlbHNl
RXhwcmVzc2lvbjsKKyAgICAgICAgdGhpcy5faXNMVmFsdWUgPSBudWxsOyAvLyBXZSB1c2UgbnVs
bCB0byBpbmRpY2F0ZSB0aGF0IHdlIGRvbid0IGtub3cgeWV0LgorICAgIH0KKyAgICAKKyAgICBn
ZXQgcHJlZGljYXRlKCkgeyByZXR1cm4gdGhpcy5fcHJlZGljYXRlOyB9CisgICAgZ2V0IGJvZHlF
eHByZXNzaW9uKCkgeyByZXR1cm4gdGhpcy5fYm9keUV4cHJlc3Npb247IH0KKyAgICBnZXQgZWxz
ZUV4cHJlc3Npb24oKSB7IHJldHVybiB0aGlzLl9lbHNlRXhwcmVzc2lvbjsgfQorICAgIGdldCBp
c0xWYWx1ZSgpIHsgcmV0dXJuIHRoaXMuX2lzTFZhbHVlOyB9CisgICAgc2V0IGlzTFZhbHVlKHZh
bHVlKSB7IHRoaXMuX2lzTFZhbHVlID0gdmFsdWU7IH0KKyAgICAKKyAgICB0b1N0cmluZygpCisg
ICAgeworICAgICAgICByZXR1cm4gIigiICsgdGhpcy5wcmVkaWNhdGUgKyAiKSA/ICgiICsgdGhp
cy5ib2R5RXhwcmVzc2lvbiArICIpIDogKCIgKyB0aGlzLmVsc2VFeHByZXNzaW9uICsgIikiOwor
ICAgIH0KK30KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Rlc3Qu
aHRtbCBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Rlc3QuaHRtbAppbmRleCBhNjQx
ZDMwNDY0OTNkYWJjMmQ3NDVlN2QwZWM5NmQwYmRkNDQxYmJjLi43NzFlYjFiMjA5ZGQ4NWY1OThk
NzgzZjJjZGY1MDU0OWFhOGE4Zjg0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFu
Z3VhZ2VSSS9UZXN0Lmh0bWwKKysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVGVz
dC5odG1sCkBAIC0xMiw2ICsxMiw3IEBACiA8c2NyaXB0IHNyYz0iQ3JlYXRlTGl0ZXJhbFR5cGUu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbi5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iU3dpenpsZU9wLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJOYXRpdmVUeXBlLmpzIj48L3NjcmlwdD4KIAogPHNjcmlwdCBzcmM9IkFkZHJlc3NTcGFj
ZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iQW5vbnltb3VzVmFyaWFibGUuanMiPjwvc2Ny
aXB0PgpAQCAtMjIsNyArMjMsMTQgQEAKIDxzY3JpcHQgc3JjPSJCbG9jay5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iQm9vbExpdGVyYWwuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IkJy
ZWFrLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJCdWlsdGluVmVjdG9yQ2FzdHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9IkJ1aWx0aW5WZWN0b3JHZXR0ZXIuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9IkJ1aWx0aW5WZWN0b3JTZXR0ZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9IkJ1aWx0aW5WZWN0b3JJbmRleEdldHRlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
QnVpbHRpblZlY3RvckluZGV4U2V0dGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJCdWls
dGluVmVjdG9yRXF1YWxpdHlPcGVyYXRvci5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iQ2Fs
bEV4cHJlc3Npb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IkNhbGxFeHByZXNzaW9uVHlw
ZUFyZ3VtZW50UmVzb2x2ZXIuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IkNhbGxGdW5jdGlv
bi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iQ2hlY2suanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9IkNoZWNrTGl0ZXJhbFR5cGVzLmpzIj48L3NjcmlwdD4KQEAgLTM2LDcgKzQ0LDYgQEAK
IDxzY3JpcHQgc3JjPSJDbG9uZVByb2dyYW0uanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IkNv
bW1hRXhwcmVzc2lvbi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iQ29uc3RleHByRm9sZGVy
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJDb25zdGV4cHJUeXBlUGFyYW1ldGVyLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJDb250aW51ZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iQ29udmVydFB0clRvQXJyYXlSZWZFeHByZXNzaW9uLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSJEb1doaWxlTG9vcC5qcyI+PC9zY3JpcHQ+CkBAIC01NSw3ICs2Miw2IEBACiA8c2NyaXB0
IHNyYz0iRXh0ZXJuYWxPcmlnaW4uanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IkZpZWxkLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJGaW5kSGlnaFpvbWJpZXMuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9IkZsYXR0ZW5Qcm90b2NvbEV4dGVuZHMuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9IkZsYXR0ZW5lZFN0cnVjdE9mZnNldEdhdGhlcmVyLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSJGbG9hdExpdGVyYWwuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IkZsb2F0TGl0
ZXJhbFR5cGUuanMiPjwvc2NyaXB0PgpAQCAtNjMsNyArNjksNiBAQAogPHNjcmlwdCBzcmM9IkZv
ckxvb3AuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IkZ1bmMuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9IkZ1bmNEZWYuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9IkZ1bmNJbnN0YW50
aWF0b3IuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IkZ1bmNQYXJhbWV0ZXIuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9IkZ1bmN0aW9uTGlrZUJsb2NrLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSJIaWdoWm9tYmllRmluZGVyLmpzIj48L3NjcmlwdD4KQEAgLTczLDcgKzc4LDYgQEAK
IDxzY3JpcHQgc3JjPSJJbmZlclR5cGVzRm9yQ2FsbC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iSW5saW5lLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJJbmxpbmVyLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSJJbnN0YW50aWF0ZUltbWVkaWF0ZXMuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9IkludExpdGVyYWwuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IkludExpdGVy
YWxUeXBlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJJbnRyaW5zaWNzLmpzIj48L3Njcmlw
dD4KQEAgLTkxLDExICs5NSwxNCBAQAogPHNjcmlwdCBzcmM9Ik5hbWVSZXNvbHZlci5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iTmF0aXZlRnVuYy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iTmF0aXZlRnVuY0luc3RhbmNlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJOYXRpdmVQ
YXJhbWV0ZXJpemVkVHlwZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iTmF0aXZlVHlwZS5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iTmF0aXZlVHlwZUluc3RhbmNlLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSJOb3JtYWxVc2VQcm9wZXJ0eVJlc29sdmVyLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSJOdWxsTGl0ZXJhbC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iTnVs
bFR5cGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ik9wZXJhdG9yQW5kZXJJbmRleC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iT3BlcmF0b3JBcnJheVJlZkxlbmd0aC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iT3BlcmF0b3JCb29sLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSJPcmlnaW5LaW5kLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJPdmVybG9hZFJlc29sdXRp
b25GYWlsdXJlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJQYXJzZS5qcyI+PC9zY3JpcHQ+
CkBAIC0xMDMsMTQgKzExMCwxMSBAQAogPHNjcmlwdCBzcmM9IlByb3BlcnR5UmVzb2x2ZXIuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IlByb2dyYW0uanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9IlByb2dyYW1XaXRoVW5uZWNlc3NhcnlUaGluZ3NSZW1vdmVkLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSJQcm90b2NvbC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iUHJvdG9jb2xE
ZWNsLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJQcm90b2NvbEZ1bmNEZWNsLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSJQcm90b2NvbFJlZi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iUHRyVHlwZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iUmVhZE1vZGlmeVdyaXRlRXhw
cmVzc2lvbi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iUmVjdXJzaW9uQ2hlY2tlci5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iUmVjdXJzaXZlVHlwZUNoZWNrZXIuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9IlJlc29sdmVDYWxsRXhwcmVzc2lvbnNXaXRoVHlwZUFyZ3VtZW50cy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iUmVzb2x2ZU5hbWVzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSJSZXNvbHZlT3ZlcmxvYWRJbXBsLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSJSZXNvbHZlUHJvcGVydGllcy5qcyI+PC9zY3JpcHQ+CkBAIC0xMjIsMTkgKzEyNiwyMyBAQAog
PHNjcmlwdCBzcmM9IlN0YXRlbWVudENsb25lci5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
U3RydWN0TGF5b3V0QnVpbGRlci5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iU3RydWN0VHlw
ZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iU3Vic3RpdHV0aW9uLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSJTd2l0Y2hDYXNlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJTd2l0
Y2hTdGF0ZW1lbnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IlN5bnRoZXNpemVBcnJheU9w
ZXJhdG9yTGVuZ3RoLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJTeW50aGVzaXplRW51bUZ1
bmN0aW9ucy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iU3ludGhlc2l6ZVN0cnVjdEFjY2Vz
c29ycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iU3ludGhlc2l6ZU9wZXJhdG9yQm9vbC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iU3ludGhlc2l6ZUNvcHlDb25zdHJ1Y3Rvck9wZXJh
dG9yLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJTeW50aGVzaXplRGVmYXVsdENvbnN0cnVj
dG9yT3BlcmF0b3IuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IlRyYXBTdGF0ZW1lbnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IlR5cGVEZWYuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9IlR5cGVEZWZSZXNvbHZlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iVGVybmFyeUV4
cHJlc3Npb24uanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IlRyYXBTdGF0ZW1lbnQuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9IlR5cGVEZWYuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
IlR5cGVEZWZSZXNvbHZlci5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iVHlwZU9yVmFyaWFi
bGVSZWYuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9IlR5cGVQYXJhbWV0ZXJSZXdyaXRlci5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iVHlwZVJlZi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iVHlwZVZhcmlhYmxlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJUeXBlVmFyaWFi
bGVUcmFja2VyLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJUeXBlZFZhbHVlLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSJVaW50TGl0ZXJhbC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0iVWludExpdGVyYWxUeXBlLmpzIj48L3NjcmlwdD4KQEAgLTE0Miw2ICsxNTAsNyBAQAogPHNj
cmlwdCBzcmM9IlVucmVhY2hhYmxlQ29kZUNoZWNrZXIuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9IlZhcmlhYmxlRGVjbC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iVmFyaWFibGVSZWYu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IlZlY3RvclR5cGUuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9IlZpc2l0aW5nU2V0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJXU3ludGF4
RXJyb3IuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IldUcmFwRXJyb3IuanMiPjwvc2NyaXB0
PgpAQCAtMTcyLDYgKzE4MSwxMiBAQCBmdW5jdGlvbiBkb1Rlc3RJbkJyb3dzZXIoKQogfQogPC9z
Y3JpcHQ+CiAKKzxzdHlsZT4KKyAgICBwcmUgeworICAgICAgICBtYXJnaW46MDsKKyAgICB9Cis8
L3N0eWxlPgorCiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9ImRvVGVzdEluQnJvd3NlcigpIj4KIDxk
aXYgaWQ9Im1lc3NhZ2VzIj48L2Rpdj4KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdM
YW5ndWFnZVJJL1Rlc3QuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UZXN0Lmpz
CmluZGV4IDMyMmEwYTcxNzg1MGQ3MzI5MDg0OGU5M2JmOTViZDNhMjQyNDFjNjYuLjJiZDljMmUw
ZTIwM2E2MmRlNTAyYjRhZmZmYjE1OTAwMTZmY2UwMjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQ
VVNoYWRpbmdMYW5ndWFnZVJJL1Rlc3QuanMKKysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1
YWdlUkkvVGVzdC5qcwpAQCAtMjYsOSArMjYsOSBAQAogCiBpZiAodGhpcy53aW5kb3cpIHsKICAg
ICB0aGlzLnByaW50ID0gKHRleHQpID0+IHsKLSAgICAgICAgdmFyIHNwYW4gPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJzcGFuIik7CisgICAgICAgIHZhciBzcGFuID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgicHJlIik7CiAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtZXNzYWdl
cyIpLmFwcGVuZENoaWxkKHNwYW4pOwotICAgICAgICBzcGFuLmlubmVySFRNTCA9IHRleHQucmVw
bGFjZSgvIC9nLCAiJm5ic3A7IikucmVwbGFjZSgvXG4vZywgIjxicj4iKSArICI8YnI+IjsKKyAg
ICAgICAgc3Bhbi5pbm5lclRleHQgPSB0ZXh0OwogICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCxk
b2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodCk7CiAgICAgfTsKICAgICB0aGlzLnByZWNpc2VUaW1l
ID0gKCkgPT4gcGVyZm9ybWFuY2Uubm93KCkgLyAxMDAwOwpAQCAtMTg3LDcgKzE4Nyw3IEBAIHRl
c3RzLmNvbW1lbnRQYXJzaW5nID0gZnVuY3Rpb24oKSB7CiAgICAgICAgIHJ1bnMgb3ZlciBtdWx0
aXBsZSBsaW5lcyAqLwogICAgICAgICBib29sIGZvbygpIHsgcmV0dXJuIHRydWU7IH0KICAgICBg
KTsKLSAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBb
XSwgW10pLCB0cnVlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb28iLCBbXSksIHRydWUpOwogCiAgICAgY2hlY2tGYWlsKAogICAgICAgICAoKSA9PiBk
b1ByZXAoYApAQCAtMTk4LDk0ICsxOTgsMTU2IEBAIHRlc3RzLmNvbW1lbnRQYXJzaW5nID0gZnVu
Y3Rpb24oKSB7CiAgICAgICAgIChlKSA9PiBlIGluc3RhbmNlb2YgV1N5bnRheEVycm9yKTsKIH0K
IAordGVzdHMudGVybmFyeUV4cHJlc3Npb24gPSBmdW5jdGlvbigpIHsKKyAgICBsZXQgcHJvZ3Jh
bSA9IGRvUHJlcChgCisgICAgICAgIGludCBmb28oaW50IHgpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIHJldHVybiB4IDwgMyA/IDQgOiA1OworICAgICAgICB9CisgICAgICAgIGludCBiYXIoaW50
IHgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGludCB5ID0gMTsKKyAgICAgICAgICAgIGludCB6
ID0gMjsKKyAgICAgICAgICAgICh4IDwgMyA/IHkgOiB6KSA9IDc7CisgICAgICAgICAgICByZXR1
cm4geTsKKyAgICAgICAgfQorICAgICAgICBpbnQgYmF6KGludCB4KQorICAgICAgICB7CisgICAg
ICAgICAgICByZXR1cm4geCA8IDEwID8gMTEgOiB4IDwgMTIgPyAxNCA6IDE1OworICAgICAgICB9
CisgICAgICAgIGludCBxdXV4KGludCB4KQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4g
MyA8IDQgPyB4IDogNTsKKyAgICAgICAgfQorICAgIGApOworICAgIGNoZWNrSW50KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDc2Nyld
KSwgNSk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28i
LCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgMildKSwgNCk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJiYXIiLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgMildKSwg
Nyk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJiYXIiLCBb
XSwgW21ha2VJbnQocHJvZ3JhbSwgOCldKSwgMSk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJiYXoiLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgOCldKSwgMTEp
OworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiYmF6IiwgW10s
IFttYWtlSW50KHByb2dyYW0sIDkpXSksIDExKTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImJheiIsIFtdLCBbbWFrZUludChwcm9ncmFtLCAxMCldKSwgMTQp
OworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiYmF6IiwgW10s
IFttYWtlSW50KHByb2dyYW0sIDExKV0pLCAxNCk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJiYXoiLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgMTIpXSksIDE1
KTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImJheiIsIFtd
LCBbbWFrZUludChwcm9ncmFtLCAxMyldKSwgMTUpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAicXV1eCIsIFtdLCBbbWFrZUludChwcm9ncmFtLCAxNCldKSwg
MTQpOworICAgIGNoZWNrRmFpbCgKKyAgICAgICAgKCkgPT4gZG9QcmVwKGAKKyAgICAgICAgICAg
IGludCBmb28oKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGludCB4OworICAgICAg
ICAgICAgICAgICg0IDwgNSA/IHggOiA3KSA9IDg7CisgICAgICAgICAgICB9CisgICAgICAgIGAp
LAorICAgICAgICAoZSkgPT4gZSBpbnN0YW5jZW9mIFdUeXBlRXJyb3IpOworICAgIGNoZWNrRmFp
bCgKKyAgICAgICAgKCkgPT4gZG9QcmVwKGAKKyAgICAgICAgICAgIGludCBmb28oKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIGludCB4OworICAgICAgICAgICAgICAgIGZsb2F0IHk7
CisgICAgICAgICAgICAgICAgcmV0dXJuIDQgPCA1ID8geCA6IHk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIGApLAorICAgICAgICAoZSkgPT4gZSBpbnN0YW5jZW9mIFdUeXBlRXJyb3IpOworICAg
IGNoZWNrRmFpbCgKKyAgICAgICAgKCkgPT4gZG9QcmVwKGAKKyAgICAgICAgICAgIGludCBmb28o
KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJldHVybiA0IDwgNSA/IDYgOiA3LjA7
CisgICAgICAgICAgICB9CisgICAgICAgIGApLAorICAgICAgICAoZSkgPT4gZSBpbnN0YW5jZW9m
IFdUeXBlRXJyb3IpOworfQorCiB0ZXN0cy5saXRlcmFsQm9vbCA9IGZ1bmN0aW9uKCkgewogICAg
IGxldCBwcm9ncmFtID0gZG9QcmVwKCJib29sIGZvbygpIHsgcmV0dXJuIHRydWU7IH0iKTsKLSAg
ICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW10p
LCB0cnVlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28iLCBbXSksIHRydWUpOwogfQogCiB0ZXN0cy5pZGVudGl0eUJvb2wgPSBmdW5jdGlvbigpIHsK
ICAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcCgiYm9vbCBmb28oYm9vbCB4KSB7IHJldHVybiB4OyB9
Iik7Ci0gICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwg
W10sIFttYWtlQm9vbChwcm9ncmFtLCB0cnVlKV0pLCB0cnVlKTsKLSAgICBjaGVja0Jvb2wocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VCb29sKHByb2dyYW0s
IGZhbHNlKV0pLCBmYWxzZSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vIiwgW21ha2VCb29sKHByb2dyYW0sIHRydWUpXSksIHRydWUpOworICAgIGNo
ZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlQm9vbChw
cm9ncmFtLCBmYWxzZSldKSwgZmFsc2UpOwogfQogCiB0ZXN0cy5pbnRTaW1wbGVNYXRoID0gZnVu
Y3Rpb24oKSB7CiAgICAgbGV0IHByb2dyYW0gPSBkb1ByZXAoImludCBmb28oaW50IHgsIGludCB5
KSB7IHJldHVybiB4ICsgeTsgfSIpOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDcpLCBtYWtlSW50KHByb2dy
YW0sIDUpXSksIDEyKTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDcpLCBtYWtlSW50KHByb2dyYW0sIDUpXSksIDEy
KTsKICAgICBwcm9ncmFtID0gZG9QcmVwKCJpbnQgZm9vKGludCB4LCBpbnQgeSkgeyByZXR1cm4g
eCAtIHk7IH0iKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA3KSwgbWFrZUludChwcm9ncmFtLCA1KV0pLCAy
KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtd
LCBbbWFrZUludChwcm9ncmFtLCA1KSwgbWFrZUludChwcm9ncmFtLCA3KV0pLCAtMik7CisgICAg
Y2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChw
cm9ncmFtLCA3KSwgbWFrZUludChwcm9ncmFtLCA1KV0pLCAyKTsKKyAgICBjaGVja0ludChwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDUpLCBt
YWtlSW50KHByb2dyYW0sIDcpXSksIC0yKTsKICAgICBwcm9ncmFtID0gZG9QcmVwKCJpbnQgZm9v
KGludCB4LCBpbnQgeSkgeyByZXR1cm4geCAqIHk7IH0iKTsKLSAgICBjaGVja0ludChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA3KSwg
bWFrZUludChwcm9ncmFtLCA1KV0pLCAzNSk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgNyksIG1ha2VJbnQo
cHJvZ3JhbSwgLTUpXSksIC0zNSk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCA3KSwgbWFrZUludChwcm9ncmFtLCA1
KV0pLCAzNSk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28iLCBbbWFrZUludChwcm9ncmFtLCA3KSwgbWFrZUludChwcm9ncmFtLCAtNSldKSwgLTM1KTsK
ICAgICBwcm9ncmFtID0gZG9QcmVwKCJpbnQgZm9vKGludCB4LCBpbnQgeSkgeyByZXR1cm4geCAv
IHk7IH0iKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZv
byIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA3KSwgbWFrZUludChwcm9ncmFtLCAyKV0pLCAzKTsK
LSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBb
bWFrZUludChwcm9ncmFtLCA3KSwgbWFrZUludChwcm9ncmFtLCAtMildKSwgLTMpOworICAgIGNo
ZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJv
Z3JhbSwgNyksIG1ha2VJbnQocHJvZ3JhbSwgMildKSwgMyk7CisgICAgY2hlY2tJbnQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCA3KSwgbWFr
ZUludChwcm9ncmFtLCAtMildKSwgLTMpOwogfQogCiB0ZXN0cy51aW50U2ltcGxlTWF0aCA9IGZ1
bmN0aW9uKCkgewogICAgIGxldCBwcm9ncmFtID0gZG9QcmVwKCJ1aW50IGZvbyh1aW50IHgsIHVp
bnQgeSkgeyByZXR1cm4geCArIHk7IH0iKTsKLSAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VVaW50KHByb2dyYW0sIDcpLCBtYWtlVWlu
dChwcm9ncmFtLCA1KV0pLCAxMik7CisgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0sIDcpLCBtYWtlVWludChwcm9ncmFt
LCA1KV0pLCAxMik7CiAgICAgcHJvZ3JhbSA9IGRvUHJlcCgidWludCBmb28odWludCB4LCB1aW50
IHkpIHsgcmV0dXJuIHggLSB5OyB9Iik7Ci0gICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlVWludChwcm9ncmFtLCA3KSwgbWFrZVVpbnQo
cHJvZ3JhbSwgNSldKSwgMik7Ci0gICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vIiwgW10sIFttYWtlVWludChwcm9ncmFtLCA1KSwgbWFrZVVpbnQocHJvZ3Jh
bSwgNyldKSwgNDI5NDk2NzI5NCk7CisgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0sIDcpLCBtYWtlVWludChwcm9ncmFt
LCA1KV0pLCAyKTsKKyAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbbWFrZVVpbnQocHJvZ3JhbSwgNSksIG1ha2VVaW50KHByb2dyYW0sIDcpXSksIDQy
OTQ5NjcyOTQpOwogICAgIHByb2dyYW0gPSBkb1ByZXAoInVpbnQgZm9vKHVpbnQgeCwgdWludCB5
KSB7IHJldHVybiB4ICogeTsgfSIpOwotICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZVVpbnQocHJvZ3JhbSwgNyksIG1ha2VVaW50KHBy
b2dyYW0sIDUpXSksIDM1KTsKKyAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28iLCBbbWFrZVVpbnQocHJvZ3JhbSwgNyksIG1ha2VVaW50KHByb2dyYW0sIDUp
XSksIDM1KTsKICAgICBwcm9ncmFtID0gZG9QcmVwKCJ1aW50IGZvbyh1aW50IHgsIHVpbnQgeSkg
eyByZXR1cm4geCAvIHk7IH0iKTsKLSAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VVaW50KHByb2dyYW0sIDcpLCBtYWtlVWludChwcm9n
cmFtLCAyKV0pLCAzKTsKKyAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb28iLCBbbWFrZVVpbnQocHJvZ3JhbSwgNyksIG1ha2VVaW50KHByb2dyYW0sIDIpXSks
IDMpOwogfQogCiB0ZXN0cy51aW50OFNpbXBsZU1hdGggPSBmdW5jdGlvbigpIHsKICAgICBsZXQg
cHJvZ3JhbSA9IGRvUHJlcCgidWludDggZm9vKHVpbnQ4IHgsIHVpbnQ4IHkpIHsgcmV0dXJuIHgg
KyB5OyB9Iik7Ci0gICAgY2hlY2tVaW50OChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbyIsIFtdLCBbbWFrZVVpbnQ4KHByb2dyYW0sIDcpLCBtYWtlVWludDgocHJvZ3JhbSwgNSld
KSwgMTIpOworICAgIGNoZWNrVWludDgocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28iLCBbbWFrZVVpbnQ4KHByb2dyYW0sIDcpLCBtYWtlVWludDgocHJvZ3JhbSwgNSldKSwgMTIp
OwogICAgIHByb2dyYW0gPSBkb1ByZXAoInVpbnQ4IGZvbyh1aW50OCB4LCB1aW50OCB5KSB7IHJl
dHVybiB4IC0geTsgfSIpOwotICAgIGNoZWNrVWludDgocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28iLCBbXSwgW21ha2VVaW50OChwcm9ncmFtLCA3KSwgbWFrZVVpbnQ4KHByb2dy
YW0sIDUpXSksIDIpOwotICAgIGNoZWNrVWludDgocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb28iLCBbXSwgW21ha2VVaW50OChwcm9ncmFtLCA1KSwgbWFrZVVpbnQ4KHByb2dyYW0s
IDcpXSksIDI1NCk7CisgICAgY2hlY2tVaW50OChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbyIsIFttYWtlVWludDgocHJvZ3JhbSwgNyksIG1ha2VVaW50OChwcm9ncmFtLCA1KV0p
LCAyKTsKKyAgICBjaGVja1VpbnQ4KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW21ha2VVaW50OChwcm9ncmFtLCA1KSwgbWFrZVVpbnQ4KHByb2dyYW0sIDcpXSksIDI1NCk7
CiAgICAgcHJvZ3JhbSA9IGRvUHJlcCgidWludDggZm9vKHVpbnQ4IHgsIHVpbnQ4IHkpIHsgcmV0
dXJuIHggKiB5OyB9Iik7Ci0gICAgY2hlY2tVaW50OChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbyIsIFtdLCBbbWFrZVVpbnQ4KHByb2dyYW0sIDcpLCBtYWtlVWludDgocHJvZ3Jh
bSwgNSldKSwgMzUpOworICAgIGNoZWNrVWludDgocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb28iLCBbbWFrZVVpbnQ4KHByb2dyYW0sIDcpLCBtYWtlVWludDgocHJvZ3JhbSwgNSld
KSwgMzUpOwogICAgIHByb2dyYW0gPSBkb1ByZXAoInVpbnQ4IGZvbyh1aW50OCB4LCB1aW50OCB5
KSB7IHJldHVybiB4IC8geTsgfSIpOwotICAgIGNoZWNrVWludDgocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VVaW50OChwcm9ncmFtLCA3KSwgbWFrZVVpbnQ4
KHByb2dyYW0sIDIpXSksIDMpOworICAgIGNoZWNrVWludDgocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQ4KHByb2dyYW0sIDcpLCBtYWtlVWludDgocHJvZ3Jh
bSwgMildKSwgMyk7CiB9CiAKIHRlc3RzLmVxdWFsaXR5ID0gZnVuY3Rpb24oKSB7CiAgICAgbGV0
IHByb2dyYW0gPSBkb1ByZXAoImJvb2wgZm9vKHVpbnQgeCwgdWludCB5KSB7IHJldHVybiB4ID09
IHk7IH0iKTsKLSAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28iLCBbXSwgW21ha2VVaW50KHByb2dyYW0sIDcpLCBtYWtlVWludChwcm9ncmFtLCA1KV0pLCBm
YWxzZSk7Ci0gICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW10sIFttYWtlVWludChwcm9ncmFtLCA3KSwgbWFrZVVpbnQocHJvZ3JhbSwgNyldKSwgdHJ1
ZSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwg
W21ha2VVaW50KHByb2dyYW0sIDcpLCBtYWtlVWludChwcm9ncmFtLCA1KV0pLCBmYWxzZSk7Cisg
ICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VV
aW50KHByb2dyYW0sIDcpLCBtYWtlVWludChwcm9ncmFtLCA3KV0pLCB0cnVlKTsKICAgICBwcm9n
cmFtID0gZG9QcmVwKCJib29sIGZvbyh1aW50OCB4LCB1aW50OCB5KSB7IHJldHVybiB4ID09IHk7
IH0iKTsKLSAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28i
LCBbXSwgW21ha2VVaW50OChwcm9ncmFtLCA3KSwgbWFrZVVpbnQ4KHByb2dyYW0sIDUpXSksIGZh
bHNlKTsKLSAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28i
LCBbXSwgW21ha2VVaW50OChwcm9ncmFtLCA3KSwgbWFrZVVpbnQ4KHByb2dyYW0sIDcpXSksIHRy
dWUpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIs
IFttYWtlVWludDgocHJvZ3JhbSwgNyksIG1ha2VVaW50OChwcm9ncmFtLCA1KV0pLCBmYWxzZSk7
CisgICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21h
a2VVaW50OChwcm9ncmFtLCA3KSwgbWFrZVVpbnQ4KHByb2dyYW0sIDcpXSksIHRydWUpOwogICAg
IHByb2dyYW0gPSBkb1ByZXAoImJvb2wgZm9vKGludCB4LCBpbnQgeSkgeyByZXR1cm4geCA9PSB5
OyB9Iik7Ci0gICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW10sIFttYWtlSW50KHByb2dyYW0sIDcpLCBtYWtlSW50KHByb2dyYW0sIDUpXSksIGZhbHNl
KTsKLSAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBb
XSwgW21ha2VJbnQocHJvZ3JhbSwgNyksIG1ha2VJbnQocHJvZ3JhbSwgNyldKSwgdHJ1ZSk7Cisg
ICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJ
bnQocHJvZ3JhbSwgNyksIG1ha2VJbnQocHJvZ3JhbSwgNSldKSwgZmFsc2UpOworICAgIGNoZWNr
Qm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dy
YW0sIDcpLCBtYWtlSW50KHByb2dyYW0sIDcpXSksIHRydWUpOwogICAgIHByb2dyYW0gPSBkb1By
ZXAoImJvb2wgZm9vKGJvb2wgeCwgYm9vbCB5KSB7IHJldHVybiB4ID09IHk7IH0iKTsKLSAgICBj
aGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VC
b29sKHByb2dyYW0sIGZhbHNlKSwgbWFrZUJvb2wocHJvZ3JhbSwgdHJ1ZSldKSwgZmFsc2UpOwot
ICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBb
bWFrZUJvb2wocHJvZ3JhbSwgdHJ1ZSksIG1ha2VCb29sKHByb2dyYW0sIGZhbHNlKV0pLCBmYWxz
ZSk7Ci0gICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwg
W10sIFttYWtlQm9vbChwcm9ncmFtLCBmYWxzZSksIG1ha2VCb29sKHByb2dyYW0sIGZhbHNlKV0p
LCB0cnVlKTsKLSAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28iLCBbXSwgW21ha2VCb29sKHByb2dyYW0sIHRydWUpLCBtYWtlQm9vbChwcm9ncmFtLCB0cnVl
KV0pLCB0cnVlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbbWFrZUJvb2wocHJvZ3JhbSwgZmFsc2UpLCBtYWtlQm9vbChwcm9ncmFtLCB0cnVl
KV0pLCBmYWxzZSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW21ha2VCb29sKHByb2dyYW0sIHRydWUpLCBtYWtlQm9vbChwcm9ncmFtLCBmYWxz
ZSldKSwgZmFsc2UpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbyIsIFttYWtlQm9vbChwcm9ncmFtLCBmYWxzZSksIG1ha2VCb29sKHByb2dyYW0sIGZh
bHNlKV0pLCB0cnVlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb28iLCBbbWFrZUJvb2wocHJvZ3JhbSwgdHJ1ZSksIG1ha2VCb29sKHByb2dyYW0sIHRy
dWUpXSksIHRydWUpOwogfQogCiB0ZXN0cy5sb2dpY2FsTmVnYXRpb24gPSBmdW5jdGlvbigpCiB7
CiAgICAgbGV0IHByb2dyYW0gPSBkb1ByZXAoImJvb2wgZm9vKGJvb2wgeCkgeyByZXR1cm4gIXg7
IH0iKTsKLSAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28i
LCBbXSwgW21ha2VCb29sKHByb2dyYW0sIHRydWUpXSksIGZhbHNlKTsKLSAgICBjaGVja0Jvb2wo
cHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VCb29sKHByb2dy
YW0sIGZhbHNlKV0pLCB0cnVlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbbWFrZUJvb2wocHJvZ3JhbSwgdHJ1ZSldKSwgZmFsc2UpOworICAg
IGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlQm9v
bChwcm9ncmFtLCBmYWxzZSldKSwgdHJ1ZSk7CiB9CiAKIHRlc3RzLm5vdEVxdWFsaXR5ID0gZnVu
Y3Rpb24oKSB7CiAgICAgbGV0IHByb2dyYW0gPSBkb1ByZXAoImJvb2wgZm9vKHVpbnQgeCwgdWlu
dCB5KSB7IHJldHVybiB4ICE9IHk7IH0iKTsKLSAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VVaW50KHByb2dyYW0sIDcpLCBtYWtlVWlu
dChwcm9ncmFtLCA1KV0pLCB0cnVlKTsKLSAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VVaW50KHByb2dyYW0sIDcpLCBtYWtlVWludChw
cm9ncmFtLCA3KV0pLCBmYWxzZSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0sIDcpLCBtYWtlVWludChwcm9ncmFt
LCA1KV0pLCB0cnVlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb28iLCBbbWFrZVVpbnQocHJvZ3JhbSwgNyksIG1ha2VVaW50KHByb2dyYW0sIDcpXSks
IGZhbHNlKTsKICAgICBwcm9ncmFtID0gZG9QcmVwKCJib29sIGZvbyh1aW50OCB4LCB1aW50OCB5
KSB7IHJldHVybiB4ICE9IHk7IH0iKTsKLSAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VVaW50OChwcm9ncmFtLCA3KSwgbWFrZVVpbnQ4
KHByb2dyYW0sIDUpXSksIHRydWUpOwotICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZVVpbnQ4KHByb2dyYW0sIDcpLCBtYWtlVWludDgo
cHJvZ3JhbSwgNyldKSwgZmFsc2UpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludDgocHJvZ3JhbSwgNyksIG1ha2VVaW50OChwcm9n
cmFtLCA1KV0pLCB0cnVlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28iLCBbbWFrZVVpbnQ4KHByb2dyYW0sIDcpLCBtYWtlVWludDgocHJvZ3JhbSwg
NyldKSwgZmFsc2UpOwogICAgIHByb2dyYW0gPSBkb1ByZXAoImJvb2wgZm9vKGludCB4LCBpbnQg
eSkgeyByZXR1cm4geCAhPSB5OyB9Iik7Ci0gICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDcpLCBtYWtlSW50KHBy
b2dyYW0sIDUpXSksIHRydWUpOwotICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA3KSwgbWFrZUludChwcm9ncmFt
LCA3KV0pLCBmYWxzZSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNyksIG1ha2VJbnQocHJvZ3JhbSwgNSldKSwg
dHJ1ZSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW21ha2VJbnQocHJvZ3JhbSwgNyksIG1ha2VJbnQocHJvZ3JhbSwgNyldKSwgZmFsc2UpOwog
ICAgIHByb2dyYW0gPSBkb1ByZXAoImJvb2wgZm9vKGJvb2wgeCwgYm9vbCB5KSB7IHJldHVybiB4
ICE9IHk7IH0iKTsKLSAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbXSwgW21ha2VCb29sKHByb2dyYW0sIGZhbHNlKSwgbWFrZUJvb2wocHJvZ3JhbSwg
dHJ1ZSldKSwgdHJ1ZSk7Ci0gICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vIiwgW10sIFttYWtlQm9vbChwcm9ncmFtLCB0cnVlKSwgbWFrZUJvb2wocHJvZ3Jh
bSwgZmFsc2UpXSksIHRydWUpOwotICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUJvb2wocHJvZ3JhbSwgZmFsc2UpLCBtYWtlQm9vbChw
cm9ncmFtLCBmYWxzZSldKSwgZmFsc2UpOwotICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUJvb2wocHJvZ3JhbSwgdHJ1ZSksIG1ha2VC
b29sKHByb2dyYW0sIHRydWUpXSksIGZhbHNlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUJvb2wocHJvZ3JhbSwgZmFsc2UpLCBtYWtl
Qm9vbChwcm9ncmFtLCB0cnVlKV0pLCB0cnVlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUJvb2wocHJvZ3JhbSwgdHJ1ZSksIG1ha2VC
b29sKHByb2dyYW0sIGZhbHNlKV0pLCB0cnVlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUJvb2wocHJvZ3JhbSwgZmFsc2UpLCBtYWtl
Qm9vbChwcm9ncmFtLCBmYWxzZSldKSwgZmFsc2UpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlQm9vbChwcm9ncmFtLCB0cnVlKSwgbWFr
ZUJvb2wocHJvZ3JhbSwgdHJ1ZSldKSwgZmFsc2UpOwogfQogCiB0ZXN0cy5lcXVhbGl0eVR5cGVG
YWlsdXJlID0gZnVuY3Rpb24oKQpAQCAtMjk4LDIxICszNjAsMTMgQEAgdGVzdHMuZXF1YWxpdHlU
eXBlRmFpbHVyZSA9IGZ1bmN0aW9uKCkKIHRlc3RzLmdlbmVyYWxOZWdhdGlvbiA9IGZ1bmN0aW9u
KCkKIHsKICAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcCgiYm9vbCBmb28oaW50IHgpIHsgcmV0dXJu
ICF4OyB9Iik7Ci0gICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDcpXSksIGZhbHNlKTsKLSAgICBjaGVja0Jvb2wo
cHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3Jh
bSwgMCldKSwgdHJ1ZSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNyldKSwgZmFsc2UpOworICAgIGNoZWNrQm9v
bChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0s
IDApXSksIHRydWUpOwogfQogCiB0ZXN0cy5hZGQxID0gZnVuY3Rpb24oKSB7CiAgICAgbGV0IHBy
b2dyYW0gPSBkb1ByZXAoImludCBmb28oaW50IHgpIHsgcmV0dXJuIHggKyAxOyB9Iik7Ci0gICAg
Y2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJ
bnQocHJvZ3JhbSwgNDIpXSksIDQzKTsKLX0KLQotdGVzdHMuc2ltcGxlR2VuZXJpYyA9IGZ1bmN0
aW9uKCkgewotICAgIGxldCBwcm9ncmFtID0gZG9QcmVwKGAKLSAgICAgICAgVCBpZDxUPihUIHgp
IHsgcmV0dXJuIHg7IH0KLSAgICAgICAgaW50IGZvbyhpbnQgeCkgeyByZXR1cm4gaWQoeCkgKyAx
OyB9Ci0gICAgYCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgNDIpXSksIDQzKTsKKyAgICBjaGVja0ludChw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDQy
KV0pLCA0Myk7CiB9CiAKIHRlc3RzLm5hbWVSZXNvbHV0aW9uRmFpbHVyZSA9IGZ1bmN0aW9uKCkK
QEAgLTMzMSw3ICszODUsNyBAQCB0ZXN0cy5zaW1wbGVWYXJpYWJsZSA9IGZ1bmN0aW9uKCkKICAg
ICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0lu
dChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9n
cmFtLCA0MildKSwgNDIpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNDIpXSksIDQyKTsKIH0KIAogdGVzdHMuc2lt
cGxlQXNzaWdubWVudCA9IGZ1bmN0aW9uKCkKQEAgLTM0NCw3ICszOTgsNyBAQCB0ZXN0cy5zaW1w
bGVBc3NpZ25tZW50ID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAg
ICAgICAgfQogICAgIGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDQyKV0pLCA0Mik7CisgICAgY2hlY2tJ
bnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFt
LCA0MildKSwgNDIpOwogfQogCiB0ZXN0cy5zaW1wbGVEZWZhdWx0ID0gZnVuY3Rpb24oKQpAQCAt
MzU2LDcgKzQxMCw3IEBAIHRlc3RzLnNpbXBsZURlZmF1bHQgPSBmdW5jdGlvbigpCiAgICAgICAg
ICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICB9CiAgICAgYCk7Ci0gICAgY2hlY2tJbnQocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW10pLCAwKTsKKyAgICBjaGVj
a0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgMCk7CiB9CiAK
IHRlc3RzLnNpbXBsZURlcmVmZXJlbmNlID0gZnVuY3Rpb24oKQpAQCAtMzY5LDcgKzQyMyw3IEBA
IHRlc3RzLnNpbXBsZURlcmVmZXJlbmNlID0gZnVuY3Rpb24oKQogICAgIGApOwogICAgIGxldCBi
dWZmZXIgPSBuZXcgRUJ1ZmZlcigxKTsKICAgICBidWZmZXIuc2V0KDAsIDEzKTsKLSAgICBjaGVj
a0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbVHlwZWRWYWx1
ZS5ib3gobmV3IFB0clR5cGUoZXh0ZXJuYWxPcmlnaW4sICJkZXZpY2UiLCBwcm9ncmFtLmludHJp
bnNpY3MuaW50MzIpLCBuZXcgRVB0cihidWZmZXIsIDApKV0pLCAxMyk7CisgICAgY2hlY2tJbnQo
cHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbVHlwZWRWYWx1ZS5ib3gobmV3
IFB0clR5cGUoZXh0ZXJuYWxPcmlnaW4sICJkZXZpY2UiLCBwcm9ncmFtLmludHJpbnNpY3MuaW50
MzIpLCBuZXcgRVB0cihidWZmZXIsIDApKV0pLCAxMyk7CiB9CiAKIHRlc3RzLmRlcmVmZXJlbmNl
U3RvcmUgPSBmdW5jdGlvbigpCkBAIC0zODIsNyArNDM2LDcgQEAgdGVzdHMuZGVyZWZlcmVuY2VT
dG9yZSA9IGZ1bmN0aW9uKCkKICAgICBgKTsKICAgICBsZXQgYnVmZmVyID0gbmV3IEVCdWZmZXIo
MSk7CiAgICAgYnVmZmVyLnNldCgwLCAxMyk7Ci0gICAgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28iLCBbXSwgW1R5cGVkVmFsdWUuYm94KG5ldyBQdHJUeXBlKGV4dGVybmFsT3JpZ2luLCAiZGV2
aWNlIiwgcHJvZ3JhbS5pbnRyaW5zaWNzLmludDMyKSwgbmV3IEVQdHIoYnVmZmVyLCAwKSldKTsK
KyAgICBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtUeXBlZFZhbHVlLmJveChuZXcgUHRy
VHlwZShleHRlcm5hbE9yaWdpbiwgImRldmljZSIsIHByb2dyYW0uaW50cmluc2ljcy5pbnQzMiks
IG5ldyBFUHRyKGJ1ZmZlciwgMCkpXSk7CiAgICAgaWYgKGJ1ZmZlci5nZXQoMCkgIT0gNTIpCiAg
ICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgYnVmZmVyIHRvIGNvbnRhaW4gNTIgYnV0
IGl0IGNvbnRhaW5zOiAiICsgYnVmZmVyLmdldCgwKSk7CiB9CkBAIC0zOTYsNyArNDUwLDcgQEAg
dGVzdHMuc2ltcGxlTWFrZVB0ciA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJldHVybiAmeDsK
ICAgICAgICAgfQogICAgIGApOwotICAgIGxldCByZXN1bHQgPSBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbyIsIFtdLCBbXSk7CisgICAgbGV0IHJlc3VsdCA9IGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW10pOwogICAgIGlmICghcmVzdWx0LnR5cGUuaXNQdHIpCiAgICAgICAgIHRocm93
IG5ldyBFcnJvcigiUmV0dXJuIHR5cGUgaXMgbm90IGEgcG9pbnRlcjogIiArIHJlc3VsdC50eXBl
KTsKICAgICBpZiAoIXJlc3VsdC50eXBlLmVsZW1lbnRUeXBlLmVxdWFscyhwcm9ncmFtLmludHJp
bnNpY3MuaW50MzIpKQpAQCAtNDE4LDcgKzQ3Miw3IEBAIHRlc3RzLnRocmVhZEFycmF5TG9hZCA9
IGZ1bmN0aW9uKCkKICAgICBgKTsKICAgICBsZXQgYnVmZmVyID0gbmV3IEVCdWZmZXIoMSk7CiAg
ICAgYnVmZmVyLnNldCgwLCA4OSk7Ci0gICAgbGV0IHJlc3VsdCA9IGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vIiwgW10sIFtUeXBlZFZhbHVlLmJveChuZXcgQXJyYXlSZWZUeXBlKGV4dGVybmFs
T3JpZ2luLCAidGhyZWFkIiwgcHJvZ3JhbS5pbnRyaW5zaWNzLmludDMyKSwgbmV3IEVBcnJheVJl
ZihuZXcgRVB0cihidWZmZXIsIDApLCAxKSldKTsKKyAgICBsZXQgcmVzdWx0ID0gY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28iLCBbVHlwZWRWYWx1ZS5ib3gobmV3IEFycmF5UmVmVHlwZShleHRl
cm5hbE9yaWdpbiwgInRocmVhZCIsIHByb2dyYW0uaW50cmluc2ljcy5pbnQzMiksIG5ldyBFQXJy
YXlSZWYobmV3IEVQdHIoYnVmZmVyLCAwKSwgMSkpXSk7CiAgICAgY2hlY2tJbnQocHJvZ3JhbSwg
cmVzdWx0LCA4OSk7CiB9CiAKQEAgLTQzMiw3ICs0ODYsNyBAQCB0ZXN0cy50aHJlYWRBcnJheUxv
YWRJbnRMaXRlcmFsID0gZnVuY3Rpb24oKQogICAgIGApOwogICAgIGxldCBidWZmZXIgPSBuZXcg
RUJ1ZmZlcigxKTsKICAgICBidWZmZXIuc2V0KDAsIDg5KTsKLSAgICBsZXQgcmVzdWx0ID0gY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW1R5cGVkVmFsdWUuYm94KG5ldyBBcnJheVJl
ZlR5cGUoZXh0ZXJuYWxPcmlnaW4sICJ0aHJlYWQiLCBwcm9ncmFtLmludHJpbnNpY3MuaW50MzIp
LCBuZXcgRUFycmF5UmVmKG5ldyBFUHRyKGJ1ZmZlciwgMCksIDEpKV0pOworICAgIGxldCByZXN1
bHQgPSBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtUeXBlZFZhbHVlLmJveChuZXcgQXJy
YXlSZWZUeXBlKGV4dGVybmFsT3JpZ2luLCAidGhyZWFkIiwgcHJvZ3JhbS5pbnRyaW5zaWNzLmlu
dDMyKSwgbmV3IEVBcnJheVJlZihuZXcgRVB0cihidWZmZXIsIDApLCAxKSldKTsKICAgICBjaGVj
a0ludChwcm9ncmFtLCByZXN1bHQsIDg5KTsKIH0KIApAQCAtNDQ2LDcgKzUwMCw3IEBAIHRlc3Rz
LmRldmljZUFycmF5TG9hZCA9IGZ1bmN0aW9uKCkKICAgICBgKTsKICAgICBsZXQgYnVmZmVyID0g
bmV3IEVCdWZmZXIoMSk7CiAgICAgYnVmZmVyLnNldCgwLCA4OSk7Ci0gICAgbGV0IHJlc3VsdCA9
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFtUeXBlZFZhbHVlLmJveChuZXcgQXJy
YXlSZWZUeXBlKGV4dGVybmFsT3JpZ2luLCAiZGV2aWNlIiwgcHJvZ3JhbS5pbnRyaW5zaWNzLmlu
dDMyKSwgbmV3IEVBcnJheVJlZihuZXcgRVB0cihidWZmZXIsIDApLCAxKSldKTsKKyAgICBsZXQg
cmVzdWx0ID0gY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbVHlwZWRWYWx1ZS5ib3gobmV3
IEFycmF5UmVmVHlwZShleHRlcm5hbE9yaWdpbiwgImRldmljZSIsIHByb2dyYW0uaW50cmluc2lj
cy5pbnQzMiksIG5ldyBFQXJyYXlSZWYobmV3IEVQdHIoYnVmZmVyLCAwKSwgMSkpXSk7CiAgICAg
Y2hlY2tJbnQocHJvZ3JhbSwgcmVzdWx0LCA4OSk7CiB9CiAKQEAgLTQ2MywxMCArNTE3LDEwIEBA
IHRlc3RzLnRocmVhZEFycmF5U3RvcmUgPSBmdW5jdGlvbigpCiAgICAgbGV0IGFycmF5UmVmID0g
VHlwZWRWYWx1ZS5ib3goCiAgICAgICAgIG5ldyBBcnJheVJlZlR5cGUoZXh0ZXJuYWxPcmlnaW4s
ICJ0aHJlYWQiLCBwcm9ncmFtLmludHJpbnNpY3MuaW50MzIpLAogICAgICAgICBuZXcgRUFycmF5
UmVmKG5ldyBFUHRyKGJ1ZmZlciwgMCksIDEpKTsKLSAgICBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbyIsIFtdLCBbYXJyYXlSZWYsIG1ha2VJbnQocHJvZ3JhbSwgNjUpXSk7CisgICAgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJmb28iLCBbYXJyYXlSZWYsIG1ha2VJbnQocHJvZ3JhbSwgNjUpXSk7
CiAgICAgaWYgKGJ1ZmZlci5nZXQoMCkgIT0gNjUpCiAgICAgICAgIHRocm93IG5ldyBFcnJvcigi
QmFkIHZhbHVlIHN0b3JlZCBpbnRvIGJ1ZmZlciAoZXhwZWN0ZWQgNjUpOiAiICsgYnVmZmVyLmdl
dCgwKSk7Ci0gICAgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW2FycmF5UmVmLCBt
YWtlSW50KHByb2dyYW0sIC0xMTEpXSk7CisgICAgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28i
LCBbYXJyYXlSZWYsIG1ha2VJbnQocHJvZ3JhbSwgLTExMSldKTsKICAgICBpZiAoYnVmZmVyLmdl
dCgwKSAhPSAtMTExKQogICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCB2YWx1ZSBzdG9yZWQg
aW50byBidWZmZXIgKGV4cGVjdGVkIC0xMTEpOiAiICsgYnVmZmVyLmdldCgwKSk7CiB9CkBAIC00
ODQsMTAgKzUzOCwxMCBAQCB0ZXN0cy5kZXZpY2VBcnJheVN0b3JlID0gZnVuY3Rpb24oKQogICAg
IGxldCBhcnJheVJlZiA9IFR5cGVkVmFsdWUuYm94KAogICAgICAgICBuZXcgQXJyYXlSZWZUeXBl
KGV4dGVybmFsT3JpZ2luLCAiZGV2aWNlIiwgcHJvZ3JhbS5pbnRyaW5zaWNzLmludDMyKSwKICAg
ICAgICAgbmV3IEVBcnJheVJlZihuZXcgRVB0cihidWZmZXIsIDApLCAxKSk7Ci0gICAgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW2FycmF5UmVmLCBtYWtlSW50KHByb2dyYW0sIDY1
KV0pOworICAgIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW2FycmF5UmVmLCBtYWtlSW50
KHByb2dyYW0sIDY1KV0pOwogICAgIGlmIChidWZmZXIuZ2V0KDApICE9IDY1KQogICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoIkJhZCB2YWx1ZSBzdG9yZWQgaW50byBidWZmZXIgKGV4cGVjdGVkIDY1
KTogIiArIGJ1ZmZlci5nZXQoMCkpOwotICAgIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwg
W10sIFthcnJheVJlZiwgbWFrZUludChwcm9ncmFtLCAtMTExKV0pOworICAgIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW2FycmF5UmVmLCBtYWtlSW50KHByb2dyYW0sIC0xMTEpXSk7CiAg
ICAgaWYgKGJ1ZmZlci5nZXQoMCkgIT0gLTExMSkKICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJC
YWQgdmFsdWUgc3RvcmVkIGludG8gYnVmZmVyIChleHBlY3RlZCAtMTExKTogIiArIGJ1ZmZlci5n
ZXQoMCkpOwogfQpAQCAtNTA1LDMyICs1NTksMTQgQEAgdGVzdHMuZGV2aWNlQXJyYXlTdG9yZUlu
dExpdGVyYWwgPSBmdW5jdGlvbigpCiAgICAgbGV0IGFycmF5UmVmID0gVHlwZWRWYWx1ZS5ib3go
CiAgICAgICAgIG5ldyBBcnJheVJlZlR5cGUoZXh0ZXJuYWxPcmlnaW4sICJkZXZpY2UiLCBwcm9n
cmFtLmludHJpbnNpY3MuaW50MzIpLAogICAgICAgICBuZXcgRUFycmF5UmVmKG5ldyBFUHRyKGJ1
ZmZlciwgMCksIDEpKTsKLSAgICBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbYXJy
YXlSZWYsIG1ha2VJbnQocHJvZ3JhbSwgNjUpXSk7CisgICAgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbYXJyYXlSZWYsIG1ha2VJbnQocHJvZ3JhbSwgNjUpXSk7CiAgICAgaWYgKGJ1ZmZl
ci5nZXQoMCkgIT0gNjUpCiAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIHZhbHVlIHN0b3Jl
ZCBpbnRvIGJ1ZmZlciAoZXhwZWN0ZWQgNjUpOiAiICsgYnVmZmVyLmdldCgwKSk7Ci0gICAgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW2FycmF5UmVmLCBtYWtlSW50KHByb2dyYW0s
IC0xMTEpXSk7CisgICAgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbYXJyYXlSZWYsIG1h
a2VJbnQocHJvZ3JhbSwgLTExMSldKTsKICAgICBpZiAoYnVmZmVyLmdldCgwKSAhPSAtMTExKQog
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCB2YWx1ZSBzdG9yZWQgaW50byBidWZmZXIgKGV4
cGVjdGVkIC0xMTEpOiAiICsgYnVmZmVyLmdldCgwKSk7CiB9CiAKLXRlc3RzLnNpbXBsZVByb3Rv
Y29sID0gZnVuY3Rpb24oKQotewotICAgIGxldCBwcm9ncmFtID0gZG9QcmVwKGAKLSAgICAgICAg
cHJvdG9jb2wgTXlBZGRhYmxlIHsKLSAgICAgICAgICAgIE15QWRkYWJsZSBvcGVyYXRvcisoTXlB
ZGRhYmxlLCBNeUFkZGFibGUpOwotICAgICAgICB9Ci0gICAgICAgIFQgYWRkPFQ6TXlBZGRhYmxl
PihUIGEsIFQgYikKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIGEgKyBiOwotICAgICAg
ICB9Ci0gICAgICAgIGludCBmb28oaW50IHgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVy
biBhZGQoeCwgNzMpOwotICAgICAgICB9Ci0gICAgYCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgNDUpXSks
IDQ1ICsgNzMpOwotfQotCiB0ZXN0cy50eXBlTWlzbWF0Y2hSZXR1cm4gPSBmdW5jdGlvbigpCiB7
CiAgICAgY2hlY2tGYWlsKApAQCAtNTg0LDEzICs2MjAsMTIgQEAgdGVzdHMuYmFkQWRkID0gZnVu
Y3Rpb24oKQogewogICAgIGNoZWNrRmFpbCgKICAgICAgICAgKCkgPT4gZG9QcmVwKGAKLSAgICAg
ICAgICAgIHZvaWQgYmFyPFQ+KFQpIHsgfQogICAgICAgICAgICAgdm9pZCBmb28oaW50IHgsIHVp
bnQgeSkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBiYXIoeCArIHkpOworICAgICAg
ICAgICAgICAgIHVpbnQgeiA9IHggKyB5OwogICAgICAgICAgICAgfQogICAgICAgICBgKSwKLSAg
ICAgICAgKGUpID0+IGUgaW5zdGFuY2VvZiBXVHlwZUVycm9yICYmIGUubWVzc2FnZS5pbmRleE9m
KCJuYXRpdmUgaW50MzIgb3BlcmF0b3IrPD4oaW50MzIsaW50MzIpIikgIT0gLTEpOworICAgICAg
ICAoZSkgPT4gZSBpbnN0YW5jZW9mIFdUeXBlRXJyb3IgJiYgZS5tZXNzYWdlLmluZGV4T2YoIm5h
dGl2ZSBpbnQzMiBvcGVyYXRvcisoaW50MzIsaW50MzIpIikgIT0gLTEpOwogfQogCiB0ZXN0cy5s
ZXhlcktleXdvcmQgPSBmdW5jdGlvbigpCkBAIC02NjYsNyArNzAxLDcgQEAgdGVzdHMuc2ltcGxl
U3RydWN0ID0gZnVuY3Rpb24oKQogICAgIGxldCBidWZmZXIgPSBuZXcgRUJ1ZmZlcigyKTsKICAg
ICBidWZmZXIuc2V0KDAsIDYyKTsKICAgICBidWZmZXIuc2V0KDEsIDI0KTsKLSAgICBsZXQgcmVz
dWx0ID0gY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW25ldyBUeXBlZFZhbHVlKHN0
cnVjdFR5cGUsIG5ldyBFUHRyKGJ1ZmZlciwgMCkpXSk7CisgICAgbGV0IHJlc3VsdCA9IGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW25ldyBUeXBlZFZhbHVlKHN0cnVjdFR5cGUsIG5ldyBF
UHRyKGJ1ZmZlciwgMCkpXSk7CiAgICAgaWYgKCFyZXN1bHQudHlwZS5lcXVhbHMoc3RydWN0VHlw
ZSkpCiAgICAgICAgIHRocm93IG5ldyBFcnJvcigiV3JvbmcgcmVzdWx0IHR5cGU6ICIgKyByZXN1
bHQudHlwZSk7CiAgICAgbGV0IHggPSByZXN1bHQuZVB0ci5nZXQoMCk7CkBAIC02NzcsNTcgKzcx
MiwxMSBAQCB0ZXN0cy5zaW1wbGVTdHJ1Y3QgPSBmdW5jdGlvbigpCiAgICAgICAgIHRocm93IG5l
dyBFcnJvcigiV3JvbmcgcmVzdWx0IGZvciB5OiAiICsgeSArICIgKHggKyAiICsgeCArICIpIik7
CiB9CiAKLXRlc3RzLmdlbmVyaWNTdHJ1Y3RJbnN0YW5jZSA9IGZ1bmN0aW9uKCkKLXsKLSAgICBs
ZXQgcHJvZ3JhbSA9IGRvUHJlcChgCi0gICAgICAgIHN0cnVjdCBGb288VD4gewotICAgICAgICAg
ICAgVCB4OwotICAgICAgICAgICAgVCB5OwotICAgICAgICB9Ci0gICAgICAgIEZvbzxpbnQ+IGZv
byhGb288aW50PiBmb28pCi0gICAgICAgIHsKLSAgICAgICAgICAgIEZvbzxpbnQ+IHJlc3VsdDsK
LSAgICAgICAgICAgIHJlc3VsdC54ID0gZm9vLnk7Ci0gICAgICAgICAgICByZXN1bHQueSA9IGZv
by54OwotICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICAgICAgfQotICAgIGApOwotICAg
IGxldCBzdHJ1Y3RUeXBlID0gVHlwZVJlZi5pbnN0YW50aWF0ZShwcm9ncmFtLnR5cGVzLmdldCgi
Rm9vIiksIFtwcm9ncmFtLmludHJpbnNpY3MuaW50MzJdKTsKLSAgICBsZXQgYnVmZmVyID0gbmV3
IEVCdWZmZXIoMik7Ci0gICAgYnVmZmVyLnNldCgwLCA2Mik7Ci0gICAgYnVmZmVyLnNldCgxLCAy
NCk7Ci0gICAgbGV0IHJlc3VsdCA9IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFtu
ZXcgVHlwZWRWYWx1ZShzdHJ1Y3RUeXBlLCBuZXcgRVB0cihidWZmZXIsIDApKV0pOwotICAgIGxl
dCB4ID0gcmVzdWx0LmVQdHIuZ2V0KDApOwotICAgIGxldCB5ID0gcmVzdWx0LmVQdHIuZ2V0KDEp
OwotICAgIGlmICh4ICE9IDI0KQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIldyb25nIHJlc3Vs
dCBmb3IgeDogIiArIHggKyAiICh5ID0gIiArIHkgKyAiKSIpOwotICAgIGlmICh5ICE9IDYyKQot
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIldyb25nIHJlc3VsdCBmb3IgeTogIiArIHkgKyAiICh4
ICsgIiArIHggKyAiKSIpOwotfQotCi10ZXN0cy5kb3VibGVHZW5lcmljQ2FsbHNEb3VibGVHZW5l
cmljID0gZnVuY3Rpb24oKQotewotICAgIGRvUHJlcChgCi0gICAgICAgIHZvaWQgZm9vPFQsIFU+
KFQsIFUpIHsgfQotICAgICAgICB2b2lkIGJhcjxWLCBXPihWIHgsIFcgeSkgeyBmb28oeCwgeSk7
IH0KLSAgICBgKTsKLX0KLQotdGVzdHMuZG91YmxlR2VuZXJpY0NhbGxzU2luZ2xlR2VuZXJpYyA9
IGZ1bmN0aW9uKCkKLXsKLSAgICBjaGVja0ZhaWwoCi0gICAgICAgICgpID0+IGRvUHJlcChgCi0g
ICAgICAgICAgICB2b2lkIGZvbzxUPihULCBUKSB7IH0KLSAgICAgICAgICAgIHZvaWQgYmFyPFYs
IFc+KFYgeCwgVyB5KSB7IGZvbyh4LCB5KTsgfQotICAgICAgICBgKSwKLSAgICAgICAgKGUpID0+
IGUgaW5zdGFuY2VvZiBXVHlwZUVycm9yKTsKLX0KLQogdGVzdHMubG9hZE51bGwgPSBmdW5jdGlv
bigpCiB7CiAgICAgY2hlY2tGYWlsKAogICAgICAgICAoKSA9PiBkb1ByZXAoYAotICAgICAgICAg
ICAgdm9pZCBzaW5rPFQ+KFQpIHsgfQorICAgICAgICAgICAgdm9pZCBzaW5rKHRocmVhZCBpbnQq
IHgpIHsgfQogICAgICAgICAgICAgdm9pZCBmb28oKSB7IHNpbmsoKm51bGwpOyB9CiAgICAgICAg
IGApLAogICAgICAgICAoZSkgPT4gZSBpbnN0YW5jZW9mIFdUeXBlRXJyb3IgJiYgZS5tZXNzYWdl
LmluZGV4T2YoIlR5cGUgcGFzc2VkIHRvIGRlcmVmZXJlbmNlIGlzIG5vdCBhIHBvaW50ZXI6IG51
bGwiKSAhPSAtMSk7CkBAIC03NDcsNyArNzM2LDcgQEAgdGVzdHMucmV0dXJuTnVsbCA9IGZ1bmN0
aW9uKCkKICAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcChgCiAgICAgICAgIHRocmVhZCBpbnQqIGZv
bygpIHsgcmV0dXJuIG51bGw7IH0KICAgICBgKTsKLSAgICBsZXQgcmVzdWx0ID0gY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW10pOworICAgIGxldCByZXN1bHQgPSBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbyIsIFtdKTsKICAgICBpZiAoIXJlc3VsdC50eXBlLmlzUHRyKQogICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIlJldHVybiB0eXBlIGlzIG5vdCBhIHBvaW50ZXI6ICIgKyBy
ZXN1bHQudHlwZSk7CiAgICAgaWYgKCFyZXN1bHQudHlwZS5lbGVtZW50VHlwZS5lcXVhbHMocHJv
Z3JhbS5pbnRyaW5zaWNzLmludDMyKSkKQEAgLTc2Niw3ICs3NTUsNyBAQCB0ZXN0cy5kZXJlZmVy
ZW5jZURlZmF1bHROdWxsID0gZnVuY3Rpb24oKQogICAgICAgICB9CiAgICAgYCk7CiAgICAgY2hl
Y2tGYWlsKAotICAgICAgICAoKSA9PiBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBb
XSksCisgICAgICAgICgpID0+IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLAogICAg
ICAgICAoZSkgPT4gZSBpbnN0YW5jZW9mIFdUcmFwRXJyb3IpOwogfQogCkBAIC03ODAsNyArNzY5
LDcgQEAgdGVzdHMuZGVmYXVsdEluaXRpYWxpemVkTnVsbCA9IGZ1bmN0aW9uKCkKICAgICAgICAg
fQogICAgIGApOwogICAgIGNoZWNrRmFpbCgKLSAgICAgICAgKCkgPT4gY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28iLCBbXSwgW10pLAorICAgICAgICAoKSA9PiBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbyIsIFtdKSwKICAgICAgICAgKGUpID0+IGUgaW5zdGFuY2VvZiBXVHJhcEVycm9yKTsK
IH0KIApAQCAtNzk3LDQ3ICs3ODYsMTUgQEAgdGVzdHMucGFzc051bGxUb1B0ck1vbm9tb3JwaGlj
ID0gZnVuY3Rpb24oKQogICAgICAgICB9CiAgICAgYCk7CiAgICAgY2hlY2tGYWlsKAotICAgICAg
ICAoKSA9PiBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImJhciIsIFtdLCBbXSksCisgICAgICAgICgp
ID0+IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiYmFyIiwgW10pLAogICAgICAgICAoZSkgPT4gZSBp
bnN0YW5jZW9mIFdUcmFwRXJyb3IpOwogfQogCi10ZXN0cy5wYXNzTnVsbFRvUHRyUG9seW1vcnBo
aWMgPSBmdW5jdGlvbigpCi17Ci0gICAgY2hlY2tGYWlsKAotICAgICAgICAoKSA9PiBkb1ByZXAo
YAotICAgICAgICAgICAgVCBmb288VD4odGhyZWFkIFQqIHB0cikKLSAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICByZXR1cm4gKnB0cjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlu
dCBiYXIoKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiBmb28obnVsbCk7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApLAotICAgICAgICAoZSkgPT4gZSBpbnN0YW5jZW9m
IFdUeXBlRXJyb3IpOwotfQotCi10ZXN0cy5wYXNzTnVsbFRvUG9seW1vcnBoaWMgPSBmdW5jdGlv
bigpCi17Ci0gICAgY2hlY2tGYWlsKAotICAgICAgICAoKSA9PiBkb1ByZXAoYAotICAgICAgICAg
ICAgVCBmb288VD4oVCBwdHIpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IHB0cjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGludCBiYXIoKQotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIHJldHVybiBmb28obnVsbCk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIGApLAotICAgICAgICAoZSkgPT4gZSBpbnN0YW5jZW9mIFdUeXBlRXJyb3IpOwotfQotCiB0
ZXN0cy5sb2FkTnVsbEFycmF5UmVmID0gZnVuY3Rpb24oKQogewogICAgIGNoZWNrRmFpbCgKICAg
ICAgICAgKCkgPT4gZG9QcmVwKGAKLSAgICAgICAgICAgIHZvaWQgc2luazxUPihUKSB7IH0KKyAg
ICAgICAgICAgIHZvaWQgc2luayh0aHJlYWQgaW50KiB4KSB7IH0KICAgICAgICAgICAgIHZvaWQg
Zm9vKCkgeyBzaW5rKG51bGxbMHVdKTsgfQogICAgICAgICBgKSwKICAgICAgICAgKGUpID0+IGUg
aW5zdGFuY2VvZiBXVHlwZUVycm9yICYmIGUubWVzc2FnZS5pbmRleE9mKCJDYW5ub3QgcmVzb2x2
ZSBhY2Nlc3MiKSAhPSAtMSk7CkBAIC04NTcsNyArODE0LDcgQEAgdGVzdHMucmV0dXJuTnVsbEFy
cmF5UmVmID0gZnVuY3Rpb24oKQogICAgIGxldCBwcm9ncmFtID0gZG9QcmVwKGAKICAgICAgICAg
dGhyZWFkIGludFtdIGZvbygpIHsgcmV0dXJuIG51bGw7IH0KICAgICBgKTsKLSAgICBsZXQgcmVz
dWx0ID0gY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW10pOworICAgIGxldCByZXN1
bHQgPSBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKTsKICAgICBpZiAoIXJlc3VsdC50
eXBlLmlzQXJyYXlSZWYpCiAgICAgICAgIHRocm93IG5ldyBFcnJvcigiUmV0dXJuIHR5cGUgaXMg
bm90IGFuIGFycmF5IHJlZmVyZW5jZTogIiArIHJlc3VsdC50eXBlKTsKICAgICBpZiAoIXJlc3Vs
dC50eXBlLmVsZW1lbnRUeXBlLmVxdWFscyhwcm9ncmFtLmludHJpbnNpY3MuaW50MzIpKQpAQCAt
ODc2LDcgKzgzMyw3IEBAIHRlc3RzLmRlcmVmZXJlbmNlRGVmYXVsdE51bGxBcnJheVJlZiA9IGZ1
bmN0aW9uKCkKICAgICAgICAgfQogICAgIGApOwogICAgIGNoZWNrRmFpbCgKLSAgICAgICAgKCkg
PT4gY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW10pLAorICAgICAgICAoKSA9PiBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwKICAgICAgICAgKGUpID0+IGUgaW5zdGFu
Y2VvZiBXVHJhcEVycm9yKTsKIH0KIApAQCAtODkwLDcgKzg0Nyw3IEBAIHRlc3RzLmRlZmF1bHRJ
bml0aWFsaXplZE51bGxBcnJheVJlZiA9IGZ1bmN0aW9uKCkKICAgICAgICAgfQogICAgIGApOwog
ICAgIGNoZWNrRmFpbCgKLSAgICAgICAgKCkgPT4gY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28i
LCBbXSwgW10pLAorICAgICAgICAoKSA9PiBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtd
KSwKICAgICAgICAgKGUpID0+IGUgaW5zdGFuY2VvZiBXVHJhcEVycm9yKTsKIH0KIApAQCAtOTA0
LDcgKzg2MSw3IEBAIHRlc3RzLmRlZmF1bHRJbml0aWFsaXplZE51bGxBcnJheVJlZkludExpdGVy
YWwgPSBmdW5jdGlvbigpCiAgICAgICAgIH0KICAgICBgKTsKICAgICBjaGVja0ZhaWwoCi0gICAg
ICAgICgpID0+IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFtdKSwKKyAgICAgICAg
KCkgPT4gY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSksCiAgICAgICAgIChlKSA9PiBl
IGluc3RhbmNlb2YgV1RyYXBFcnJvcik7CiB9CiAKQEAgLTkyMSwzNiArODc4LDIwIEBAIHRlc3Rz
LnBhc3NOdWxsVG9QdHJNb25vbW9ycGhpY0FycmF5UmVmID0gZnVuY3Rpb24oKQogICAgICAgICB9
CiAgICAgYCk7CiAgICAgY2hlY2tGYWlsKAotICAgICAgICAoKSA9PiBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImJhciIsIFtdLCBbXSksCisgICAgICAgICgpID0+IGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiYmFyIiwgW10pLAogICAgICAgICAoZSkgPT4gZSBpbnN0YW5jZW9mIFdUcmFwRXJyb3IpOwog
fQogCi10ZXN0cy5wYXNzTnVsbFRvUHRyUG9seW1vcnBoaWNBcnJheVJlZiA9IGZ1bmN0aW9uKCkK
LXsKLSAgICBjaGVja0ZhaWwoCi0gICAgICAgICgpID0+IGRvUHJlcChgCi0gICAgICAgICAgICBU
IGZvbzxUPih0aHJlYWQgVFtdIHB0cikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gcHRyWzB1XTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGludCBiYXIoKQotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgIHJldHVybiBmb28obnVsbCk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIGApLAotICAgICAgICAoZSkgPT4gZSBpbnN0YW5jZW9mIFdUeXBlRXJyb3Ip
OwotfQotCiB0ZXN0cy5yZXR1cm5JbnRMaXRlcmFsVWludCA9IGZ1bmN0aW9uKCkKIHsKICAgICBs
ZXQgcHJvZ3JhbSA9IGRvUHJlcCgidWludCBmb28oKSB7IHJldHVybiA0MjsgfSIpOwotICAgIGNo
ZWNrTnVtYmVyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFtdKSwg
NDIpOworICAgIGNoZWNrTnVtYmVyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW10pLCA0Mik7CiB9CiAKIHRlc3RzLnJldHVybkludExpdGVyYWxGbG9hdCA9IGZ1bmN0aW9u
KCkKIHsKICAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcCgiZmxvYXQgZm9vKCkgeyByZXR1cm4gNDI7
IH0iKTsKLSAgICBjaGVja051bWJlcihwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZv
byIsIFtdLCBbXSksIDQyKTsKKyAgICBjaGVja051bWJlcihwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbyIsIFtdKSwgNDIpOwogfQogCiB0ZXN0cy5iYWRJbnRMaXRlcmFsRm9ySW50
ID0gZnVuY3Rpb24oKQpAQCAtOTc0LDExNSArOTE1LDYgQEAgdGVzdHMuYmFkSW50TGl0ZXJhbEZv
ckZsb2F0ID0gZnVuY3Rpb24oKQogICAgICAgICAoZSkgPT4gZSBpbnN0YW5jZW9mIFdTeW50YXhF
cnJvcik7CiB9CiAKLXRlc3RzLnBhc3NOdWxsQW5kTm90TnVsbCA9IGZ1bmN0aW9uKCkKLXsKLSAg
ICBsZXQgcHJvZ3JhbSA9IGRvUHJlcChgCi0gICAgICAgIFQgYmFyPFQ+KGRldmljZSBUKiBwLCBk
ZXZpY2UgVCopCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiAqcDsKLSAgICAgICAgfQot
ICAgICAgICBpbnQgZm9vKGRldmljZSBpbnQqIHApCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJl
dHVybiBiYXIocCwgbnVsbCk7Ci0gICAgICAgIH0KLSAgICBgKTsKLSAgICBsZXQgYnVmZmVyID0g
bmV3IEVCdWZmZXIoMSk7Ci0gICAgYnVmZmVyLnNldCgwLCAxMyk7Ci0gICAgY2hlY2tJbnQocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW1R5cGVkVmFsdWUuYm94KG5l
dyBQdHJUeXBlKGV4dGVybmFsT3JpZ2luLCAiZGV2aWNlIiwgcHJvZ3JhbS5pbnRyaW5zaWNzLmlu
dDMyKSwgbmV3IEVQdHIoYnVmZmVyLCAwKSldKSwgMTMpOwotfQotCi10ZXN0cy5wYXNzTnVsbEFu
ZE5vdE51bGxGdWxsUG9seSA9IGZ1bmN0aW9uKCkKLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGRvUHJl
cChgCi0gICAgICAgIFQgYmFyPFQ+KFQgcCwgVCkKLSAgICAgICAgewotICAgICAgICAgICAgcmV0
dXJuIHA7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGZvbyhkZXZpY2UgaW50KiBwKQotICAgICAg
ICB7Ci0gICAgICAgICAgICByZXR1cm4gKmJhcihwLCBudWxsKTsKLSAgICAgICAgfQotICAgIGAp
OwotICAgIGxldCBidWZmZXIgPSBuZXcgRUJ1ZmZlcigxKTsKLSAgICBidWZmZXIuc2V0KDAsIDEz
KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtd
LCBbVHlwZWRWYWx1ZS5ib3gobmV3IFB0clR5cGUoZXh0ZXJuYWxPcmlnaW4sICJkZXZpY2UiLCBw
cm9ncmFtLmludHJpbnNpY3MuaW50MzIpLCBuZXcgRVB0cihidWZmZXIsIDApKV0pLCAxMyk7Ci19
Ci0KLXRlc3RzLnBhc3NOdWxsQW5kTm90TnVsbEZ1bGxQb2x5UmV2ZXJzZSA9IGZ1bmN0aW9uKCkK
LXsKLSAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcChgCi0gICAgICAgIFQgYmFyPFQ+KFQsIFQgcCkK
LSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIHA7Ci0gICAgICAgIH0KLSAgICAgICAgaW50
IGZvbyhkZXZpY2UgaW50KiBwKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gKmJhcihu
dWxsLCBwKTsKLSAgICAgICAgfQotICAgIGApOwotICAgIGxldCBidWZmZXIgPSBuZXcgRUJ1ZmZl
cigxKTsKLSAgICBidWZmZXIuc2V0KDAsIDEzKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbVHlwZWRWYWx1ZS5ib3gobmV3IFB0clR5cGUo
ZXh0ZXJuYWxPcmlnaW4sICJkZXZpY2UiLCBwcm9ncmFtLmludHJpbnNpY3MuaW50MzIpLCBuZXcg
RVB0cihidWZmZXIsIDApKV0pLCAxMyk7Ci19Ci0KLXRlc3RzLm51bGxUeXBlVmFyaWFibGVVbmlm
eSA9IGZ1bmN0aW9uKCkKLXsKLSAgICBsZXQgbGVmdCA9IG5ldyBOdWxsVHlwZShleHRlcm5hbE9y
aWdpbik7Ci0gICAgbGV0IHJpZ2h0ID0gbmV3IFR5cGVWYXJpYWJsZShleHRlcm5hbE9yaWdpbiwg
IlQiLCBudWxsKTsKLSAgICBpZiAobGVmdC5lcXVhbHMocmlnaHQpKQotICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIlNob3VsZCBub3QgYmUgZXF1YWwgYnV0IGFyZTogIiArIGxlZnQgKyAiIGFuZCAi
ICsgcmlnaHQpOwotICAgIGlmIChyaWdodC5lcXVhbHMobGVmdCkpCi0gICAgICAgIHRocm93IG5l
dyBFcnJvcigiU2hvdWxkIG5vdCBiZSBlcXVhbCBidXQgYXJlOiAiICsgbGVmdCArICIgYW5kICIg
KyByaWdodCk7Ci0gICAgCi0gICAgZnVuY3Rpb24gZXZlcnlPcmRlcihhcnJheSwgY2FsbGJhY2sp
Ci0gICAgewotICAgICAgICBmdW5jdGlvbiByZWN1cnNlKGFycmF5LCBjYWxsYmFjaywgb3JkZXIp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICghYXJyYXkubGVuZ3RoKQotICAgICAgICAgICAg
ICAgIHJldHVybiBjYWxsYmFjay5jYWxsKG51bGwsIG9yZGVyKTsKLSAgICAgICAgICAgIAotICAg
ICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7ICsraSkgewotICAgICAg
ICAgICAgICAgIGxldCBuZXh0QXJyYXkgPSBhcnJheS5jb25jYXQoKTsKLSAgICAgICAgICAgICAg
ICBuZXh0QXJyYXkuc3BsaWNlKGksIDEpOwotICAgICAgICAgICAgICAgIHJlY3Vyc2UobmV4dEFy
cmF5LCBjYWxsYmFjaywgb3JkZXIuY29uY2F0KFthcnJheVtpXV0pKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgcmVjdXJzZShhcnJheSwgY2FsbGJhY2ssIFtd
KTsKLSAgICB9Ci0gICAgCi0gICAgZnVuY3Rpb24gZXZlcnlQYWlyKHRoaW5ncykKLSAgICB7Ci0g
ICAgICAgIGxldCByZXN1bHQgPSBbXTsKLSAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlu
Z3MubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgdGhpbmdz
Lmxlbmd0aDsgKytqKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGkgIT0gaikKLSAgICAgICAgICAg
ICAgICAgICAgcmVzdWx0LnB1c2goW3RoaW5nc1tpXSwgdGhpbmdzW2pdXSk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0gICAgCi0gICAg
ZXZlcnlPcmRlcigKLSAgICAgICAgZXZlcnlQYWlyKFsibnVsbFR5cGUiLCAidmFyaWFibGVUeXBl
IiwgInB0clR5cGUiXSksCi0gICAgICAgIG9yZGVyID0+IHsKLSAgICAgICAgICAgIGxldCB0eXBl
cyA9IHt9OwotICAgICAgICAgICAgdHlwZXMubnVsbFR5cGUgPSBuZXcgTnVsbFR5cGUoZXh0ZXJu
YWxPcmlnaW4pOwotICAgICAgICAgICAgdHlwZXMudmFyaWFibGVUeXBlID0gbmV3IFR5cGVWYXJp
YWJsZShleHRlcm5hbE9yaWdpbiwgIlQiLCBudWxsKTsKLSAgICAgICAgICAgIHR5cGVzLnB0clR5
cGUgPSBuZXcgUHRyVHlwZShleHRlcm5hbE9yaWdpbiwgImNvbnN0YW50IiwgbmV3IE5hdGl2ZVR5
cGUoZXh0ZXJuYWxPcmlnaW4sICJmb29fdCIsIFtdKSk7Ci0gICAgICAgICAgICBsZXQgdW5pZmlj
YXRpb25Db250ZXh0ID0gbmV3IFVuaWZpY2F0aW9uQ29udGV4dChbdHlwZXMudmFyaWFibGVUeXBl
XSk7Ci0gICAgICAgICAgICBmb3IgKGxldCBbbGVmdE5hbWUsIHJpZ2h0TmFtZV0gb2Ygb3JkZXIp
IHsKLSAgICAgICAgICAgICAgICBsZXQgbGVmdCA9IHR5cGVzW2xlZnROYW1lXTsKLSAgICAgICAg
ICAgICAgICBsZXQgcmlnaHQgPSB0eXBlc1tyaWdodE5hbWVdOwotICAgICAgICAgICAgICAgIGxl
dCByZXN1bHQgPSBsZWZ0LnVuaWZ5KHVuaWZpY2F0aW9uQ29udGV4dCwgcmlnaHQpOwotICAgICAg
ICAgICAgICAgIGlmICghcmVzdWx0KQotICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoIkluIG9yZGVyICIgKyBvcmRlciArICIgY2Fubm90IHVuaWZ5ICIgKyBsZWZ0ICsgIiB3aXRo
ICIgKyByaWdodCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoIXVuaWZpY2F0aW9u
Q29udGV4dC52ZXJpZnkoKS5yZXN1bHQpCi0gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJJbiBvcmRlciAiICsgb3JkZXIubWFwKHZhbHVlID0+ICIoIiArIHZhbHVlICsgIikiKSArICIg
Y2Fubm90IHZlcmlmeSIpOwotICAgICAgICB9KTsKLX0KLQogdGVzdHMuZG91YmxlTm90ID0gZnVu
Y3Rpb24oKQogewogICAgIGxldCBwcm9ncmFtID0gZG9QcmVwKGAKQEAgLTEwOTEsMTMwICs5MjMs
MjIgQEAgdGVzdHMuZG91YmxlTm90ID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0dXJuICEh
eDsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUJvb2wocHJvZ3JhbSwgdHJ1ZSldKSwgdHJ1ZSk7
Ci0gICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10s
IFttYWtlQm9vbChwcm9ncmFtLCBmYWxzZSldKSwgZmFsc2UpOworICAgIGNoZWNrQm9vbChwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlQm9vbChwcm9ncmFtLCB0cnVl
KV0pLCB0cnVlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbbWFrZUJvb2wocHJvZ3JhbSwgZmFsc2UpXSksIGZhbHNlKTsKIH0KIAogdGVzdHMu
c2ltcGxlUmVjdXJzaW9uID0gZnVuY3Rpb24oKQogewogICAgIGNoZWNrRmFpbCgKICAgICAgICAg
KCkgPT4gZG9QcmVwKGAKLSAgICAgICAgICAgIHZvaWQgZm9vPFQ+KFQgeCkKKyAgICAgICAgICAg
IHZvaWQgZm9vKGludCB4KQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGZvbygmeCk7
CisgICAgICAgICAgICAgICAgZm9vKHgpOwogICAgICAgICAgICAgfQogICAgICAgICBgKSwKICAg
ICAgICAgKGUpID0+IGUgaW5zdGFuY2VvZiBXVHlwZUVycm9yKTsKIH0KIAotdGVzdHMucHJvdG9j
b2xNb25vU2lnUG9seURlZiA9IGZ1bmN0aW9uKCkKLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGRvUHJl
cChgCi0gICAgICAgIHN0cnVjdCBJbnRBbmQ8VD4gewotICAgICAgICAgICAgaW50IGZpcnN0Owot
ICAgICAgICAgICAgVCBzZWNvbmQ7Ci0gICAgICAgIH0KLSAgICAgICAgSW50QW5kPFQ+IGludEFu
ZDxUPihpbnQgZmlyc3QsIFQgc2Vjb25kKQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnRBbmQ8
VD4gcmVzdWx0OwotICAgICAgICAgICAgcmVzdWx0LmZpcnN0ID0gZmlyc3Q7Ci0gICAgICAgICAg
ICByZXN1bHQuc2Vjb25kID0gc2Vjb25kOwotICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAg
ICAgICAgfQotICAgICAgICBwcm90b2NvbCBJbnRBbmRhYmxlIHsKLSAgICAgICAgICAgIEludEFu
ZDxpbnQ+IGludEFuZChJbnRBbmRhYmxlLCBpbnQpOwotICAgICAgICB9Ci0gICAgICAgIGludCBm
b288VDpJbnRBbmRhYmxlPihUIGZpcnN0LCBpbnQgc2Vjb25kKQotICAgICAgICB7Ci0gICAgICAg
ICAgICBJbnRBbmQ8aW50PiByZXN1bHQgPSBpbnRBbmQoZmlyc3QsIHNlY29uZCk7Ci0gICAgICAg
ICAgICByZXR1cm4gcmVzdWx0LmZpcnN0ICsgcmVzdWx0LnNlY29uZDsKLSAgICAgICAgfQotICAg
IGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwg
W10sIFttYWtlSW50KHByb2dyYW0sIDU0KSwgbWFrZUludChwcm9ncmFtLCAxMildKSwgNTQgKyAx
Mik7Ci19Ci0KLXRlc3RzLnByb3RvY29sUG9seVNpZ1BvbHlEZWYgPSBmdW5jdGlvbigpCi17Ci0g
ICAgbGV0IHByb2dyYW0gPSBkb1ByZXAoYAotICAgICAgICBzdHJ1Y3QgSW50QW5kPFQ+IHsKLSAg
ICAgICAgICAgIGludCBmaXJzdDsKLSAgICAgICAgICAgIFQgc2Vjb25kOwotICAgICAgICB9Ci0g
ICAgICAgIEludEFuZDxUPiBpbnRBbmQ8VD4oaW50IGZpcnN0LCBUIHNlY29uZCkKLSAgICAgICAg
ewotICAgICAgICAgICAgSW50QW5kPFQ+IHJlc3VsdDsKLSAgICAgICAgICAgIHJlc3VsdC5maXJz
dCA9IGZpcnN0OwotICAgICAgICAgICAgcmVzdWx0LnNlY29uZCA9IHNlY29uZDsKLSAgICAgICAg
ICAgIHJldHVybiByZXN1bHQ7Ci0gICAgICAgIH0KLSAgICAgICAgcHJvdG9jb2wgSW50QW5kYWJs
ZSB7Ci0gICAgICAgICAgICBJbnRBbmQ8VD4gaW50QW5kPFQ+KEludEFuZGFibGUsIFQpOwotICAg
ICAgICB9Ci0gICAgICAgIGludCBmb288VDpJbnRBbmRhYmxlPihUIGZpcnN0LCBpbnQgc2Vjb25k
KQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnRBbmQ8aW50PiByZXN1bHQgPSBpbnRBbmQoZmly
c3QsIHNlY29uZCk7Ci0gICAgICAgICAgICByZXR1cm4gcmVzdWx0LmZpcnN0ICsgcmVzdWx0LnNl
Y29uZDsKLSAgICAgICAgfQotICAgIGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDU0KSwgbWFrZUludChw
cm9ncmFtLCAxMildKSwgNTQgKyAxMik7Ci19Ci0KLXRlc3RzLnByb3RvY29sRG91YmxlUG9seVNp
Z0RvdWJsZVBvbHlEZWYgPSBmdW5jdGlvbigpCi17Ci0gICAgbGV0IHByb2dyYW0gPSBkb1ByZXAo
YAotICAgICAgICBzdHJ1Y3QgSW50QW5kPFQsIFU+IHsKLSAgICAgICAgICAgIGludCBmaXJzdDsK
LSAgICAgICAgICAgIFQgc2Vjb25kOwotICAgICAgICAgICAgVSB0aGlyZDsKLSAgICAgICAgfQot
ICAgICAgICBJbnRBbmQ8VCwgVT4gaW50QW5kPFQsIFU+KGludCBmaXJzdCwgVCBzZWNvbmQsIFUg
dGhpcmQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEludEFuZDxULCBVPiByZXN1bHQ7Ci0gICAg
ICAgICAgICByZXN1bHQuZmlyc3QgPSBmaXJzdDsKLSAgICAgICAgICAgIHJlc3VsdC5zZWNvbmQg
PSBzZWNvbmQ7Ci0gICAgICAgICAgICByZXN1bHQudGhpcmQgPSB0aGlyZDsKLSAgICAgICAgICAg
IHJldHVybiByZXN1bHQ7Ci0gICAgICAgIH0KLSAgICAgICAgcHJvdG9jb2wgSW50QW5kYWJsZSB7
Ci0gICAgICAgICAgICBJbnRBbmQ8VCwgVT4gaW50QW5kPFQsIFU+KEludEFuZGFibGUsIFQsIFUp
OwotICAgICAgICB9Ci0gICAgICAgIGludCBmb288VDpJbnRBbmRhYmxlPihUIGZpcnN0LCBpbnQg
c2Vjb25kLCBpbnQgdGhpcmQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEludEFuZDxpbnQsIGlu
dD4gcmVzdWx0ID0gaW50QW5kKGZpcnN0LCBzZWNvbmQsIHRoaXJkKTsKLSAgICAgICAgICAgIHJl
dHVybiByZXN1bHQuZmlyc3QgKyByZXN1bHQuc2Vjb25kICsgcmVzdWx0LnRoaXJkOwotICAgICAg
ICB9Ci0gICAgYCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgNTQpLCBtYWtlSW50KHByb2dyYW0sIDEyKSwg
bWFrZUludChwcm9ncmFtLCAzOSldKSwgNTQgKyAxMiArIDM5KTsKLX0KLQotdGVzdHMucHJvdG9j
b2xEb3VibGVQb2x5U2lnRG91YmxlUG9seURlZkV4cGxpY2l0ID0gZnVuY3Rpb24oKQotewotICAg
IGxldCBwcm9ncmFtID0gZG9QcmVwKGAKLSAgICAgICAgc3RydWN0IEludEFuZDxULCBVPiB7Ci0g
ICAgICAgICAgICBpbnQgZmlyc3Q7Ci0gICAgICAgICAgICBUIHNlY29uZDsKLSAgICAgICAgICAg
IFUgdGhpcmQ7Ci0gICAgICAgIH0KLSAgICAgICAgSW50QW5kPFQsIFU+IGludEFuZDxULCBVPihp
bnQgZmlyc3QsIFQgc2Vjb25kLCBVIHRoaXJkKQotICAgICAgICB7Ci0gICAgICAgICAgICBJbnRB
bmQ8VCwgVT4gcmVzdWx0OwotICAgICAgICAgICAgcmVzdWx0LmZpcnN0ID0gZmlyc3Q7Ci0gICAg
ICAgICAgICByZXN1bHQuc2Vjb25kID0gc2Vjb25kOwotICAgICAgICAgICAgcmVzdWx0LnRoaXJk
ID0gdGhpcmQ7Ci0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgICAgICB9Ci0gICAgICAg
IHByb3RvY29sIEludEFuZGFibGUgewotICAgICAgICAgICAgSW50QW5kPFQsIFU+IGludEFuZDxU
LCBVPihJbnRBbmRhYmxlLCBULCBVKTsKLSAgICAgICAgfQotICAgICAgICBpbnQgZm9vPFQ6SW50
QW5kYWJsZT4oVCBmaXJzdCwgaW50IHNlY29uZCwgaW50IHRoaXJkKQotICAgICAgICB7Ci0gICAg
ICAgICAgICBJbnRBbmQ8aW50LCBpbnQ+IHJlc3VsdCA9IGludEFuZDxpbnQsIGludD4oZmlyc3Qs
IHNlY29uZCwgdGhpcmQpOwotICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5maXJzdCArIHJlc3Vs
dC5zZWNvbmQgKyByZXN1bHQudGhpcmQ7Ci0gICAgICAgIH0KLSAgICBgKTsKLSAgICBjaGVja0lu
dChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9n
cmFtLCA1NCksIG1ha2VJbnQocHJvZ3JhbSwgMTIpLCBtYWtlSW50KHByb2dyYW0sIDM5KV0pLCA1
NCArIDEyICsgMzkpOwotfQotCiB0ZXN0cy52YXJpYWJsZVNoYWRvd2luZyA9IGZ1bmN0aW9uKCkK
IHsKICAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcChgCkBAIC0xMjI5LDcgKzk1Myw3IEBAIHRlc3Rz
LnZhcmlhYmxlU2hhZG93aW5nID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0dXJuIHk7CiAg
ICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbyIsIFtdLCBbXSksIDgpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCA4KTsKICAgICBwcm9ncmFtID0gZG9QcmVwKGAKICAg
ICAgICAgaW50IGZvbygpCiAgICAgICAgIHsKQEAgLTEyNDIsNyArOTY2LDcgQEAgdGVzdHMudmFy
aWFibGVTaGFkb3dpbmcgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICByZXR1cm4geTsKICAgICAg
ICAgfQogICAgIGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW10sIFtdKSwgNyk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbXSksIDcpOwogfQogCiB0ZXN0cy5pZlN0YXRlbWVudCA9IGZ1bmN0
aW9uKCkKQEAgLTEyNTcsMTMgKzk4MSwxMyBAQCB0ZXN0cy5pZlN0YXRlbWVudCA9IGZ1bmN0aW9u
KCkKICAgICAgICAgICAgIHJldHVybiB5OwogICAgICAgICB9CiAgICAgYCk7Ci0gICAgY2hlY2tJ
bnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJv
Z3JhbSwgMyldKSwgNik7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgNCldKSwgNik7Ci0gICAgY2hlY2tJbnQo
cHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3Jh
bSwgNSldKSwgNik7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgNildKSwgNik7Ci0gICAgY2hlY2tJbnQocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwg
NyldKSwgOCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgOCldKSwgNik7Ci0gICAgY2hlY2tJbnQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgOSld
KSwgNik7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28i
LCBbbWFrZUludChwcm9ncmFtLCAzKV0pLCA2KTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDQpXSksIDYpOworICAg
IGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQo
cHJvZ3JhbSwgNSldKSwgNik7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCA2KV0pLCA2KTsKKyAgICBjaGVja0ludChw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDcp
XSksIDgpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW21ha2VJbnQocHJvZ3JhbSwgOCldKSwgNik7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCA5KV0pLCA2KTsKIH0K
IAogdGVzdHMuaWZFbHNlU3RhdGVtZW50ID0gZnVuY3Rpb24oKQpAQCAtMTI4MCwxMyArMTAwNCwx
MyBAQCB0ZXN0cy5pZkVsc2VTdGF0ZW1lbnQgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICByZXR1
cm4geTsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDMpXSksIDkpOwotICAg
IGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtl
SW50KHByb2dyYW0sIDQpXSksIDkpOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDUpXSksIDkpOwotICAgIGNo
ZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50
KHByb2dyYW0sIDYpXSksIDkpOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDcpXSksIDgpOwotICAgIGNoZWNr
SW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHBy
b2dyYW0sIDgpXSksIDkpOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDkpXSksIDkpOworICAgIGNoZWNrSW50
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwg
MyldKSwgOSk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28iLCBbbWFrZUludChwcm9ncmFtLCA0KV0pLCA5KTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDUpXSksIDkpOwor
ICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJ
bnQocHJvZ3JhbSwgNildKSwgOSk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCA3KV0pLCA4KTsKKyAgICBjaGVja0lu
dChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0s
IDgpXSksIDkpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgOSldKSwgOSk7CiB9CiAKIHRlc3RzLmlmRWxzZUlmU3Rh
dGVtZW50ID0gZnVuY3Rpb24oKQpAQCAtMTMwMywxMyArMTAyNywxMyBAQCB0ZXN0cy5pZkVsc2VJ
ZlN0YXRlbWVudCA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJldHVybiB5OwogICAgICAgICB9
CiAgICAgYCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgMyldKSwgNik7Ci0gICAgY2hlY2tJbnQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgNCld
KSwgNik7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28i
LCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgNSldKSwgNik7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgNildKSwg
Nik7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBb
XSwgW21ha2VJbnQocHJvZ3JhbSwgNyldKSwgOCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgOCldKSwgOSk7
Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwg
W21ha2VJbnQocHJvZ3JhbSwgOSldKSwgNik7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCAzKV0pLCA2KTsKKyAgICBj
aGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHBy
b2dyYW0sIDQpXSksIDYpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNSldKSwgNik7CisgICAgY2hlY2tJbnQocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCA2KV0p
LCA2KTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIs
IFttYWtlSW50KHByb2dyYW0sIDcpXSksIDgpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgOCldKSwgOSk7CisgICAg
Y2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChw
cm9ncmFtLCA5KV0pLCA2KTsKIH0KIAogdGVzdHMuaWZFbHNlSWZFbHNlU3RhdGVtZW50ID0gZnVu
Y3Rpb24oKQpAQCAtMTMyOCwxMyArMTA1MiwxMyBAQCB0ZXN0cy5pZkVsc2VJZkVsc2VTdGF0ZW1l
bnQgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICByZXR1cm4geTsKICAgICAgICAgfQogICAgIGAp
OwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10s
IFttYWtlSW50KHByb2dyYW0sIDMpXSksIDEwKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA0KV0pLCAxMCk7
Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwg
W21ha2VJbnQocHJvZ3JhbSwgNSldKSwgMTApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDYpXSksIDEwKTsK
LSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBb
bWFrZUludChwcm9ncmFtLCA3KV0pLCA4KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA4KV0pLCA5KTsKLSAg
ICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFr
ZUludChwcm9ncmFtLCA5KV0pLCAxMCk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCAzKV0pLCAxMCk7CisgICAgY2hl
Y2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9n
cmFtLCA0KV0pLCAxMCk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCA1KV0pLCAxMCk7CisgICAgY2hlY2tJbnQocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCA2KV0p
LCAxMCk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28i
LCBbbWFrZUludChwcm9ncmFtLCA3KV0pLCA4KTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDgpXSksIDkpOworICAg
IGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQo
cHJvZ3JhbSwgOSldKSwgMTApOwogfQogCiB0ZXN0cy5yZXR1cm5JZiA9IGZ1bmN0aW9uKCkKQEAg
LTEzODcsMTMgKzExMTEsMTMgQEAgdGVzdHMucmV0dXJuSWYgPSBmdW5jdGlvbigpCiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCAzKV0pLCAxMCk7Ci0g
ICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21h
a2VJbnQocHJvZ3JhbSwgNCldKSwgMTApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDUpXSksIDEwKTsKLSAg
ICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFr
ZUludChwcm9ncmFtLCA2KV0pLCAxMCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgNyldKSwgOCk7Ci0gICAg
Y2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJ
bnQocHJvZ3JhbSwgOCldKSwgMTApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDkpXSksIDEwKTsKKyAgICBj
aGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHBy
b2dyYW0sIDMpXSksIDEwKTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDQpXSksIDEwKTsKKyAgICBjaGVja0ludChw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDUp
XSksIDEwKTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZv
byIsIFttYWtlSW50KHByb2dyYW0sIDYpXSksIDEwKTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDcpXSksIDgpOwor
ICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJ
bnQocHJvZ3JhbSwgOCldKSwgMTApOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgOSldKSwgMTApOwogICAgIGNoZWNr
RmFpbCgKICAgICAgICAgKCkgPT4gZG9QcmVwKGAKICAgICAgICAgICAgIGludCBmb28oaW50IHgp
CkBAIC0xNDE5LDEzICsxMTQzLDEzIEBAIHRlc3RzLnJldHVybklmID0gZnVuY3Rpb24oKQogICAg
ICAgICAgICAgcmV0dXJuIHk7CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0ludChwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCAz
KV0pLCA5KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZv
byIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA0KV0pLCA5KTsKLSAgICBjaGVja0ludChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA1KV0p
LCA5KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIs
IFtdLCBbbWFrZUludChwcm9ncmFtLCA2KV0pLCA5KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA3KV0pLCA4
KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtd
LCBbbWFrZUludChwcm9ncmFtLCA4KV0pLCA5KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA5KV0pLCA5KTsK
KyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtl
SW50KHByb2dyYW0sIDMpXSksIDkpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNCldKSwgOSk7CisgICAgY2hlY2tJ
bnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFt
LCA1KV0pLCA5KTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDYpXSksIDkpOworICAgIGNoZWNrSW50KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNyldKSwgOCk7
CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFr
ZUludChwcm9ncmFtLCA4KV0pLCA5KTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDkpXSksIDkpOwogICAgIGNoZWNr
RmFpbCgKICAgICAgICAgKCkgPT4gZG9QcmVwKGAKICAgICAgICAgICAgIGludCBmb28oaW50IHgp
CkBAIC0xNDQ5LDcgKzExNzMsNyBAQCB0ZXN0cy5yZXR1cm5JZiA9IGZ1bmN0aW9uKCkKICAgICAg
ICAgICAgIHJldHVybiB5OwogICAgICAgICB9CiAgICAgYCk7Ci0gICAgY2hlY2tJbnQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgNyld
KSwgNik7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28i
LCBbbWFrZUludChwcm9ncmFtLCA3KV0pLCA2KTsKIH0KIAogdGVzdHMuc2ltcGxlV2hpbGUgPSBm
dW5jdGlvbigpCkBAIC0xNDYyLDcxICsxMTg2LDcgQEAgdGVzdHMuc2ltcGxlV2hpbGUgPSBmdW5j
dGlvbigpCiAgICAgICAgICAgICByZXR1cm4geDsKICAgICAgICAgfQogICAgIGApOwotICAgIGNo
ZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50
KHByb2dyYW0sIDEpXSksIDE2KTsKLX0KLQotdGVzdHMucHJvdG9jb2xNb25vUG9seVNpZ0RvdWJs
ZVBvbHlEZWZFeHBsaWNpdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBjaGVja0ZhaWwoCi0gICAgICAg
ICgpID0+IHsKLSAgICAgICAgICAgIGxldCBwcm9ncmFtID0gZG9QcmVwKGAKLSAgICAgICAgICAg
ICAgICBzdHJ1Y3QgSW50QW5kPFQsIFU+IHsKLSAgICAgICAgICAgICAgICAgICAgaW50IGZpcnN0
OwotICAgICAgICAgICAgICAgICAgICBUIHNlY29uZDsKLSAgICAgICAgICAgICAgICAgICAgVSB0
aGlyZDsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgSW50QW5kPFQsIFU+IGlu
dEFuZDxULCBVPihpbnQgZmlyc3QsIFQgc2Vjb25kLCBVIHRoaXJkKQotICAgICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICAgICAgSW50QW5kPFQsIFU+IHJlc3VsdDsKLSAgICAgICAgICAg
ICAgICAgICAgcmVzdWx0LmZpcnN0ID0gZmlyc3Q7Ci0gICAgICAgICAgICAgICAgICAgIHJlc3Vs
dC5zZWNvbmQgPSBzZWNvbmQ7Ci0gICAgICAgICAgICAgICAgICAgIHJlc3VsdC50aGlyZCA9IHRo
aXJkOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBwcm90b2NvbCBJbnRBbmRhYmxlIHsKLSAgICAgICAgICAgICAg
ICAgICAgSW50QW5kPFQsIGludD4gaW50QW5kPFQ+KEludEFuZGFibGUsIFQsIGludCk7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGludCBmb288VDpJbnRBbmRhYmxlPihUIGZp
cnN0LCBpbnQgc2Vjb25kLCBpbnQgdGhpcmQpCi0gICAgICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgICAgICBJbnRBbmQ8aW50LCBpbnQ+IHJlc3VsdCA9IGludEFuZDxpbnQ+KGZpcnN0LCBz
ZWNvbmQsIHRoaXJkKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5maXJzdCAr
IHJlc3VsdC5zZWNvbmQgKyByZXN1bHQudGhpcmQ7Ci0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgYCk7Ci0gICAgICAgICAgICBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBb
bWFrZUludChwcm9ncmFtLCA1NCksIG1ha2VJbnQocHJvZ3JhbSwgMTIpLCBtYWtlSW50KHByb2dy
YW0sIDM5KV0pOwotICAgICAgICB9LAotICAgICAgICAoZSkgPT4gZSBpbnN0YW5jZW9mIFdUeXBl
RXJyb3IpOwotfQotCi10ZXN0cy5hbWJpZ3VvdXNPdmVybG9hZFNpbXBsZSA9IGZ1bmN0aW9uKCkK
LXsKLSAgICBjaGVja0ZhaWwoCi0gICAgICAgICgpID0+IGRvUHJlcChgCi0gICAgICAgICAgICB2
b2lkIGZvbzxUPihpbnQsIFQpIHsgfQotICAgICAgICAgICAgdm9pZCBmb288VD4oVCwgaW50KSB7
IH0KLSAgICAgICAgICAgIHZvaWQgYmFyKGludCBhLCBpbnQgYikgeyBmb28oYSwgYik7IH0KLSAg
ICAgICAgYCksCi0gICAgICAgIChlKSA9PiBlIGluc3RhbmNlb2YgV1R5cGVFcnJvcik7Ci19Ci0K
LXRlc3RzLmFtYmlndW91c092ZXJsb2FkT3ZlcmxhcHBpbmcgPSBmdW5jdGlvbigpCi17Ci0gICAg
Y2hlY2tGYWlsKAotICAgICAgICAoKSA9PiBkb1ByZXAoYAotICAgICAgICAgICAgdm9pZCBmb288
VD4oaW50LCBUKSB7IH0KLSAgICAgICAgICAgIHZvaWQgZm9vPFQ+KFQsIFQpIHsgfQotICAgICAg
ICAgICAgdm9pZCBiYXIoaW50IGEsIGludCBiKSB7IGZvbyhhLCBiKTsgfQotICAgICAgICBgKSwK
LSAgICAgICAgKGUpID0+IGUgaW5zdGFuY2VvZiBXVHlwZUVycm9yKTsKLX0KLQotdGVzdHMuYW1i
aWd1b3VzT3ZlcmxvYWRUaWVCcmVhayA9IGZ1bmN0aW9uKCkKLXsKLSAgICBkb1ByZXAoYAotICAg
ICAgICB2b2lkIGZvbzxUPihpbnQsIFQpIHsgfQotICAgICAgICB2b2lkIGZvbzxUPihULCBUKSB7
IH0KLSAgICAgICAgdm9pZCBmb28oaW50LCBpbnQpIHsgfQotICAgICAgICB2b2lkIGJhcihpbnQg
YSwgaW50IGIpIHsgZm9vKGEsIGIpOyB9Ci0gICAgYCk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCAxKV0pLCAxNik7
CiB9CiAKIHRlc3RzLmludE92ZXJsb2FkUmVzb2x1dGlvbiA9IGZ1bmN0aW9uKCkKQEAgLTE1Mzcs
NyArMTE5Nyw3IEBAIHRlc3RzLmludE92ZXJsb2FkUmVzb2x1dGlvbiA9IGZ1bmN0aW9uKCkKICAg
ICAgICAgaW50IGZvbyhmbG9hdCkgeyByZXR1cm4gMzsgfQogICAgICAgICBpbnQgYmFyKCkgeyBy
ZXR1cm4gZm9vKDQyKTsgfQogICAgIGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAiYmFyIiwgW10sIFtdKSwgMSk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJiYXIiLCBbXSksIDEpOwogfQogCiB0ZXN0cy5pbnRPdmVy
bG9hZFJlc29sdXRpb25SZXZlcnNlT3JkZXIgPSBmdW5jdGlvbigpCkBAIC0xNTQ4LDgzICsxMjA4
LDcgQEAgdGVzdHMuaW50T3ZlcmxvYWRSZXNvbHV0aW9uUmV2ZXJzZU9yZGVyID0gZnVuY3Rpb24o
KQogICAgICAgICBpbnQgZm9vKGludCkgeyByZXR1cm4gMTsgfQogICAgICAgICBpbnQgYmFyKCkg
eyByZXR1cm4gZm9vKDQyKTsgfQogICAgIGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiYmFyIiwgW10sIFtdKSwgMSk7Ci19Ci0KLXRlc3RzLmludE92ZXJs
b2FkUmVzb2x1dGlvbkdlbmVyaWMgPSBmdW5jdGlvbigpCi17Ci0gICAgbGV0IHByb2dyYW0gPSBk
b1ByZXAoYAotICAgICAgICBpbnQgZm9vKGludCkgeyByZXR1cm4gMTsgfQotICAgICAgICBpbnQg
Zm9vPFQ+KFQpIHsgcmV0dXJuIDI7IH0KLSAgICAgICAgaW50IGJhcigpIHsgcmV0dXJuIGZvbyg0
Mik7IH0KLSAgICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImJhciIsIFtdLCBbXSksIDEpOwotfQotCi10ZXN0cy5pbnRMaXRlcmFsR2VuZXJpYyA9IGZ1
bmN0aW9uKCkKLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcChgCi0gICAgICAgIGludCBmb288
VD4oVCB4KSB7IHJldHVybiAzNDc4OyB9Ci0gICAgICAgIGludCBiYXIoKSB7IHJldHVybiBmb28o
NDIpOyB9Ci0gICAgYCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJiYXIiLCBbXSwgW10pLCAzNDc4KTsKLX0KLQotdGVzdHMuaW50TGl0ZXJhbEdlbmVyaWNX
aXRoUHJvdG9jb2xzID0gZnVuY3Rpb24oKQotewotICAgIGxldCBwcm9ncmFtID0gZG9QcmVwKGAK
LSAgICAgICAgcHJvdG9jb2wgTXlDb252ZXJ0aWJsZVRvSW50IHsKLSAgICAgICAgICAgIG9wZXJh
dG9yIGludChNeUNvbnZlcnRpYmxlVG9JbnQpOwotICAgICAgICB9Ci0gICAgICAgIGludCBmb288
VDpNeUNvbnZlcnRpYmxlVG9JbnQ+KFQgeCkgeyByZXR1cm4gaW50KHgpOyB9Ci0gICAgICAgIGlu
dCBiYXIoKSB7IHJldHVybiBmb28oNDIpOyB9Ci0gICAgYCk7Ci0gICAgY2hlY2tJbnQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJiYXIiLCBbXSwgW10pLCA0Mik7Ci19Ci0KLXRlc3Rz
LnVpbnRMaXRlcmFsR2VuZXJpYyA9IGZ1bmN0aW9uKCkKLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGRv
UHJlcChgCi0gICAgICAgIGludCBmb288VD4oVCB4KSB7IHJldHVybiAzNDc4OyB9Ci0gICAgICAg
IGludCBiYXIoKSB7IHJldHVybiBmb28oNDJ1KTsgfQotICAgIGApOwotICAgIGNoZWNrSW50KHBy
b2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiYmFyIiwgW10sIFtdKSwgMzQ3OCk7Ci19Ci0K
LXRlc3RzLnVpbnRMaXRlcmFsR2VuZXJpY1dpdGhQcm90b2NvbHMgPSBmdW5jdGlvbigpCi17Ci0g
ICAgbGV0IHByb2dyYW0gPSBkb1ByZXAoYAotICAgICAgICBwcm90b2NvbCBNeUNvbnZlcnRpYmxl
VG9VaW50IHsKLSAgICAgICAgICAgIG9wZXJhdG9yIHVpbnQoTXlDb252ZXJ0aWJsZVRvVWludCk7
Ci0gICAgICAgIH0KLSAgICAgICAgdWludCBmb288VDpNeUNvbnZlcnRpYmxlVG9VaW50PihUIHgp
IHsgcmV0dXJuIHVpbnQoeCk7IH0KLSAgICAgICAgdWludCBiYXIoKSB7IHJldHVybiBmb28oNDJ1
KTsgfQotICAgIGApOwotICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImJhciIsIFtdLCBbXSksIDQyKTsKLX0KLQotdGVzdHMuaW50TGl0ZXJhbEdlbmVyaWNTcGVj
aWZpYyA9IGZ1bmN0aW9uKCkKLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcChgCi0gICAgICAg
IFQgZm9vPFQ+KFQgeCkgeyByZXR1cm4geDsgfQotICAgICAgICBpbnQgYmFyKCkgeyByZXR1cm4g
Zm9vKGludCg0MikpOyB9Ci0gICAgYCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJiYXIiLCBbXSwgW10pLCA0Mik7Ci19Ci0KLXRlc3RzLnNpbXBsZUNvbnN0
ZXhwciA9IGZ1bmN0aW9uKCkKLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcChgCi0gICAgICAg
IGludCBmb288aW50IGE+KGludCBiKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gYSAr
IGI7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGJhcihpbnQgYikKLSAgICAgICAgewotICAgICAg
ICAgICAgcmV0dXJuIGZvbzw0Mj4oYik7Ci0gICAgICAgIH0KLSAgICBgKTsKLSAgICBjaGVja0lu
dChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImJhciIsIFtdLCBbbWFrZUludChwcm9n
cmFtLCA1OCldKSwgNTggKyA0Mik7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJiYXIiLCBbXSksIDEpOwogfQogCiB0ZXN0cy5icmVhayA9IGZ1bmN0aW9uKCkK
QEAgLTE2NDAsOCArMTIyNCw4IEBAIHRlc3RzLmJyZWFrID0gZnVuY3Rpb24oKQogICAgICAgICAg
ICAgcmV0dXJuIHg7CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCAxKV0pLCA4
KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtd
LCBbbWFrZUludChwcm9ncmFtLCAxMCldKSwgMjApOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgMSldKSwgOCk7Cisg
ICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUlu
dChwcm9ncmFtLCAxMCldKSwgMjApOwogICAgIHByb2dyYW0gPSBkb1ByZXAoYAogICAgICAgICBp
bnQgZm9vKGludCB4KQogICAgICAgICB7CkBAIC0xNjU4LDggKzEyNDIsOCBAQCB0ZXN0cy5icmVh
ayA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIAogICAgICAgICB9CiAgICAgYCk7Ci0gICAgY2hl
Y2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQo
cHJvZ3JhbSwgMSldKSwgNyk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgMTApXSksIDE5KTsKKyAgICBjaGVj
a0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dy
YW0sIDEpXSksIDcpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgMTApXSksIDE5KTsKICAgICBjaGVja0ZhaWwoCiAg
ICAgICAgICgpID0+IGRvUHJlcChgCiAgICAgICAgICAgICBpbnQgZm9vKGludCB4KQpAQCAtMTY5
NSw3ICsxMjc5LDcgQEAgdGVzdHMuYnJlYWsgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICAgICAg
cmV0dXJuIHg7CiAgICAgICAgICAgICB9CiAgICAgYCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgMSldKSwg
Nyk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBb
bWFrZUludChwcm9ncmFtLCAxKV0pLCA3KTsKICAgICBwcm9ncmFtID0gZG9QcmVwKGAKICAgICAg
ICAgICAgIGludCBmb28oaW50IHgpCiAgICAgICAgICAgICB7CkBAIC0xNzA1LDcgKzEyODksNyBA
QCB0ZXN0cy5icmVhayA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgICAgICByZXR1cm4geDsKICAg
ICAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCAxKV0pLCAxKTsKKyAgICBjaGVj
a0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dy
YW0sIDEpXSksIDEpOwogICAgIHByb2dyYW0gPSBkb1ByZXAoYAogICAgICAgICAgICAgaW50IGZv
bygpCiAgICAgICAgICAgICB7CkBAIC0xNzE0LDcgKzEyOTgsNyBAQCB0ZXN0cy5icmVhayA9IGZ1
bmN0aW9uKCkKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgYCk7Ci0gICAg
Y2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW10pLCA3
KTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtd
KSwgNyk7CiAgICAgY2hlY2tGYWlsKAogICAgICAgICAoKSA9PiBkb1ByZXAoYAogICAgICAgICAg
ICAgaW50IGZvbyhpbnQgeCkKQEAgLTE3NDMsNyArMTMyNyw3IEBAIHRlc3RzLmNvbnRpbnVlID0g
ZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0dXJuIHg7CiAgICAgICAgIH0KICAgICBgKTsKLSAg
ICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFr
ZUludChwcm9ncmFtLCAxKV0pLCAxOCk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCAxKV0pLCAxOCk7CiAgICAgY2hl
Y2tGYWlsKAogICAgICAgICAoKSA9PiBkb1ByZXAoYAogICAgICAgICAgICAgaW50IGZvbyhpbnQg
eCkKQEAgLTE3NjksOCArMTM1Myw4IEBAIHRlc3RzLmRvV2hpbGUgPSBmdW5jdGlvbigpCiAgICAg
ICAgICAgICByZXR1cm4geTsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrSW50KHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDEp
XSksIDgpOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW10sIFttYWtlSW50KHByb2dyYW0sIDExKV0pLCA4KTsKKyAgICBjaGVja0ludChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDEpXSksIDgp
OworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21h
a2VJbnQocHJvZ3JhbSwgMTEpXSksIDgpOwogICAgIHByb2dyYW0gPSBkb1ByZXAoYAogICAgICAg
ICBpbnQgZm9vKGludCB4KQogICAgICAgICB7CkBAIC0xNzgyLDcgKzEzNjYsNyBAQCB0ZXN0cy5k
b1doaWxlID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0dXJuIHk7CiAgICAgICAgIH0KICAg
ICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIs
IFtdLCBbbWFrZUludChwcm9ncmFtLCAxKV0pLCA4KTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDEpXSksIDgpOwog
ICAgIHByb2dyYW0gPSBkb1ByZXAoYAogICAgICAgICBpbnQgZm9vKGludCB4KQogICAgICAgICB7
CkBAIC0xNzk4LDcgKzEzODIsNyBAQCB0ZXN0cy5kb1doaWxlID0gZnVuY3Rpb24oKQogICAgICAg
ICAgICAgcmV0dXJuIHN1bTsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrSW50KHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDkp
XSksIDE5KTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZv
byIsIFttYWtlSW50KHByb2dyYW0sIDkpXSksIDE5KTsKIH0KIAogdGVzdHMuZm9yTG9vcCA9IGZ1
bmN0aW9uKCkKQEAgLTE4MTQsOSArMTM5OCw5IEBAIHRlc3RzLmZvckxvb3AgPSBmdW5jdGlvbigp
CiAgICAgICAgICAgICByZXR1cm4gc3VtOwogICAgICAgICB9CiAgICAgYCk7Ci0gICAgY2hlY2tJ
bnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJv
Z3JhbSwgMyldKSwgMyk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgNCldKSwgNik7Ci0gICAgY2hlY2tJbnQo
cHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3Jh
bSwgNSldKSwgMTApOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgMyldKSwgMyk7CisgICAgY2hlY2tJbnQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCA0KV0pLCA2
KTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtt
YWtlSW50KHByb2dyYW0sIDUpXSksIDEwKTsKICAgICBwcm9ncmFtID0gZG9QcmVwKGAKICAgICAg
ICAgaW50IGZvbyhpbnQgeCkKICAgICAgICAgewpAQCAtMTgyNyw5ICsxNDExLDkgQEAgdGVzdHMu
Zm9yTG9vcCA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJldHVybiBzdW07CiAgICAgICAgIH0K
ICAgICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZv
byIsIFtdLCBbbWFrZUludChwcm9ncmFtLCAzKV0pLCAzKTsKLSAgICBjaGVja0ludChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA0KV0p
LCA2KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIs
IFtdLCBbbWFrZUludChwcm9ncmFtLCA1KV0pLCAxMCk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCAzKV0pLCAzKTsK
KyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtl
SW50KHByb2dyYW0sIDQpXSksIDYpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNSldKSwgMTApOwogICAgIHByb2dy
YW0gPSBkb1ByZXAoYAogICAgICAgICBpbnQgZm9vKGludCB4KQogICAgICAgICB7CkBAIC0xODQx
LDkgKzE0MjUsOSBAQCB0ZXN0cy5mb3JMb29wID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0
dXJuIHN1bTsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDMpXSksIDMpOwot
ICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFtt
YWtlSW50KHByb2dyYW0sIDQpXSksIDYpOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDUpXSksIDEwKTsKKyAg
ICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50
KHByb2dyYW0sIDMpXSksIDMpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNCldKSwgNik7CisgICAgY2hlY2tJbnQo
cHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCA1
KV0pLCAxMCk7CiAgICAgcHJvZ3JhbSA9IGRvUHJlcChgCiAgICAgICAgIGludCBmb28oaW50IHgp
CiAgICAgICAgIHsKQEAgLTE4NTYsMTAgKzE0NDAsMTAgQEAgdGVzdHMuZm9yTG9vcCA9IGZ1bmN0
aW9uKCkKICAgICAgICAgICAgIHJldHVybiBzdW07CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBj
aGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUlu
dChwcm9ncmFtLCAzKV0pLCAzKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA0KV0pLCA2KTsKLSAgICBjaGVj
a0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChw
cm9ncmFtLCA1KV0pLCA2KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA2KV0pLCAxMSk7CisgICAgY2hlY2tJ
bnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFt
LCAzKV0pLCAzKTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDQpXSksIDYpOworICAgIGNoZWNrSW50KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNSldKSwgNik7
CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFr
ZUludChwcm9ncmFtLCA2KV0pLCAxMSk7CiAgICAgcHJvZ3JhbSA9IGRvUHJlcChgCiAgICAgICAg
IGludCBmb28oaW50IHgpCiAgICAgICAgIHsKQEAgLTE4NzIsMTEgKzE0NTYsMTEgQEAgdGVzdHMu
Zm9yTG9vcCA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJldHVybiBzdW07CiAgICAgICAgIH0K
ICAgICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZv
byIsIFtdLCBbbWFrZUludChwcm9ncmFtLCAzKV0pLCAzKTsKLSAgICBjaGVja0ludChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA0KV0p
LCA2KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIs
IFtdLCBbbWFrZUludChwcm9ncmFtLCA1KV0pLCAxMCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgNildKSwg
MTApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwg
W10sIFttYWtlSW50KHByb2dyYW0sIDcpXSksIDEwKTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDMpXSksIDMpOwor
ICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJ
bnQocHJvZ3JhbSwgNCldKSwgNik7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCA1KV0pLCAxMCk7CisgICAgY2hlY2tJ
bnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFt
LCA2KV0pLCAxMCk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbbWFrZUludChwcm9ncmFtLCA3KV0pLCAxMCk7CiAgICAgcHJvZ3JhbSA9IGRvUHJl
cChgCiAgICAgICAgIGludCBmb28oaW50IHgpCiAgICAgICAgIHsKQEAgLTE4ODksMTEgKzE0NzMs
MTEgQEAgdGVzdHMuZm9yTG9vcCA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJldHVybiBzdW07
CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCAzKV0pLCAzKTsKLSAgICBjaGVj
a0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChw
cm9ncmFtLCA0KV0pLCA2KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA1KV0pLCAxMCk7Ci0gICAgY2hlY2tJ
bnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJv
Z3JhbSwgNildKSwgMTUpOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDcpXSksIDIxKTsKKyAgICBjaGVja0lu
dChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0s
IDMpXSksIDMpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNCldKSwgNik7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCA1KV0pLCAxMCk7
CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFr
ZUludChwcm9ncmFtLCA2KV0pLCAxNSk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCA3KV0pLCAyMSk7CiAgICAgcHJv
Z3JhbSA9IGRvUHJlcChgCiAgICAgICAgIGludCBmb28oaW50IHgpCiAgICAgICAgIHsKQEAgLTE5
MDcsMTEgKzE0OTEsMTEgQEAgdGVzdHMuZm9yTG9vcCA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAg
IHJldHVybiBzdW07CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCAzKV0pLCAz
KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtd
LCBbbWFrZUludChwcm9ncmFtLCA0KV0pLCA2KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA1KV0pLCAxMCk7
Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwg
W21ha2VJbnQocHJvZ3JhbSwgNildKSwgMTUpOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDcpXSksIDIxKTsK
KyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtl
SW50KHByb2dyYW0sIDMpXSksIDMpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNCldKSwgNik7CisgICAgY2hlY2tJ
bnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFt
LCA1KV0pLCAxMCk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbbWFrZUludChwcm9ncmFtLCA2KV0pLCAxNSk7CisgICAgY2hlY2tJbnQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCA3KV0pLCAy
MSk7CiAgICAgcHJvZ3JhbSA9IGRvUHJlcChgCiAgICAgICAgIGludCBmb28oaW50IHgpCiAgICAg
ICAgIHsKQEAgLTE5MjYsMTEgKzE1MTAsMTEgQEAgdGVzdHMuZm9yTG9vcCA9IGZ1bmN0aW9uKCkK
ICAgICAgICAgICAgIHJldHVybiBzdW07CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0lu
dChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9n
cmFtLCAzKV0pLCAzKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA0KV0pLCA2KTsKLSAgICBjaGVja0ludChw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFt
LCA1KV0pLCAxMCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgNildKSwgMTUpOwotICAgIGNoZWNrSW50KHBy
b2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0s
IDcpXSksIDIxKTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDMpXSksIDMpOworICAgIGNoZWNrSW50KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNCldKSwgNik7
CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFr
ZUludChwcm9ncmFtLCA1KV0pLCAxMCk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCA2KV0pLCAxNSk7CisgICAgY2hl
Y2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9n
cmFtLCA3KV0pLCAyMSk7CiAgICAgY2hlY2tGYWlsKAogICAgICAgICAoKSA9PiBkb1ByZXAoYAog
ICAgICAgICAgICAgdm9pZCBmb28oaW50IHgpCkBAIC0xOTUwLDExICsxNTM0LDExIEBAIHRlc3Rz
LmZvckxvb3AgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICBgKTsK
LSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBb
bWFrZUludChwcm9ncmFtLCAzKV0pLCA3KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA0KV0pLCA3KTsKLSAg
ICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFr
ZUludChwcm9ncmFtLCA1KV0pLCA3KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA2KV0pLCA3KTsKLSAgICBj
aGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUlu
dChwcm9ncmFtLCA3KV0pLCA3KTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDMpXSksIDcpOworICAgIGNoZWNrSW50
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwg
NCldKSwgNyk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28iLCBbbWFrZUludChwcm9ncmFtLCA1KV0pLCA3KTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDYpXSksIDcpOwor
ICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJ
bnQocHJvZ3JhbSwgNyldKSwgNyk7CiAgICAgY2hlY2tGYWlsKAogICAgICAgICAoKSA9PiBkb1By
ZXAoYAogICAgICAgICAgICAgaW50IGZvbyhpbnQgeCkKQEAgLTE5NzMsMjI5ICsxNTU3LDExIEBA
IHRlc3RzLmZvckxvb3AgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAg
ICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIs
IFtdLCBbbWFrZUludChwcm9ncmFtLCAzKV0pLCA3KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA0KV0pLCA3
KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtd
LCBbbWFrZUludChwcm9ncmFtLCA1KV0pLCA3KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA2KV0pLCA3KTsK
LSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBb
bWFrZUludChwcm9ncmFtLCA3KV0pLCA3KTsKLX0KLQotdGVzdHMuY2hhaW5Db25zdGV4cHIgPSBm
dW5jdGlvbigpCi17Ci0gICAgbGV0IHByb2dyYW0gPSBkb1ByZXAoYAotICAgICAgICBpbnQgZm9v
PGludCBhPihpbnQgYikKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIGEgKyBiOwotICAg
ICAgICB9Ci0gICAgICAgIGludCBiYXI8aW50IGE+KGludCBiKQotICAgICAgICB7Ci0gICAgICAg
ICAgICByZXR1cm4gZm9vPGE+KGIpOwotICAgICAgICB9Ci0gICAgICAgIGludCBiYXooaW50IGIp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBiYXI8NDI+KGIpOwotICAgICAgICB9Ci0g
ICAgYCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJiYXoi
LCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgNTgpXSksIDU4ICsgNDIpOwotfQotCi10ZXN0cy5jaGFp
bkdlbmVyaWMgPSBmdW5jdGlvbigpCi17Ci0gICAgbGV0IHByb2dyYW0gPSBkb1ByZXAoYAotICAg
ICAgICBUIGZvbzxUPihUIHgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiB4OwotICAg
ICAgICB9Ci0gICAgICAgIFQgYmFyPFQ+KHRocmVhZCBUKiBwdHIpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIHJldHVybiAqZm9vKHB0cik7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGJheihpbnQg
eCkKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIGJhcigmeCk7Ci0gICAgICAgIH0KLSAg
ICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImJheiIs
IFtdLCBbbWFrZUludChwcm9ncmFtLCAzNyldKSwgMzcpOwotfQotCi10ZXN0cy5jaGFpblN0cnVj
dCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcChgCi0gICAgICAgIHN0
cnVjdCBGb288VD4gewotICAgICAgICAgICAgVCBmOwotICAgICAgICB9Ci0gICAgICAgIHN0cnVj
dCBCYXI8VD4gewotICAgICAgICAgICAgRm9vPHRocmVhZCBUKj4gZjsKLSAgICAgICAgfQotICAg
ICAgICBpbnQgZm9vKHRocmVhZCBCYXI8aW50PiogeCkKLSAgICAgICAgewotICAgICAgICAgICAg
cmV0dXJuICp4LT5mLmY7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGJhcihpbnQgYSkKLSAgICAg
ICAgewotICAgICAgICAgICAgQmFyPGludD4geDsKLSAgICAgICAgICAgIHguZi5mID0gJmE7Ci0g
ICAgICAgICAgICByZXR1cm4gZm9vKCZ4KTsKLSAgICAgICAgfQotICAgIGApOwotICAgIGNoZWNr
SW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiYmFyIiwgW10sIFttYWtlSW50KHBy
b2dyYW0sIDQ2NTcpXSksIDQ2NTcpOwotfQotCi10ZXN0cy5jaGFpblN0cnVjdE5ld2x5VmFsaWQg
PSBmdW5jdGlvbigpCi17Ci0gICAgbGV0IHByb2dyYW0gPSBkb1ByZXAoYAotICAgICAgICBzdHJ1
Y3QgRm9vPFQ+IHsKLSAgICAgICAgICAgIFQgZjsKLSAgICAgICAgfQotICAgICAgICBzdHJ1Y3Qg
QmFyPFQ+IHsKLSAgICAgICAgICAgIEZvbzxkZXZpY2UgVCo+IGY7Ci0gICAgICAgIH0KLSAgICAg
ICAgaW50IGZvbyh0aHJlYWQgQmFyPGludD4qIHgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJl
dHVybiAqeC0+Zi5mOwotICAgICAgICB9Ci0gICAgICAgIGludCBiYXIoZGV2aWNlIGludCogYSkK
LSAgICAgICAgewotICAgICAgICAgICAgQmFyPGludD4geDsKLSAgICAgICAgICAgIHguZi5mID0g
YTsKLSAgICAgICAgICAgIHJldHVybiBmb28oJngpOwotICAgICAgICB9Ci0gICAgYCk7Ci0gICAg
bGV0IGJ1ZmZlciA9IG5ldyBFQnVmZmVyKDEpOwotICAgIGJ1ZmZlci5zZXQoMCwgNzg0NTMpOwot
ICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiYmFyIiwgW10sIFtU
eXBlZFZhbHVlLmJveChuZXcgUHRyVHlwZShleHRlcm5hbE9yaWdpbiwgImRldmljZSIsIHByb2dy
YW0uaW50cmluc2ljcy5pbnQzMiksIG5ldyBFUHRyKGJ1ZmZlciwgMCkpXSksIDc4NDUzKTsKLX0K
LQotdGVzdHMuY2hhaW5TdHJ1Y3REZXZpY2UgPSBmdW5jdGlvbigpCi17Ci0gICAgbGV0IHByb2dy
YW0gPSBkb1ByZXAoYAotICAgICAgICBzdHJ1Y3QgRm9vPFQ+IHsKLSAgICAgICAgICAgIFQgZjsK
LSAgICAgICAgfQotICAgICAgICBzdHJ1Y3QgQmFyPFQ+IHsKLSAgICAgICAgICAgIEZvbzxkZXZp
Y2UgVCo+IGY7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGZvbyh0aHJlYWQgQmFyPGludD4qIHgp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiAqeC0+Zi5mOwotICAgICAgICB9Ci0gICAg
ICAgIGludCBiYXIoZGV2aWNlIGludCogYSkKLSAgICAgICAgewotICAgICAgICAgICAgQmFyPGlu
dD4geDsKLSAgICAgICAgICAgIHguZi5mID0gYTsKLSAgICAgICAgICAgIHJldHVybiBmb28oJngp
OwotICAgICAgICB9Ci0gICAgYCk7Ci0gICAgbGV0IGJ1ZmZlciA9IG5ldyBFQnVmZmVyKDEpOwot
ICAgIGJ1ZmZlci5zZXQoMCwgNzkyMDEpOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAiYmFyIiwgW10sIFtUeXBlZFZhbHVlLmJveChuZXcgUHRyVHlwZShleHRl
cm5hbE9yaWdpbiwgImRldmljZSIsIHByb2dyYW0uaW50cmluc2ljcy5pbnQzMiksIG5ldyBFUHRy
KGJ1ZmZlciwgMCkpXSksIDc5MjAxKTsKLX0KLQotdGVzdHMucGFyYW1DaGFpblN0cnVjdERldmlj
ZSA9IGZ1bmN0aW9uKCkKLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcChgCi0gICAgICAgIHN0
cnVjdCBGb288VD4gewotICAgICAgICAgICAgVCBmOwotICAgICAgICB9Ci0gICAgICAgIHN0cnVj
dCBCYXI8VD4gewotICAgICAgICAgICAgRm9vPFQ+IGY7Ci0gICAgICAgIH0KLSAgICAgICAgaW50
IGZvbyh0aHJlYWQgQmFyPGRldmljZSBpbnQqPiogeCkKLSAgICAgICAgewotICAgICAgICAgICAg
cmV0dXJuICp4LT5mLmY7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGJhcihkZXZpY2UgaW50KiBh
KQotICAgICAgICB7Ci0gICAgICAgICAgICBCYXI8ZGV2aWNlIGludCo+IHg7Ci0gICAgICAgICAg
ICB4LmYuZiA9IGE7Ci0gICAgICAgICAgICByZXR1cm4gZm9vKCZ4KTsKLSAgICAgICAgfQotICAg
IGApOwotICAgIGxldCBidWZmZXIgPSBuZXcgRUJ1ZmZlcigxKTsKLSAgICBidWZmZXIuc2V0KDAs
IDc5MjAxKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImJh
ciIsIFtdLCBbVHlwZWRWYWx1ZS5ib3gobmV3IFB0clR5cGUoZXh0ZXJuYWxPcmlnaW4sICJkZXZp
Y2UiLCBwcm9ncmFtLmludHJpbnNpY3MuaW50MzIpLCBuZXcgRVB0cihidWZmZXIsIDApKV0pLCA3
OTIwMSk7Ci19Ci0KLXRlc3RzLnNpbXBsZVByb3RvY29sRXh0ZW5kcyA9IGZ1bmN0aW9uKCkKLXsK
LSAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcChgCi0gICAgICAgIHByb3RvY29sIEZvbyB7Ci0gICAg
ICAgICAgICB2b2lkIGZvbyh0aHJlYWQgRm9vKik7Ci0gICAgICAgIH0KLSAgICAgICAgcHJvdG9j
b2wgQmFyIDogRm9vIHsKLSAgICAgICAgICAgIHZvaWQgYmFyKHRocmVhZCBCYXIqKTsKLSAgICAg
ICAgfQotICAgICAgICB2b2lkIGZ1eno8VDpGb28+KHRocmVhZCBUKiBwKQotICAgICAgICB7Ci0g
ICAgICAgICAgICBmb28ocCk7Ci0gICAgICAgIH0KLSAgICAgICAgdm9pZCBidXp6PFQ6QmFyPih0
aHJlYWQgVCogcCkKLSAgICAgICAgewotICAgICAgICAgICAgZnV6eihwKTsKLSAgICAgICAgICAg
IGJhcihwKTsKLSAgICAgICAgfQotICAgICAgICB2b2lkIGZvbyh0aHJlYWQgaW50KiBwKQotICAg
ICAgICB7Ci0gICAgICAgICAgICAqcCA9ICpwICsgNzQzOwotICAgICAgICB9Ci0gICAgICAgIHZv
aWQgYmFyKHRocmVhZCBpbnQqIHApCi0gICAgICAgIHsKLSAgICAgICAgICAgICpwID0gKnAgKyA5
MTsKLSAgICAgICAgfQotICAgICAgICBpbnQgdGhpbmd5KGludCBhKQotICAgICAgICB7Ci0gICAg
ICAgICAgICBidXp6KCZhKTsKLSAgICAgICAgICAgIHJldHVybiBhOwotICAgICAgICB9Ci0gICAg
YCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJ0aGluZ3ki
LCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgNjQyKV0pLCA2NDIgKyA3NDMgKyA5MSk7Ci19Ci0KLXRl
c3RzLnByb3RvY29sRXh0ZW5kc1R3byA9IGZ1bmN0aW9uKCkKLXsKLSAgICBsZXQgcHJvZ3JhbSA9
IGRvUHJlcChgCi0gICAgICAgIHByb3RvY29sIEZvbyB7Ci0gICAgICAgICAgICB2b2lkIGZvbyh0
aHJlYWQgRm9vKik7Ci0gICAgICAgIH0KLSAgICAgICAgcHJvdG9jb2wgQmFyIHsKLSAgICAgICAg
ICAgIHZvaWQgYmFyKHRocmVhZCBCYXIqKTsKLSAgICAgICAgfQotICAgICAgICBwcm90b2NvbCBC
YXogOiBGb28sIEJhciB7Ci0gICAgICAgICAgICB2b2lkIGJheih0aHJlYWQgQmF6Kik7Ci0gICAg
ICAgIH0KLSAgICAgICAgdm9pZCBmdXp6PFQ6Rm9vPih0aHJlYWQgVCogcCkKLSAgICAgICAgewot
ICAgICAgICAgICAgZm9vKHApOwotICAgICAgICB9Ci0gICAgICAgIHZvaWQgYnV6ejxUOkJhcj4o
dGhyZWFkIFQqIHApCi0gICAgICAgIHsKLSAgICAgICAgICAgIGJhcihwKTsKLSAgICAgICAgfQot
ICAgICAgICB2b2lkIHh1eno8VDpCYXo+KHRocmVhZCBUKiBwKQotICAgICAgICB7Ci0gICAgICAg
ICAgICBmdXp6KHApOwotICAgICAgICAgICAgYnV6eihwKTsKLSAgICAgICAgICAgIGJheihwKTsK
LSAgICAgICAgfQotICAgICAgICB2b2lkIGZvbyh0aHJlYWQgaW50KiBwKQotICAgICAgICB7Ci0g
ICAgICAgICAgICAqcCA9ICpwICsgNzQzOwotICAgICAgICB9Ci0gICAgICAgIHZvaWQgYmFyKHRo
cmVhZCBpbnQqIHApCi0gICAgICAgIHsKLSAgICAgICAgICAgICpwID0gKnAgKyA5MTsKLSAgICAg
ICAgfQotICAgICAgICB2b2lkIGJheih0aHJlYWQgaW50KiBwKQotICAgICAgICB7Ci0gICAgICAg
ICAgICAqcCA9ICpwICsgMzk7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IHRoaW5neShpbnQgYSkK
LSAgICAgICAgewotICAgICAgICAgICAgeHV6eigmYSk7Ci0gICAgICAgICAgICByZXR1cm4gYTsK
LSAgICAgICAgfQotICAgIGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAidGhpbmd5IiwgW10sIFttYWtlSW50KHByb2dyYW0sIDY0MildKSwgNjQyICsgNzQz
ICsgOTEgKyAzOSk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbbWFrZUludChwcm9ncmFtLCAzKV0pLCA3KTsKKyAgICBjaGVja0ludChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDQpXSksIDcp
OworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21h
a2VJbnQocHJvZ3JhbSwgNSldKSwgNyk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCA2KV0pLCA3KTsKKyAgICBjaGVj
a0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dy
YW0sIDcpXSksIDcpOwogfQogCiB0ZXN0cy5wcmVmaXhQbHVzUGx1cyA9IGZ1bmN0aW9uKCkKQEAg
LTIyMDcsNyArMTU3Myw3IEBAIHRlc3RzLnByZWZpeFBsdXNQbHVzID0gZnVuY3Rpb24oKQogICAg
ICAgICAgICAgcmV0dXJuIHg7CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0ludChwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA2
NCldKSwgNjUpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNjQpXSksIDY1KTsKIH0KIAogdGVzdHMucHJlZml4UGx1
c1BsdXNSZXN1bHQgPSBmdW5jdGlvbigpCkBAIC0yMjE4LDcgKzE1ODQsNyBAQCB0ZXN0cy5wcmVm
aXhQbHVzUGx1c1Jlc3VsdCA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJldHVybiArK3g7CiAg
ICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA2NCldKSwgNjUpOworICAgIGNoZWNr
SW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3Jh
bSwgNjQpXSksIDY1KTsKIH0KIAogdGVzdHMucG9zdGZpeFBsdXNQbHVzID0gZnVuY3Rpb24oKQpA
QCAtMjIzMCw3ICsxNTk2LDcgQEAgdGVzdHMucG9zdGZpeFBsdXNQbHVzID0gZnVuY3Rpb24oKQog
ICAgICAgICAgICAgcmV0dXJuIHg7CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0ludChw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFt
LCA2NCldKSwgNjUpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNjQpXSksIDY1KTsKIH0KIAogdGVzdHMucG9zdGZp
eFBsdXNQbHVzUmVzdWx0ID0gZnVuY3Rpb24oKQpAQCAtMjI0MSw3ICsxNjA3LDcgQEAgdGVzdHMu
cG9zdGZpeFBsdXNQbHVzUmVzdWx0ID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0dXJuIHgr
KzsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDY0KV0pLCA2NCk7CisgICAg
Y2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChw
cm9ncmFtLCA2NCldKSwgNjQpOwogfQogCiB0ZXN0cy5wcmVmaXhNaW51c01pbnVzID0gZnVuY3Rp
b24oKQpAQCAtMjI1Myw3ICsxNjE5LDcgQEAgdGVzdHMucHJlZml4TWludXNNaW51cyA9IGZ1bmN0
aW9uKCkKICAgICAgICAgICAgIHJldHVybiB4OwogICAgICAgICB9CiAgICAgYCk7Ci0gICAgY2hl
Y2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQo
cHJvZ3JhbSwgNjQpXSksIDYzKTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDY0KV0pLCA2Myk7CiB9CiAKIHRlc3Rz
LnByZWZpeE1pbnVzTWludXNSZXN1bHQgPSBmdW5jdGlvbigpCkBAIC0yMjY0LDcgKzE2MzAsNyBA
QCB0ZXN0cy5wcmVmaXhNaW51c01pbnVzUmVzdWx0ID0gZnVuY3Rpb24oKQogICAgICAgICAgICAg
cmV0dXJuIC0teDsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDY0KV0pLCA2
Myk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBb
bWFrZUludChwcm9ncmFtLCA2NCldKSwgNjMpOwogfQogCiB0ZXN0cy5wb3N0Zml4TWludXNNaW51
cyA9IGZ1bmN0aW9uKCkKQEAgLTIyNzYsNyArMTY0Miw3IEBAIHRlc3RzLnBvc3RmaXhNaW51c01p
bnVzID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0dXJuIHg7CiAgICAgICAgIH0KICAgICBg
KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtd
LCBbbWFrZUludChwcm9ncmFtLCA2NCldKSwgNjMpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNjQpXSksIDYzKTsK
IH0KIAogdGVzdHMucG9zdGZpeE1pbnVzTWludXNSZXN1bHQgPSBmdW5jdGlvbigpCkBAIC0yMjg3
LDcgKzE2NTMsNyBAQCB0ZXN0cy5wb3N0Zml4TWludXNNaW51c1Jlc3VsdCA9IGZ1bmN0aW9uKCkK
ICAgICAgICAgICAgIHJldHVybiB4LS07CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0lu
dChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9n
cmFtLCA2NCldKSwgNjQpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNjQpXSksIDY0KTsKIH0KIAogdGVzdHMucGx1
c0VxdWFscyA9IGZ1bmN0aW9uKCkKQEAgLTIyOTksNyArMTY2NSw3IEBAIHRlc3RzLnBsdXNFcXVh
bHMgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICByZXR1cm4geDsKICAgICAgICAgfQogICAgIGAp
OwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10s
IFttYWtlSW50KHByb2dyYW0sIDM4NSldKSwgMzg1ICsgNDIpOworICAgIGNoZWNrSW50KHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgMzg1KV0p
LCAzODUgKyA0Mik7CiB9CiAKIHRlc3RzLnBsdXNFcXVhbHNSZXN1bHQgPSBmdW5jdGlvbigpCkBA
IC0yMzEwLDcgKzE2NzYsNyBAQCB0ZXN0cy5wbHVzRXF1YWxzUmVzdWx0ID0gZnVuY3Rpb24oKQog
ICAgICAgICAgICAgcmV0dXJuIHggKz0gNDI7CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVj
a0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChw
cm9ncmFtLCAzODUpXSksIDM4NSArIDQyKTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDM4NSldKSwgMzg1ICsgNDIp
OwogfQogCiB0ZXN0cy5taW51c0VxdWFscyA9IGZ1bmN0aW9uKCkKQEAgLTIzMjIsNyArMTY4OCw3
IEBAIHRlc3RzLm1pbnVzRXF1YWxzID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0dXJuIHg7
CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCAzODUpXSksIDM4NSAtIDQyKTsK
KyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtl
SW50KHByb2dyYW0sIDM4NSldKSwgMzg1IC0gNDIpOwogfQogCiB0ZXN0cy5taW51c0VxdWFsc1Jl
c3VsdCA9IGZ1bmN0aW9uKCkKQEAgLTIzMzMsNyArMTY5OSw3IEBAIHRlc3RzLm1pbnVzRXF1YWxz
UmVzdWx0ID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0dXJuIHggLT0gNDI7CiAgICAgICAg
IH0KICAgICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCAzODUpXSksIDM4NSAtIDQyKTsKKyAgICBjaGVj
a0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dy
YW0sIDM4NSldKSwgMzg1IC0gNDIpOwogfQogCiB0ZXN0cy50aW1lc0VxdWFscyA9IGZ1bmN0aW9u
KCkKQEAgLTIzNDUsNyArMTcxMSw3IEBAIHRlc3RzLnRpbWVzRXF1YWxzID0gZnVuY3Rpb24oKQog
ICAgICAgICAgICAgcmV0dXJuIHg7CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0ludChw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFt
LCAzODUpXSksIDM4NSAqIDQyKTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDM4NSldKSwgMzg1ICogNDIpOwogfQog
CiB0ZXN0cy50aW1lc0VxdWFsc1Jlc3VsdCA9IGZ1bmN0aW9uKCkKQEAgLTIzNTYsNyArMTcyMiw3
IEBAIHRlc3RzLnRpbWVzRXF1YWxzUmVzdWx0ID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0
dXJuIHggKj0gNDI7CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCAzODUpXSks
IDM4NSAqIDQyKTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDM4NSldKSwgMzg1ICogNDIpOwogfQogCiB0ZXN0cy5k
aXZpZGVFcXVhbHMgPSBmdW5jdGlvbigpCkBAIC0yMzY4LDcgKzE3MzQsNyBAQCB0ZXN0cy5kaXZp
ZGVFcXVhbHMgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICByZXR1cm4geDsKICAgICAgICAgfQog
ICAgIGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW10sIFttYWtlSW50KHByb2dyYW0sIDM4NSldKSwgKDM4NSAvIDQyKSB8IDApOworICAgIGNo
ZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJv
Z3JhbSwgMzg1KV0pLCAoMzg1IC8gNDIpIHwgMCk7CiB9CiAKIHRlc3RzLmRpdmlkZUVxdWFsc1Jl
c3VsdCA9IGZ1bmN0aW9uKCkKQEAgLTIzNzksNyArMTc0NSw3IEBAIHRlc3RzLmRpdmlkZUVxdWFs
c1Jlc3VsdCA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJldHVybiB4IC89IDQyOwogICAgICAg
ICB9CiAgICAgYCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgMzg1KV0pLCAoMzg1IC8gNDIpIHwgMCk7Cisg
ICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUlu
dChwcm9ncmFtLCAzODUpXSksICgzODUgLyA0MikgfCAwKTsKIH0KIAogdGVzdHMudHdvSW50TGl0
ZXJhbHMgPSBmdW5jdGlvbigpCkBAIC0yMzkwLDY3ICsxNzU2LDcgQEAgdGVzdHMudHdvSW50TGl0
ZXJhbHMgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICByZXR1cm4gNDIgPT0gNDI7CiAgICAgICAg
IH0KICAgICBgKTsKLSAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbXSwgW10pLCB0cnVlKTsKLX0KLQotdGVzdHMudW5pZnlEaWZmZXJlbnRMaXRlcmFs
cyA9IGZ1bmN0aW9uKCkKLXsKLSAgICBjaGVja0ZhaWwoCi0gICAgICAgICgpID0+IGRvUHJlcChg
Ci0gICAgICAgICAgICB2b2lkIGJhcjxUPihULCBUKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgdm9pZCBmb28oKQotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIGJhcig0MiwgNDJ1KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCksCi0gICAgICAgIChl
KSA9PiBlIGluc3RhbmNlb2YgV1R5cGVFcnJvcik7Ci19Ci0KLXRlc3RzLnVuaWZ5RGlmZmVyZW50
TGl0ZXJhbHNCYWNrd2FyZHMgPSBmdW5jdGlvbigpCi17Ci0gICAgY2hlY2tGYWlsKAotICAgICAg
ICAoKSA9PiBkb1ByZXAoYAotICAgICAgICAgICAgdm9pZCBiYXI8VD4oVCwgVCkKLSAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHZvaWQgZm9vKCkKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICBiYXIoNDJ1LCA0Mik7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IGApLAotICAgICAgICAoZSkgPT4gZSBpbnN0YW5jZW9mIFdUeXBlRXJyb3IpOwotfQotCi10ZXN0
cy51bmlmeVZlcnlEaWZmZXJlbnRMaXRlcmFscyA9IGZ1bmN0aW9uKCkKLXsKLSAgICBjaGVja0Zh
aWwoCi0gICAgICAgICgpID0+IGRvUHJlcChgCi0gICAgICAgICAgICB2b2lkIGJhcjxUPihULCBU
KQotICAgICAgICAgICAgewotICAgICAgICAgICAgfQotICAgICAgICAgICAgdm9pZCBmb28oKQot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGJhcig0MiwgbnVsbCk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIGApLAotICAgICAgICAoZSkgPT4gZSBpbnN0YW5jZW9mIFdUeXBlRXJyb3Ip
OwotfQotCi10ZXN0cy51bmlmeVZlcnlEaWZmZXJlbnRMaXRlcmFsc0JhY2t3YXJkcyA9IGZ1bmN0
aW9uKCkKLXsKLSAgICBjaGVja0ZhaWwoCi0gICAgICAgICgpID0+IGRvUHJlcChgCi0gICAgICAg
ICAgICB2b2lkIGJhcjxUPihULCBUKQotICAgICAgICAgICAgewotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgdm9pZCBmb28oKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGJhcihu
dWxsLCA0Mik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApLAotICAgICAgICAoZSkgPT4gZSBp
bnN0YW5jZW9mIFdUeXBlRXJyb3IpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgdHJ1ZSk7CiB9CiAKIHRlc3RzLmFzc2lnblVpbnRUb0lu
dCA9IGZ1bmN0aW9uKCkKQEAgLTI0NzksNyArMTc4NSw3IEBAIHRlc3RzLmJ1aWxkQXJyYXlUaGVu
U3VtSXQgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICB9
CiAgICAgYCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28iLCBbXSwgW10pLCA0MiAqIDUgKyA0MiAqIDQxIC8gMik7CisgICAgY2hlY2tJbnQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSksIDQyICogNSArIDQyICogNDEgLyAy
KTsKIH0KIAogdGVzdHMuYnVpbGRBcnJheVRoZW5TdW1JdFVzaW5nQXJyYXlSZWZlcmVuY2UgPSBm
dW5jdGlvbigpCkBAIC0yNTAwLDcgKzE4MDYsNyBAQCB0ZXN0cy5idWlsZEFycmF5VGhlblN1bUl0
VXNpbmdBcnJheVJlZmVyZW5jZSA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJldHVybiBiYXIo
QGFycmF5KTsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFtdKSwgNDIgKiA1ICsgNDIgKiA0MSAvIDIpOwor
ICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCA0
MiAqIDUgKyA0MiAqIDQxIC8gMik7CiB9CiAKIHRlc3RzLm92ZXJyaWRlU3Vic2NyaXB0U3RydWN0
ID0gZnVuY3Rpb24oKQpAQCAtMjUyNiw3ICsxODMyLDcgQEAgdGVzdHMub3ZlcnJpZGVTdWJzY3Jp
cHRTdHJ1Y3QgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICByZXR1cm4gZm9vWzBdICsgZm9vWzFd
ICogMzsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFtdKSwgNDk4ICsgMTkgKiAzKTsKKyAgICBjaGVja0lu
dChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNDk4ICsgMTkgKiAz
KTsKIH0KIAogdGVzdHMub3ZlcnJpZGVTdWJzY3JpcHRTdHJ1Y3RBbmREb1N0b3JlcyA9IGZ1bmN0
aW9uKCkKQEAgLTI1NTIsNyArMTg1OCw3IEBAIHRlc3RzLm92ZXJyaWRlU3Vic2NyaXB0U3RydWN0
QW5kRG9TdG9yZXMgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICByZXR1cm4gZm9vLnggKyBmb28u
eTsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW10sIFtdKSwgNDk4ICsgMTkpOworICAgIGNoZWNrSW50KHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCA0OTggKyAxOSk7CiB9CiAKIHRl
c3RzLm92ZXJyaWRlU3Vic2NyaXB0U3RydWN0QW5kVXNlUG9pbnRlcnMgPSBmdW5jdGlvbigpCkBA
IC0yNTgyLDcgKzE4ODgsNyBAQCB0ZXN0cy5vdmVycmlkZVN1YnNjcmlwdFN0cnVjdEFuZFVzZVBv
aW50ZXJzID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0dXJuIGJhcigmZm9vKTsKICAgICAg
ICAgfQogICAgIGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW10sIFtdKSwgNDk4ICsgMTkpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCA0OTggKyAxOSk7CiB9CiAKIHRlc3RzLm92ZXJy
aWRlU3Vic2NyaXB0U3RydWN0QW5kVXNlUG9pbnRlcnNJbmNvcnJlY3RseSA9IGZ1bmN0aW9uKCkK
QEAgLTI2MjksNyArMTkzNSw3IEBAIHRlc3RzLm1ha2VBcnJheVJlZkZyb21Mb2NhbCA9IGZ1bmN0
aW9uKCkKICAgICAgICAgICAgIHJldHVybiBiYXIoQHgpOwogICAgICAgICB9CiAgICAgYCk7Ci0g
ICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW10p
LCA0OCk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28i
LCBbXSksIDQ4KTsKIH0KIAogdGVzdHMubWFrZUFycmF5UmVmRnJvbVBvaW50ZXIgPSBmdW5jdGlv
bigpCkBAIC0yNjQ5LDcgKzE5NTUsNyBAQCB0ZXN0cy5tYWtlQXJyYXlSZWZGcm9tUG9pbnRlciA9
IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJldHVybiBiYXooJngpOwogICAgICAgICB9CiAgICAg
YCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBb
XSwgW10pLCA0OCk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbXSksIDQ4KTsKIH0KIAogdGVzdHMubWFrZUFycmF5UmVmRnJvbUFycmF5UmVmID0g
ZnVuY3Rpb24oKQpAQCAtMjY4Miw2NSArMTk4OCwzNSBAQCB0ZXN0cy5zaW1wbGVMZW5ndGggPSBm
dW5jdGlvbigpCiAgICAgICAgICAgICByZXR1cm4gKEBhcnJheSkubGVuZ3RoOwogICAgICAgICB9
CiAgICAgYCk7Ci0gICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vIiwgW10sIFtdKSwgNzU0KTsKKyAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbXSksIDc1NCk7CiB9CiAKIHRlc3RzLm5vbkFycmF5UmVmQXJyYXlM
ZW5ndGhTdWNjZWVkID0gZnVuY3Rpb24oKQotewotICAgIGxldCBwcm9ncmFtID0gZG9QcmVwKGAK
LSAgICAgICAgdWludCBmb28oKQotICAgICAgICB7Ci0gICAgICAgICAgICBmbG9hdFs3NTRdIGFy
cmF5OwotICAgICAgICAgICAgcmV0dXJuIGFycmF5Lmxlbmd0aDsKLSAgICAgICAgfQotICAgIGAp
OwotICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtd
LCBbXSksIDc1NCk7Ci19Ci0KLXRlc3RzLm5vbkFycmF5UmVmQXJyYXlMZW5ndGhGYWlsID0gZnVu
Y3Rpb24oKQotewotICAgIGNoZWNrRmFpbCgKLSAgICAgICAgKCkgPT4gZG9QcmVwKGAKLSAgICAg
ICAgICAgIHRocmVhZCB1aW50KiBsZW5ndGhQdHIoKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgICAgIGludFs0Ml0gYXJyYXk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuICYoYXJyYXkubGVu
Z3RoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCksCi0gICAgICAgIGUgPT4gZSBpbnN0YW5j
ZW9mIFdUeXBlRXJyb3IpOwotfQotCi10ZXN0cy5jb25zdGV4cHJJc05vdExWYWx1ZVB0ciA9IGZ1
bmN0aW9uKCkKLXsKLSAgICBjaGVja0ZhaWwoCi0gICAgICAgICgpID0+IGRvUHJlcChgCi0gICAg
ICAgICAgICB0aHJlYWQgaW50KiBmb288aW50IHg+KCkKLSAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICByZXR1cm4gJng7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApLAotICAgICAgICBl
ID0+IGUgaW5zdGFuY2VvZiBXVHlwZUVycm9yKTsKLX0KLQotdGVzdHMuY29uc3RleHBySXNOb3RM
VmFsdWVBc3NpZ24gPSBmdW5jdGlvbigpCi17Ci0gICAgY2hlY2tGYWlsKAotICAgICAgICAoKSA9
PiBkb1ByZXAoYAotICAgICAgICAgICAgdm9pZCBmb288aW50IHg+KCkKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICB4ID0gNDI7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApLAotICAg
ICAgICBlID0+IGUgaW5zdGFuY2VvZiBXVHlwZUVycm9yKTsKK3sKKyAgICBsZXQgcHJvZ3JhbSA9
IGRvUHJlcChgCisgICAgICAgIHVpbnQgZm9vKCkKKyAgICAgICAgeworICAgICAgICAgICAgZmxv
YXRbNzU0XSBhcnJheTsKKyAgICAgICAgICAgIHJldHVybiBhcnJheS5sZW5ndGg7CisgICAgICAg
IH0KKyAgICAgICAgdWludCBiYXIoKQorICAgICAgICB7CisgICAgICAgICAgICBpbnRbNzU0XSBh
cnJheTsKKyAgICAgICAgICAgIHJldHVybiBhcnJheS5sZW5ndGg7CisgICAgICAgIH0KKyAgICBg
KTsKKyAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBb
XSksIDc1NCk7CisgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
YmFyIiwgW10pLCA3NTQpOwogfQogCi10ZXN0cy5jb25zdGV4cHJJc05vdExWYWx1ZVJNVyA9IGZ1
bmN0aW9uKCkKK3Rlc3RzLm5vbkFycmF5UmVmQXJyYXlMZW5ndGhGYWlsID0gZnVuY3Rpb24oKQog
ewogICAgIGNoZWNrRmFpbCgKICAgICAgICAgKCkgPT4gZG9QcmVwKGAKLSAgICAgICAgICAgIHZv
aWQgZm9vPGludCB4PigpCisgICAgICAgICAgICB0aHJlYWQgdWludCogbGVuZ3RoUHRyKCkKICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB4ICs9IDQyOworICAgICAgICAgICAgICAgIGlu
dFs0Ml0gYXJyYXk7CisgICAgICAgICAgICAgICAgcmV0dXJuICYoYXJyYXkubGVuZ3RoKTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgYCksCiAgICAgICAgIGUgPT4gZSBpbnN0YW5jZW9mIFdUeXBl
RXJyb3IpOwpAQCAtMjc1Niw3ICsyMDMyLDcgQEAgdGVzdHMuYXNzaWduTGVuZ3RoID0gZnVuY3Rp
b24oKQogICAgICAgICAgICAgICAgIChAYXJyYXkpLmxlbmd0aCA9IDQyOwogICAgICAgICAgICAg
fQogICAgICAgICBgKSwKLSAgICAgICAgKGUpID0+IGUgaW5zdGFuY2VvZiBXVHlwZUVycm9yICYm
IGUubWVzc2FnZS5pbmRleE9mKCJIYXZlIG5laXRoZXIgYW5kZXIgbm9yIHNldHRlciIpICE9IC0x
KTsKKyAgICAgICAgKGUpID0+IGUgaW5zdGFuY2VvZiBXVHlwZUVycm9yKTsKIH0KIAogdGVzdHMu
YXNzaWduTGVuZ3RoSGVscGVyID0gZnVuY3Rpb24oKQpAQCAtMjc3Myw3ICsyMDQ5LDcgQEAgdGVz
dHMuYXNzaWduTGVuZ3RoSGVscGVyID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgICAgIGJhcihA
YXJyYXkpOwogICAgICAgICAgICAgfQogICAgICAgICBgKSwKLSAgICAgICAgKGUpID0+IGUgaW5z
dGFuY2VvZiBXVHlwZUVycm9yICYmIGUubWVzc2FnZS5pbmRleE9mKCJIYXZlIG5laXRoZXIgYW5k
ZXIgbm9yIHNldHRlciIpICE9IC0xKTsKKyAgICAgICAgKGUpID0+IGUgaW5zdGFuY2VvZiBXVHlw
ZUVycm9yKTsKIH0KIAogdGVzdHMuc2ltcGxlR2V0dGVyID0gZnVuY3Rpb24oKQpAQCAtMjc5Myw3
ICsyMDY5LDcgQEAgdGVzdHMuc2ltcGxlR2V0dGVyID0gZnVuY3Rpb24oKQogICAgICAgICAgICAg
cmV0dXJuIGZvby55OwogICAgICAgICB9CiAgICAgYCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW10pLCA3ODA0KTsKKyAgICBjaGVja0lu
dChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNzgwNCk7CiB9CiAK
IHRlc3RzLnNpbXBsZVNldHRlciA9IGZ1bmN0aW9uKCkKQEAgLTI4MTgsMjM2ICsyMDk0LDcgQEAg
dGVzdHMuc2ltcGxlU2V0dGVyID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0dXJuIGZvby54
OwogICAgICAgICB9CiAgICAgYCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbXSwgW10pLCA3ODA0KTsKLX0KLQotdGVzdHMuZ2VuZXJpY0FjY2Vz
c29ycyA9IGZ1bmN0aW9uKCkKLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcChgCi0gICAgICAg
IHN0cnVjdCBGb288VD4gewotICAgICAgICAgICAgVCB4OwotICAgICAgICAgICAgVFszXSB5Owot
ICAgICAgICB9Ci0gICAgICAgIHN0cnVjdCBCYXI8VD4gewotICAgICAgICAgICAgVCB4OwotICAg
ICAgICAgICAgVCB5OwotICAgICAgICB9Ci0gICAgICAgIEJhcjxUPiBvcGVyYXRvci56PFQ+KEZv
bzxUPiBmb28pCi0gICAgICAgIHsKLSAgICAgICAgICAgIEJhcjxUPiByZXN1bHQ7Ci0gICAgICAg
ICAgICByZXN1bHQueCA9IGZvby54OwotICAgICAgICAgICAgcmVzdWx0LnkgPSBmb28ueVsxXTsK
LSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgICAgIH0KLSAgICAgICAgRm9vPFQ+IG9w
ZXJhdG9yLno9PFQ+KEZvbzxUPiBmb28sIEJhcjxUPiBiYXIpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIGZvby54ID0gYmFyLng7Ci0gICAgICAgICAgICBmb28ueVsxXSA9IGJhci55OwotICAgICAg
ICAgICAgcmV0dXJuIGZvbzsKLSAgICAgICAgfQotICAgICAgICBUIG9wZXJhdG9yLnN1bTxUOkFk
ZGFibGU+KEZvbzxUPiBmb28pCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBmb28ueCAr
IGZvby55WzBdICsgZm9vLnlbMV0gKyBmb28ueVsyXTsKLSAgICAgICAgfQotICAgICAgICBUIG9w
ZXJhdG9yLnN1bTxUOkFkZGFibGU+KEJhcjxUPiBiYXIpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IHJldHVybiBiYXIueCArIGJhci55OwotICAgICAgICB9Ci0gICAgICAgIG9wZXJhdG9yPFQ+IEJh
cjxUPihUIHgsIFQgeSkKLSAgICAgICAgewotICAgICAgICAgICAgQmFyPFQ+IHJlc3VsdDsKLSAg
ICAgICAgICAgIHJlc3VsdC54ID0geDsKLSAgICAgICAgICAgIHJlc3VsdC55ID0geTsKLSAgICAg
ICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgICAgIH0KLSAgICAgICAgdm9pZCBzZXR1cCh0aHJl
YWQgRm9vPGludD4qIGZvbykKLSAgICAgICAgewotICAgICAgICAgICAgZm9vLT54ID0gMTsKLSAg
ICAgICAgICAgIGZvby0+eVswXSA9IDI7Ci0gICAgICAgICAgICBmb28tPnlbMV0gPSAzOwotICAg
ICAgICAgICAgZm9vLT55WzJdID0gNDsKLSAgICAgICAgfQotICAgICAgICBpbnQgdGVzdFN1cGVy
QmFzaWMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBGb288aW50PiBmb287Ci0gICAgICAgICAg
ICBzZXR1cCgmZm9vKTsKLSAgICAgICAgICAgIHJldHVybiBmb28uc3VtOwotICAgICAgICB9Ci0g
ICAgICAgIGludCB0ZXN0WlNldHRlckRpZFNldFkoKQotICAgICAgICB7Ci0gICAgICAgICAgICBG
b288aW50PiBmb287Ci0gICAgICAgICAgICBmb28ueiA9IEJhcjxpbnQ+KDUzLCA5MzIpOwotICAg
ICAgICAgICAgcmV0dXJuIGZvby55WzFdOwotICAgICAgICB9Ci0gICAgICAgIGludCB0ZXN0WlNl
dHRlcigpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEZvbzxpbnQ+IGZvbzsKLSAgICAgICAgICAg
IGZvby56ID0gQmFyPGludD4oNTMsIDkzMik7Ci0gICAgICAgICAgICByZXR1cm4gZm9vLnN1bTsK
LSAgICAgICAgfQotICAgICAgICBpbnQgdGVzdFpHZXR0ZXIoKQotICAgICAgICB7Ci0gICAgICAg
ICAgICBGb288aW50PiBmb287Ci0gICAgICAgICAgICAvLyBUaGlzIGRlbGliZXJhdGVseSBkb2Vz
IG5vdCBjYWxsIHNldHVwKCkganVzdCBzbyB3ZSB0ZXN0IHRoaXMgc3ludGF4LgotICAgICAgICAg
ICAgZm9vLnggPSAxOwotICAgICAgICAgICAgZm9vLnlbMF0gPSAyOwotICAgICAgICAgICAgZm9v
LnlbMV0gPSAzOwotICAgICAgICAgICAgZm9vLnlbMl0gPSA0OwotICAgICAgICAgICAgcmV0dXJu
IGZvby56LnN1bTsKLSAgICAgICAgfQotICAgICAgICBpbnQgdGVzdExWYWx1ZUVtdWxhdGlvbigp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIEZvbzxpbnQ+IGZvbzsKLSAgICAgICAgICAgIHNldHVw
KCZmb28pOwotICAgICAgICAgICAgZm9vLnoueSAqPSA1OwotICAgICAgICAgICAgcmV0dXJuIGZv
by5zdW07Ci0gICAgICAgIH0KLSAgICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgInRlc3RTdXBlckJhc2ljIiwgW10sIFtdKSwgMSArIDIgKyAzICsgNCk7
Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJ0ZXN0WlNldHRl
ckRpZFNldFkiLCBbXSwgW10pLCA5MzIpOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAidGVzdFpTZXR0ZXIiLCBbXSwgW10pLCA1MyArIDkzMik7Ci0gICAgY2hl
Y2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJ0ZXN0WkdldHRlciIsIFtdLCBb
XSksIDEgKyAzKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
InRlc3RMVmFsdWVFbXVsYXRpb24iLCBbXSwgW10pLCAxICsgMiArIDMgKiA1ICsgNCk7Ci19Ci0K
LXRlc3RzLmJpdFN1YnNjcmlwdEFjY2Vzc29yID0gZnVuY3Rpb24oKQotewotICAgIGxldCBwcm9n
cmFtID0gZG9QcmVwKGAKLSAgICAgICAgcHJvdG9jb2wgTXlCaXRtYXNrYWJsZSA6IEVxdWF0YWJs
ZSB7Ci0gICAgICAgICAgICBNeUJpdG1hc2thYmxlIG9wZXJhdG9yJihNeUJpdG1hc2thYmxlLCBN
eUJpdG1hc2thYmxlKTsKLSAgICAgICAgICAgIE15Qml0bWFza2FibGUgb3BlcmF0b3J8KE15Qml0
bWFza2FibGUsIE15Qml0bWFza2FibGUpOwotICAgICAgICAgICAgTXlCaXRtYXNrYWJsZSBvcGVy
YXRvcn4oTXlCaXRtYXNrYWJsZSk7Ci0gICAgICAgICAgICBNeUJpdG1hc2thYmxlIG9wZXJhdG9y
PDwoTXlCaXRtYXNrYWJsZSwgdWludCk7Ci0gICAgICAgICAgICBNeUJpdG1hc2thYmxlIG9wZXJh
dG9yPj4oTXlCaXRtYXNrYWJsZSwgdWludCk7Ci0gICAgICAgICAgICBvcGVyYXRvciBNeUJpdG1h
c2thYmxlKGludCk7Ci0gICAgICAgIH0KLSAgICAgICAgVCBtYXNrRm9yQml0SW5kZXg8VDpNeUJp
dG1hc2thYmxlPih1aW50IGluZGV4KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gVCgx
KSA8PCBpbmRleDsKLSAgICAgICAgfQotICAgICAgICBib29sIG9wZXJhdG9yW108VDpNeUJpdG1h
c2thYmxlPihUIHZhbHVlLCB1aW50IGluZGV4KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1
cm4gYm9vbCh2YWx1ZSAmIG1hc2tGb3JCaXRJbmRleDxUPihpbmRleCkpOwotICAgICAgICB9Ci0g
ICAgICAgIFQgb3BlcmF0b3JbXT08VDpNeUJpdG1hc2thYmxlPihUIHZhbHVlLCB1aW50IGluZGV4
LCBib29sIGJpdCkKLSAgICAgICAgewotICAgICAgICAgICAgVCBtYXNrID0gbWFza0ZvckJpdElu
ZGV4PFQ+KGluZGV4KTsKLSAgICAgICAgICAgIGlmIChiaXQpCi0gICAgICAgICAgICAgICAgdmFs
dWUgfD0gbWFzazsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB2YWx1ZSAmPSB+
bWFzazsKLSAgICAgICAgICAgIHJldHVybiB2YWx1ZTsKLSAgICAgICAgfQotICAgICAgICB1aW50
IG9wZXJhdG9yLmxlbmd0aChpbnQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiAzMjsK
LSAgICAgICAgfQotICAgICAgICB1aW50IG9wZXJhdG9yLmxlbmd0aCh1aW50KQotICAgICAgICB7
Ci0gICAgICAgICAgICByZXR1cm4gMzI7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IHRlc3RJbnRT
ZXRCaXQzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaW50IGZvbzsKLSAgICAgICAgICAgIGZv
b1szXSA9IHRydWU7Ci0gICAgICAgICAgICByZXR1cm4gZm9vOwotICAgICAgICB9Ci0gICAgICAg
IGJvb2wgdGVzdEludFNldEdldEJpdDUoKQotICAgICAgICB7Ci0gICAgICAgICAgICBpbnQgZm9v
OwotICAgICAgICAgICAgZm9vWzVdID0gdHJ1ZTsKLSAgICAgICAgICAgIHJldHVybiBmb29bNV07
Ci0gICAgICAgIH0KLSAgICAgICAgYm9vbCB0ZXN0SW50R2V0Qml0MSgpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGludCBmb287Ci0gICAgICAgICAgICByZXR1cm4gZm9vWzFdOwotICAgICAgICB9
Ci0gICAgICAgIGludCB0ZXN0VWludFN1bUJpdHMoKQotICAgICAgICB7Ci0gICAgICAgICAgICBp
bnQgZm9vID0gNDI7Ci0gICAgICAgICAgICBpbnQgcmVzdWx0OwotICAgICAgICAgICAgZm9yICh1
aW50IGkgPSAwOyBpIDwgZm9vLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGZv
b1tpXSkKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0Kys7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgICAgICB9Ci0gICAgICAgIGludCB0ZXN0VWludFN3
YXBCaXRzKCkKLSAgICAgICAgewotICAgICAgICAgICAgaW50IGZvbyA9IDQyOwotICAgICAgICAg
ICAgZm9yICh1aW50IGkgPSAwOyBpIDwgZm9vLmxlbmd0aCAvIDI7ICsraSkgewotICAgICAgICAg
ICAgICAgIGJvb2wgdG1wID0gZm9vW2ldOwotICAgICAgICAgICAgICAgIGZvb1tpXSA9IGZvb1tm
b28ubGVuZ3RoIC0gaSAtIDFdOwotICAgICAgICAgICAgICAgIGZvb1tmb28ubGVuZ3RoIC0gaSAt
IDFdID0gdG1wOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIGZvbzsKLSAgICAg
ICAgfQotICAgICAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgICAgIHVpbnQgZjsKLSAgICAgICAg
ICAgIHVpbnQgZzsKLSAgICAgICAgfQotICAgICAgICBvcGVyYXRvciBGb28odWludCBmLCB1aW50
IGcpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEZvbyByZXN1bHQ7Ci0gICAgICAgICAgICByZXN1
bHQuZiA9IGY7Ci0gICAgICAgICAgICByZXN1bHQuZyA9IGc7Ci0gICAgICAgICAgICByZXR1cm4g
cmVzdWx0OwotICAgICAgICB9Ci0gICAgICAgIGludCBvcGVyYXRvci5oKEZvbyBmb28pCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIHJldHVybiBpbnQoKGZvby5mICYgMHhmZmZmKSB8ICgoZm9vLmcg
JiAweGZmZmYpIDw8IDE2KSk7Ci0gICAgICAgIH0KLSAgICAgICAgRm9vIG9wZXJhdG9yLmg9KEZv
byBmb28sIGludCB2YWx1ZSkKLSAgICAgICAgewotICAgICAgICAgICAgZm9vLmYgJj0gfjB4ZmZm
ZnU7Ci0gICAgICAgICAgICBmb28uZiB8PSB1aW50KHZhbHVlKSAmIDB4ZmZmZjsKLSAgICAgICAg
ICAgIGZvby5nICY9IH4weGZmZmZ1OwotICAgICAgICAgICAgZm9vLmcgfD0gKHVpbnQodmFsdWUp
ID4+IDE2KSAmIDB4ZmZmZjsKLSAgICAgICAgICAgIHJldHVybiBmb287Ci0gICAgICAgIH0KLSAg
ICAgICAgaW50IHRlc3RMVmFsdWVFbXVsYXRpb24oKQotICAgICAgICB7Ci0gICAgICAgICAgICBG
b28gZm9vOwotICAgICAgICAgICAgZm9vLmYgPSA0MjsKLSAgICAgICAgICAgIGZvby5nID0gMzc7
Ci0gICAgICAgICAgICBmb3IgKHVpbnQgaSA9IDA7IGkgPCBmb28uaC5sZW5ndGg7ICsraSkKLSAg
ICAgICAgICAgICAgICBmb28uaFtpXSBePSB0cnVlOwotICAgICAgICAgICAgcmV0dXJuIGludChm
b28uZiArIGZvby5nKTsKLSAgICAgICAgfQotICAgICAgICBzdHJ1Y3QgQmFyIHsKLSAgICAgICAg
ICAgIEZvbyBhOwotICAgICAgICAgICAgRm9vIGI7Ci0gICAgICAgIH0KLSAgICAgICAgRm9vIG9w
ZXJhdG9yLmMoQmFyIGJhcikKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIEZvbyh1aW50
KGJhci5hLmgpLCB1aW50KGJhci5iLmgpKTsKLSAgICAgICAgfQotICAgICAgICBCYXIgb3BlcmF0
b3IuYz0oQmFyIGJhciwgRm9vIGZvbykKLSAgICAgICAgewotICAgICAgICAgICAgYmFyLmEuaCA9
IGludChmb28uZik7Ci0gICAgICAgICAgICBiYXIuYi5oID0gaW50KGZvby5nKTsKLSAgICAgICAg
ICAgIHJldHVybiBiYXI7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IHRlc3RDcmF6eUxWYWx1ZUVt
dWxhdGlvbigpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEJhciBiYXI7Ci0gICAgICAgICAgICBi
YXIuYS5mID0gMTsKLSAgICAgICAgICAgIGJhci5hLmcgPSAyOwotICAgICAgICAgICAgYmFyLmIu
ZiA9IDM7Ci0gICAgICAgICAgICBiYXIuYi5nID0gNDsKLSAgICAgICAgICAgIGZvciAodWludCBp
ID0gMDsgaSA8IGJhci5jLmgubGVuZ3RoOyBpICs9IDIpCi0gICAgICAgICAgICAgICAgYmFyLmMu
aFtpXSBePSB0cnVlOwotICAgICAgICAgICAgcmV0dXJuIGludChiYXIuYS5mICsgYmFyLmEuZyAr
IGJhci5iLmYgKyBiYXIuYi5nKTsKLSAgICAgICAgfQotICAgIGApOwotICAgIGNoZWNrSW50KHBy
b2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidGVzdEludFNldEJpdDMiLCBbXSwgW10pLCA4
KTsKLSAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJ0ZXN0SW50
U2V0R2V0Qml0NSIsIFtdLCBbXSksIHRydWUpOwotICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgInRlc3RJbnRHZXRCaXQxIiwgW10sIFtdKSwgZmFsc2UpOwotICAg
IGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidGVzdFVpbnRTdW1CaXRz
IiwgW10sIFtdKSwgMyk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJ0ZXN0VWludFN3YXBCaXRzIiwgW10sIFtdKSwgMTQwOTI4NjE0NCk7Ci0gICAgY2hlY2tJ
bnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJ0ZXN0TFZhbHVlRW11bGF0aW9uIiwg
W10sIFtdKSwgMTMwOTkxKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgInRlc3RDcmF6eUxWYWx1ZUVtdWxhdGlvbiIsIFtdLCBbXSksIDQzNjk2KTsKKyAgICBj
aGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNzgwNCk7
CiB9CiAKIHRlc3RzLm5lc3RlZFN1YnNjcmlwdExWYWx1ZUVtdWxhdGlvblNpbXBsZSA9IGZ1bmN0
aW9uKCkKQEAgLTMxNTAsMTE5ICsyMTk3LDkzIEBAIHRlc3RzLm5lc3RlZFN1YnNjcmlwdExWYWx1
ZUVtdWxhdGlvblNpbXBsZSA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJldHVybiBzdW0oYmF6
KTsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAidGVzdFNldFZhbHVlc0FuZFN1bSIsIFtdLCBbXSksIDE1NzUpOwotICAgIGNo
ZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidGVzdFNldFZhbHVlc011dGF0
ZVZhbHVlc0FuZFN1bSIsIFtdLCBbXSksIDU1NjUpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAidGVzdFNldFZhbHVlc0FuZFN1bSIsIFtdKSwgMTU3NSk7Cisg
ICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJ0ZXN0U2V0VmFsdWVz
TXV0YXRlVmFsdWVzQW5kU3VtIiwgW10pLCA1NTY1KTsKIH0KIAotdGVzdHMubmVzdGVkU3Vic2Ny
aXB0TFZhbHVlRW11bGF0aW9uR2VuZXJpYyA9IGZ1bmN0aW9uKCkKK3Rlc3RzLm9wZXJhdG9yQm9v
bCA9IGZ1bmN0aW9uKCkKIHsKICAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcChgCi0gICAgICAgIHN0
cnVjdCBGb288VD4gewotICAgICAgICAgICAgVFs3XSBhcnJheTsKLSAgICAgICAgfQotICAgICAg
ICBUIG9wZXJhdG9yW108VD4oRm9vPFQ+IGZvbywgdWludCBpbmRleCkKLSAgICAgICAgewotICAg
ICAgICAgICAgcmV0dXJuIGZvby5hcnJheVtpbmRleF07Ci0gICAgICAgIH0KLSAgICAgICAgRm9v
PFQ+IG9wZXJhdG9yW109PFQ+KEZvbzxUPiBmb28sIHVpbnQgaW5kZXgsIFQgdmFsdWUpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIGZvby5hcnJheVtpbmRleF0gPSB2YWx1ZTsKLSAgICAgICAgICAg
IHJldHVybiBmb287Ci0gICAgICAgIH0KLSAgICAgICAgdWludCBvcGVyYXRvci5sZW5ndGg8VD4o
Rm9vPFQ+IGZvbykKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIGZvby5hcnJheS5sZW5n
dGg7Ci0gICAgICAgIH0KLSAgICAgICAgcHJvdG9jb2wgTXlBZGRhYmxlIHsKLSAgICAgICAgICAg
IE15QWRkYWJsZSBvcGVyYXRvcisoTXlBZGRhYmxlLCBNeUFkZGFibGUpOwotICAgICAgICB9Ci0g
ICAgICAgIFQgc3VtPFQ6TXlBZGRhYmxlPihGb288VD4gZm9vKQotICAgICAgICB7Ci0gICAgICAg
ICAgICBUIHJlc3VsdDsKLSAgICAgICAgICAgIGZvciAodWludCBpID0gZm9vLmxlbmd0aDsgaS0t
OykKLSAgICAgICAgICAgICAgICByZXN1bHQgKz0gZm9vW2ldOwotICAgICAgICAgICAgcmV0dXJu
IHJlc3VsdDsKLSAgICAgICAgfQotICAgICAgICBzdHJ1Y3QgQmFyPFQ+IHsKLSAgICAgICAgICAg
IEZvbzxUPls2XSBhcnJheTsKLSAgICAgICAgfQotICAgICAgICB1aW50IG9wZXJhdG9yLmxlbmd0
aDxUPihCYXI8VD4gYmFyKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gYmFyLmFycmF5
Lmxlbmd0aDsKLSAgICAgICAgfQotICAgICAgICBGb288VD4gb3BlcmF0b3JbXTxUPihCYXI8VD4g
YmFyLCB1aW50IGluZGV4KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gYmFyLmFycmF5
W2luZGV4XTsKLSAgICAgICAgfQotICAgICAgICBCYXI8VD4gb3BlcmF0b3JbXT08VD4oQmFyPFQ+
IGJhciwgdWludCBpbmRleCwgRm9vPFQ+IHZhbHVlKQotICAgICAgICB7Ci0gICAgICAgICAgICBi
YXIuYXJyYXlbaW5kZXhdID0gdmFsdWU7Ci0gICAgICAgICAgICByZXR1cm4gYmFyOwotICAgICAg
ICB9Ci0gICAgICAgIFQgc3VtPFQ6TXlBZGRhYmxlPihCYXI8VD4gYmFyKQotICAgICAgICB7Ci0g
ICAgICAgICAgICBUIHJlc3VsdDsKLSAgICAgICAgICAgIGZvciAodWludCBpID0gYmFyLmxlbmd0
aDsgaS0tOykKLSAgICAgICAgICAgICAgICByZXN1bHQgKz0gc3VtKGJhcltpXSk7Ci0gICAgICAg
ICAgICByZXR1cm4gcmVzdWx0OwotICAgICAgICB9Ci0gICAgICAgIHN0cnVjdCBCYXo8VD4gewot
ICAgICAgICAgICAgQmFyPFQ+WzVdIGFycmF5OwotICAgICAgICB9Ci0gICAgICAgIEJhcjxUPiBv
cGVyYXRvcltdPFQ+KEJhejxUPiBiYXosIHVpbnQgaW5kZXgpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIHJldHVybiBiYXouYXJyYXlbaW5kZXhdOwotICAgICAgICB9Ci0gICAgICAgIEJhejxUPiBv
cGVyYXRvcltdPTxUPihCYXo8VD4gYmF6LCB1aW50IGluZGV4LCBCYXI8VD4gdmFsdWUpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIGJhei5hcnJheVtpbmRleF0gPSB2YWx1ZTsKLSAgICAgICAgICAg
IHJldHVybiBiYXo7Ci0gICAgICAgIH0KLSAgICAgICAgdWludCBvcGVyYXRvci5sZW5ndGg8VD4o
QmF6PFQ+IGJheikKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIGJhei5hcnJheS5sZW5n
dGg7Ci0gICAgICAgIH0KLSAgICAgICAgVCBzdW08VDpNeUFkZGFibGU+KEJhejxUPiBiYXopCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIFQgcmVzdWx0OwotICAgICAgICAgICAgZm9yICh1aW50IGkg
PSBiYXoubGVuZ3RoOyBpLS07KQotICAgICAgICAgICAgICAgIHJlc3VsdCArPSBzdW0oYmF6W2ld
KTsKLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgICAgIH0KLSAgICAgICAgcHJvdG9j
b2wgTXlDb252ZXJ0aWJsZUZyb21VaW50IHsKLSAgICAgICAgICAgIG9wZXJhdG9yIE15Q29udmVy
dGlibGVGcm9tVWludCh1aW50KTsKLSAgICAgICAgfQotICAgICAgICBwcm90b2NvbCBTZXRWYWx1
YWJsZSA6IE15QWRkYWJsZSwgTXlDb252ZXJ0aWJsZUZyb21VaW50IHsgfQotICAgICAgICB2b2lk
IHNldFZhbHVlczxUOlNldFZhbHVhYmxlPih0aHJlYWQgQmF6PFQ+KiBiYXopCi0gICAgICAgIHsK
LSAgICAgICAgICAgIGZvciAodWludCBpID0gYmF6LT5sZW5ndGg7IGktLTspIHsKLSAgICAgICAg
ICAgICAgICBmb3IgKHVpbnQgaiA9ICgqYmF6KVtpXS5sZW5ndGg7IGotLTspIHsKLSAgICAgICAg
ICAgICAgICAgICAgZm9yICh1aW50IGsgPSAoKmJheilbaV1bal0ubGVuZ3RoOyBrLS07KQotICAg
ICAgICAgICAgICAgICAgICAgICAgKCpiYXopW2ldW2pdW2tdID0gVChpICsgaiArIGspOwotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBpbnQgdGVz
dFNldFZhbHVlc0FuZFN1bSgpCisgICAgICAgIGJvb2wgYm9vbEZyb21VaW50OEZhbHNlKCkgeyBy
ZXR1cm4gYm9vbCh1aW50OCgwKSk7IH0KKyAgICAgICAgYm9vbCBib29sRnJvbVVpbnQ4VHJ1ZSgp
IHsgcmV0dXJuIGJvb2wodWludDgoMSkpOyB9CisKKyAgICAgICAgYm9vbCBib29sRnJvbVVpbnRG
YWxzZSgpIHsgcmV0dXJuIGJvb2wodWludCgwKSk7IH0KKyAgICAgICAgYm9vbCBib29sRnJvbVVp
bnRUcnVlKCkgeyByZXR1cm4gYm9vbCh1aW50KDEpKTsgfQorCisgICAgICAgIGJvb2wgYm9vbEZy
b21JbnRGYWxzZSgpIHsgcmV0dXJuIGJvb2woaW50KDApKTsgfQorICAgICAgICBib29sIGJvb2xG
cm9tSW50VHJ1ZSgpIHsgcmV0dXJuIGJvb2woaW50KDEpKTsgfQorCisgICAgICAgIGJvb2wgYm9v
bEZyb21GbG9hdEZhbHNlKCkgeyByZXR1cm4gYm9vbChmbG9hdCgwKSk7IH0KKyAgICAgICAgYm9v
bCBib29sRnJvbUZsb2F0VHJ1ZSgpIHsgcmV0dXJuIGJvb2woZmxvYXQoMSkpOyB9CisKKyAgICAg
ICAgYm9vbCBib29sRnJvbUludDJGYWxzZSgpIHsgcmV0dXJuIGJvb2woaW50MigwLCAwKSk7IH0K
KyAgICAgICAgYm9vbCBib29sRnJvbUludDJUcnVlMSgpIHsgcmV0dXJuIGJvb2woaW50MigxLCAw
KSk7IH0KKyAgICAgICAgYm9vbCBib29sRnJvbUludDJUcnVlMigpIHsgcmV0dXJuIGJvb2woaW50
MigwLCAxKSk7IH0KKworICAgICAgICBib29sIGJvb2xGcm9tRmxvYXQzRmFsc2UoKSB7IHJldHVy
biBib29sKGZsb2F0MygwLCAwLCAwKSk7IH0KKyAgICAgICAgYm9vbCBib29sRnJvbUZsb2F0M1Ry
dWUxKCkgeyByZXR1cm4gYm9vbChmbG9hdDMoMSwgMCwgMCkpOyB9CisgICAgICAgIGJvb2wgYm9v
bEZyb21GbG9hdDNUcnVlMigpIHsgcmV0dXJuIGJvb2woZmxvYXQzKDAsIDEsIDApKTsgfQorICAg
ICAgICBib29sIGJvb2xGcm9tRmxvYXQzVHJ1ZTMoKSB7IHJldHVybiBib29sKGZsb2F0MygwLCAw
LCAxKSk7IH0KKworICAgICAgICBib29sIGJvb2xGcm9tVWludDRGYWxzZSgpIHsgcmV0dXJuIGJv
b2wodWludDQoMCwgMCwgMCwgMCkpOyB9CisgICAgICAgIGJvb2wgYm9vbEZyb21VaW50NFRydWUx
KCkgeyByZXR1cm4gYm9vbCh1aW50NCgxLCAwLCAwLCAwKSk7IH0KKyAgICAgICAgYm9vbCBib29s
RnJvbVVpbnQ0VHJ1ZTIoKSB7IHJldHVybiBib29sKHVpbnQ0KDAsIDEsIDAsIDApKTsgfQorICAg
ICAgICBib29sIGJvb2xGcm9tVWludDRUcnVlMygpIHsgcmV0dXJuIGJvb2wodWludDQoMCwgMCwg
MSwgMCkpOyB9CisgICAgICAgIGJvb2wgYm9vbEZyb21VaW50NFRydWU0KCkgeyByZXR1cm4gYm9v
bCh1aW50NCgwLCAwLCAwLCAxKSk7IH0KKworICAgICAgICBzdHJ1Y3QgWCB7IGludCB4OyB9CisK
KyAgICAgICAgYm9vbCBib29sRnJvbVN0cnVjdEZhbHNlKCkKICAgICAgICAgewotICAgICAgICAg
ICAgQmF6PGludD4gYmF6OwotICAgICAgICAgICAgc2V0VmFsdWVzKCZiYXopOwotICAgICAgICAg
ICAgcmV0dXJuIHN1bShiYXopOworICAgICAgICAgICAgWCB4OworICAgICAgICAgICAgcmV0dXJu
IGJvb2woeCk7CiAgICAgICAgIH0KLSAgICAgICAgaW50IHRlc3RTZXRWYWx1ZXNNdXRhdGVWYWx1
ZXNBbmRTdW0oKQorCisgICAgICAgIGJvb2wgYm9vbEZyb21TdHJ1Y3RUcnVlKCkKICAgICAgICAg
ewotICAgICAgICAgICAgQmF6PGludD4gYmF6OwotICAgICAgICAgICAgc2V0VmFsdWVzKCZiYXop
OwotICAgICAgICAgICAgZm9yICh1aW50IGkgPSBiYXoubGVuZ3RoOyBpLS07KSB7Ci0gICAgICAg
ICAgICAgICAgZm9yICh1aW50IGogPSBiYXpbaV0ubGVuZ3RoOyBqLS07KSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGZvciAodWludCBrID0gYmF6W2ldW2pdLmxlbmd0aDsgay0tOykKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGJheltpXVtqXVtrXSAqPSBpbnQoayk7Ci0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIHN1bShiYXopOworICAgICAgICAg
ICAgWCB4OworICAgICAgICAgICAgeC54ID0gMTsKKyAgICAgICAgICAgIHJldHVybiBib29sKHgp
OwogICAgICAgICB9CisKKyAgICAgICAgZW51bSBZIHsgQSwgQiB9CisKKyAgICAgICAgYm9vbCBi
b29sRnJvbUVudW1GYWxzZSgpIHsgcmV0dXJuIGJvb2woWS5BKTsgfQorICAgICAgICBib29sIGJv
b2xGcm9tRW51bVRydWUoKSB7IHJldHVybiBib29sKFkuQik7IH0KICAgICBgKTsKLSAgICBjaGVj
a0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgInRlc3RTZXRWYWx1ZXNBbmRTdW0i
LCBbXSwgW10pLCAxNTc1KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgInRlc3RTZXRWYWx1ZXNNdXRhdGVWYWx1ZXNBbmRTdW0iLCBbXSwgW10pLCA1NTY1KTsK
KworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImJvb2xGcm9t
VWludDhGYWxzZSIsIFtdKSwgZmFsc2UpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImJvb2xGcm9tVWludDhUcnVlIiwgW10pLCB0cnVlKTsKKworICAgIGNo
ZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImJvb2xGcm9tVWludEZhbHNl
IiwgW10pLCBmYWxzZSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiYm9vbEZyb21VaW50VHJ1ZSIsIFtdKSwgdHJ1ZSk7CisKKyAgICBjaGVja0Jvb2wocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJib29sRnJvbUludEZhbHNlIiwgW10pLCBmYWxz
ZSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiYm9vbEZy
b21JbnRUcnVlIiwgW10pLCB0cnVlKTsKKworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImJvb2xGcm9tRmxvYXRGYWxzZSIsIFtdKSwgZmFsc2UpOworICAgIGNo
ZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImJvb2xGcm9tRmxvYXRUcnVl
IiwgW10pLCB0cnVlKTsKKworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImJvb2xGcm9tSW50MkZhbHNlIiwgW10pLCBmYWxzZSk7CisgICAgY2hlY2tCb29sKHBy
b2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiYm9vbEZyb21JbnQyVHJ1ZTEiLCBbXSksIHRy
dWUpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImJvb2xG
cm9tSW50MlRydWUyIiwgW10pLCB0cnVlKTsKKworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImJvb2xGcm9tRmxvYXQzRmFsc2UiLCBbXSksIGZhbHNlKTsKKyAg
ICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJib29sRnJvbUZsb2F0
M1RydWUxIiwgW10pLCB0cnVlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJib29sRnJvbUZsb2F0M1RydWUyIiwgW10pLCB0cnVlKTsKKyAgICBjaGVja0Jv
b2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJib29sRnJvbUZsb2F0M1RydWUzIiwg
W10pLCB0cnVlKTsKKworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImJvb2xGcm9tVWludDRGYWxzZSIsIFtdKSwgZmFsc2UpOworICAgIGNoZWNrQm9vbChwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImJvb2xGcm9tVWludDRUcnVlMSIsIFtdKSwgdHJ1
ZSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiYm9vbEZy
b21VaW50NFRydWUyIiwgW10pLCB0cnVlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJib29sRnJvbVVpbnQ0VHJ1ZTMiLCBbXSksIHRydWUpOworICAgIGNo
ZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImJvb2xGcm9tVWludDRUcnVl
NCIsIFtdKSwgdHJ1ZSk7CisKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJib29sRnJvbVN0cnVjdEZhbHNlIiwgW10pLCBmYWxzZSk7CisgICAgY2hlY2tCb29s
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiYm9vbEZyb21TdHJ1Y3RUcnVlIiwgW10p
LCB0cnVlKTsKKworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImJvb2xGcm9tRW51bUZhbHNlIiwgW10pLCBmYWxzZSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiYm9vbEZyb21FbnVtVHJ1ZSIsIFtdKSwgdHJ1ZSk7CiB9
CiAKIHRlc3RzLmJvb2xCaXRBbmQgPSBmdW5jdGlvbigpCkBAIC0zMjczLDEwICsyMjk0LDEwIEBA
IHRlc3RzLmJvb2xCaXRBbmQgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICByZXR1cm4gYSAmIGI7
CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VCb29sKHByb2dyYW0sIGZhbHNlKSwgbWFrZUJvb2wo
cHJvZ3JhbSwgZmFsc2UpXSksIGZhbHNlKTsKLSAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VCb29sKHByb2dyYW0sIHRydWUpLCBtYWtl
Qm9vbChwcm9ncmFtLCBmYWxzZSldKSwgZmFsc2UpOwotICAgIGNoZWNrQm9vbChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUJvb2wocHJvZ3JhbSwgZmFsc2Up
LCBtYWtlQm9vbChwcm9ncmFtLCB0cnVlKV0pLCBmYWxzZSk7Ci0gICAgY2hlY2tCb29sKHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlQm9vbChwcm9ncmFtLCB0
cnVlKSwgbWFrZUJvb2wocHJvZ3JhbSwgdHJ1ZSldKSwgdHJ1ZSk7CisgICAgY2hlY2tCb29sKHBy
b2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VCb29sKHByb2dyYW0sIGZh
bHNlKSwgbWFrZUJvb2wocHJvZ3JhbSwgZmFsc2UpXSksIGZhbHNlKTsKKyAgICBjaGVja0Jvb2wo
cHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUJvb2wocHJvZ3JhbSwg
dHJ1ZSksIG1ha2VCb29sKHByb2dyYW0sIGZhbHNlKV0pLCBmYWxzZSk7CisgICAgY2hlY2tCb29s
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VCb29sKHByb2dyYW0s
IGZhbHNlKSwgbWFrZUJvb2wocHJvZ3JhbSwgdHJ1ZSldKSwgZmFsc2UpOworICAgIGNoZWNrQm9v
bChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlQm9vbChwcm9ncmFt
LCB0cnVlKSwgbWFrZUJvb2wocHJvZ3JhbSwgdHJ1ZSldKSwgdHJ1ZSk7CiB9CiAKIHRlc3RzLmJv
b2xCaXRPciA9IGZ1bmN0aW9uKCkKQEAgLTMyODcsMTAgKzIzMDgsMTAgQEAgdGVzdHMuYm9vbEJp
dE9yID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0dXJuIGEgfCBiOwogICAgICAgICB9CiAg
ICAgYCk7Ci0gICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW10sIFttYWtlQm9vbChwcm9ncmFtLCBmYWxzZSksIG1ha2VCb29sKHByb2dyYW0sIGZhbHNl
KV0pLCBmYWxzZSk7Ci0gICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW10sIFttYWtlQm9vbChwcm9ncmFtLCB0cnVlKSwgbWFrZUJvb2wocHJvZ3JhbSwg
ZmFsc2UpXSksIHRydWUpOwotICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbyIsIFtdLCBbbWFrZUJvb2wocHJvZ3JhbSwgZmFsc2UpLCBtYWtlQm9vbChwcm9n
cmFtLCB0cnVlKV0pLCB0cnVlKTsKLSAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VCb29sKHByb2dyYW0sIHRydWUpLCBtYWtlQm9vbChw
cm9ncmFtLCB0cnVlKV0pLCB0cnVlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUJvb2wocHJvZ3JhbSwgZmFsc2UpLCBtYWtlQm9vbChw
cm9ncmFtLCBmYWxzZSldKSwgZmFsc2UpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlQm9vbChwcm9ncmFtLCB0cnVlKSwgbWFrZUJvb2wo
cHJvZ3JhbSwgZmFsc2UpXSksIHRydWUpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlQm9vbChwcm9ncmFtLCBmYWxzZSksIG1ha2VCb29s
KHByb2dyYW0sIHRydWUpXSksIHRydWUpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlQm9vbChwcm9ncmFtLCB0cnVlKSwgbWFrZUJvb2wo
cHJvZ3JhbSwgdHJ1ZSldKSwgdHJ1ZSk7CiB9CiAKIHRlc3RzLmJvb2xCaXRYb3IgPSBmdW5jdGlv
bigpCkBAIC0zMzAxLDEwICsyMzIyLDEwIEBAIHRlc3RzLmJvb2xCaXRYb3IgPSBmdW5jdGlvbigp
CiAgICAgICAgICAgICByZXR1cm4gYSBeIGI7CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVj
a0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VCb29s
KHByb2dyYW0sIGZhbHNlKSwgbWFrZUJvb2wocHJvZ3JhbSwgZmFsc2UpXSksIGZhbHNlKTsKLSAg
ICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21h
a2VCb29sKHByb2dyYW0sIHRydWUpLCBtYWtlQm9vbChwcm9ncmFtLCBmYWxzZSldKSwgdHJ1ZSk7
Ci0gICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10s
IFttYWtlQm9vbChwcm9ncmFtLCBmYWxzZSksIG1ha2VCb29sKHByb2dyYW0sIHRydWUpXSksIHRy
dWUpOwotICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIs
IFtdLCBbbWFrZUJvb2wocHJvZ3JhbSwgdHJ1ZSksIG1ha2VCb29sKHByb2dyYW0sIHRydWUpXSks
IGZhbHNlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28iLCBbbWFrZUJvb2wocHJvZ3JhbSwgZmFsc2UpLCBtYWtlQm9vbChwcm9ncmFtLCBmYWxzZSld
KSwgZmFsc2UpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbyIsIFttYWtlQm9vbChwcm9ncmFtLCB0cnVlKSwgbWFrZUJvb2wocHJvZ3JhbSwgZmFsc2Up
XSksIHRydWUpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbyIsIFttYWtlQm9vbChwcm9ncmFtLCBmYWxzZSksIG1ha2VCb29sKHByb2dyYW0sIHRydWUp
XSksIHRydWUpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbyIsIFttYWtlQm9vbChwcm9ncmFtLCB0cnVlKSwgbWFrZUJvb2wocHJvZ3JhbSwgdHJ1ZSld
KSwgZmFsc2UpOwogfQogCiB0ZXN0cy5ib29sQml0Tm90ID0gZnVuY3Rpb24oKQpAQCAtMzMxNSw4
ICsyMzM2LDggQEAgdGVzdHMuYm9vbEJpdE5vdCA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJl
dHVybiB+YTsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUJvb2wocHJvZ3JhbSwgZmFsc2UpXSks
IHRydWUpOwotICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZv
byIsIFtdLCBbbWFrZUJvb2wocHJvZ3JhbSwgdHJ1ZSldKSwgZmFsc2UpOworICAgIGNoZWNrQm9v
bChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlQm9vbChwcm9ncmFt
LCBmYWxzZSldKSwgdHJ1ZSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vIiwgW21ha2VCb29sKHByb2dyYW0sIHRydWUpXSksIGZhbHNlKTsKIH0KIAog
dGVzdHMuaW50Qml0QW5kID0gZnVuY3Rpb24oKQpAQCAtMzMyNywxMCArMjM0OCwxMCBAQCB0ZXN0
cy5pbnRCaXRBbmQgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICByZXR1cm4gYSAmIGI7CiAgICAg
ICAgIH0KICAgICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCA3KV0p
LCAxKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIs
IFtdLCBbbWFrZUludChwcm9ncmFtLCA2NTUzNSksIG1ha2VJbnQocHJvZ3JhbSwgNDIpXSksIDQy
KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtd
LCBbbWFrZUludChwcm9ncmFtLCAtMSksIG1ha2VJbnQocHJvZ3JhbSwgLTcpXSksIC03KTsKLSAg
ICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFr
ZUludChwcm9ncmFtLCAwKSwgbWFrZUludChwcm9ncmFtLCA4NTczMildKSwgMCk7CisgICAgY2hl
Y2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9n
cmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCA3KV0pLCAxKTsKKyAgICBjaGVja0ludChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDY1NTM1KSwg
bWFrZUludChwcm9ncmFtLCA0MildKSwgNDIpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgLTEpLCBtYWtlSW50KHBy
b2dyYW0sIC03KV0pLCAtNyk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCAwKSwgbWFrZUludChwcm9ncmFtLCA4NTcz
MildKSwgMCk7CiB9CiAKIHRlc3RzLmludEJpdE9yID0gZnVuY3Rpb24oKQpAQCAtMzM0MSwxMCAr
MjM2MiwxMCBAQCB0ZXN0cy5pbnRCaXRPciA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJldHVy
biBhIHwgYjsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50
KHByb2dyYW0sIDcpXSksIDcpOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDY1NTM1KSwgbWFrZUludChwcm9n
cmFtLCA0MildKSwgNjU1MzUpOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIC0xKSwgbWFrZUludChwcm9ncmFt
LCAtNyldKSwgLTEpOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDApLCBtYWtlSW50KHByb2dyYW0sIDg1NzMy
KV0pLCA4NTczMik7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCA3KV0pLCA3KTsK
KyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtl
SW50KHByb2dyYW0sIDY1NTM1KSwgbWFrZUludChwcm9ncmFtLCA0MildKSwgNjU1MzUpOworICAg
IGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQo
cHJvZ3JhbSwgLTEpLCBtYWtlSW50KHByb2dyYW0sIC03KV0pLCAtMSk7CisgICAgY2hlY2tJbnQo
cHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCAw
KSwgbWFrZUludChwcm9ncmFtLCA4NTczMildKSwgODU3MzIpOwogfQogCiB0ZXN0cy5pbnRCaXRY
b3IgPSBmdW5jdGlvbigpCkBAIC0zMzU1LDEwICsyMzc2LDEwIEBAIHRlc3RzLmludEJpdFhvciA9
IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJldHVybiBhIF4gYjsKICAgICAgICAgfQogICAgIGAp
OwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10s
IFttYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDcpXSksIDYpOwotICAgIGNo
ZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50
KHByb2dyYW0sIDY1NTM1KSwgbWFrZUludChwcm9ncmFtLCA0MildKSwgNjU0OTMpOwotICAgIGNo
ZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50
KHByb2dyYW0sIC0xKSwgbWFrZUludChwcm9ncmFtLCAtNyldKSwgNik7Ci0gICAgY2hlY2tJbnQo
cHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3Jh
bSwgMCksIG1ha2VJbnQocHJvZ3JhbSwgODU3MzIpXSksIDg1NzMyKTsKKyAgICBjaGVja0ludChw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDEp
LCBtYWtlSW50KHByb2dyYW0sIDcpXSksIDYpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNjU1MzUpLCBtYWtlSW50
KHByb2dyYW0sIDQyKV0pLCA2NTQ5Myk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCAtMSksIG1ha2VJbnQocHJvZ3Jh
bSwgLTcpXSksIDYpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgMCksIG1ha2VJbnQocHJvZ3JhbSwgODU3MzIpXSks
IDg1NzMyKTsKIH0KIAogdGVzdHMuaW50Qml0Tm90ID0gZnVuY3Rpb24oKQpAQCAtMzM2OSwxMCAr
MjM5MCwxMCBAQCB0ZXN0cy5pbnRCaXROb3QgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICByZXR1
cm4gfmE7CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCAxKV0pLCAtMik7Ci0g
ICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21h
a2VJbnQocHJvZ3JhbSwgNjU1MzUpXSksIC02NTUzNik7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgLTEpXSks
IDApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwg
W10sIFttYWtlSW50KHByb2dyYW0sIDApXSksIC0xKTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDEpXSksIC0yKTsK
KyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtl
SW50KHByb2dyYW0sIDY1NTM1KV0pLCAtNjU1MzYpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgLTEpXSksIDApOwor
ICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJ
bnQocHJvZ3JhbSwgMCldKSwgLTEpOwogfQogCiB0ZXN0cy5pbnRMU2hpZnQgPSBmdW5jdGlvbigp
CkBAIC0zMzgzLDEwICsyNDA0LDEwIEBAIHRlc3RzLmludExTaGlmdCA9IGZ1bmN0aW9uKCkKICAg
ICAgICAgICAgIHJldHVybiBhIDw8IGI7CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0lu
dChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9n
cmFtLCAxKSwgbWFrZVVpbnQocHJvZ3JhbSwgNyldKSwgMTI4KTsKLSAgICBjaGVja0ludChwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA2
NTUzNSksIG1ha2VVaW50KHByb2dyYW0sIDIpXSksIDI2MjE0MCk7Ci0gICAgY2hlY2tJbnQocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwg
LTEpLCBtYWtlVWludChwcm9ncmFtLCA1KV0pLCAtMzIpOwotICAgIGNoZWNrSW50KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDApLCBt
YWtlVWludChwcm9ncmFtLCAzKV0pLCAwKTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlVWludChwcm9n
cmFtLCA3KV0pLCAxMjgpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNjU1MzUpLCBtYWtlVWludChwcm9ncmFtLCAy
KV0pLCAyNjIxNDApOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgLTEpLCBtYWtlVWludChwcm9ncmFtLCA1KV0pLCAt
MzIpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwg
W21ha2VJbnQocHJvZ3JhbSwgMCksIG1ha2VVaW50KHByb2dyYW0sIDMpXSksIDApOwogfQogCiB0
ZXN0cy5pbnRSU2hpZnQgPSBmdW5jdGlvbigpCkBAIC0zMzk3LDEwICsyNDE4LDEwIEBAIHRlc3Rz
LmludFJTaGlmdCA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJldHVybiBhID4+IGI7CiAgICAg
ICAgIH0KICAgICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZVVpbnQocHJvZ3JhbSwgNyld
KSwgMCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28i
LCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgNjU1MzUpLCBtYWtlVWludChwcm9ncmFtLCAyKV0pLCAx
NjM4Myk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28i
LCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgLTEpLCBtYWtlVWludChwcm9ncmFtLCA1KV0pLCAtMSk7
Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwg
W21ha2VJbnQocHJvZ3JhbSwgMCksIG1ha2VVaW50KHByb2dyYW0sIDMpXSksIDApOworICAgIGNo
ZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJv
Z3JhbSwgMSksIG1ha2VVaW50KHByb2dyYW0sIDcpXSksIDApOworICAgIGNoZWNrSW50KHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNjU1MzUp
LCBtYWtlVWludChwcm9ncmFtLCAyKV0pLCAxNjM4Myk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCAtMSksIG1ha2VV
aW50KHByb2dyYW0sIDUpXSksIC0xKTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDApLCBtYWtlVWludChwcm9ncmFt
LCAzKV0pLCAwKTsKIH0KIAogdGVzdHMudWludEJpdEFuZCA9IGZ1bmN0aW9uKCkKQEAgLTM0MTEs
MTAgKzI0MzIsMTAgQEAgdGVzdHMudWludEJpdEFuZCA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAg
IHJldHVybiBhICYgYjsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrVWludChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZVVpbnQocHJvZ3JhbSwgMSks
IG1ha2VVaW50KHByb2dyYW0sIDcpXSksIDEpOwotICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZVVpbnQocHJvZ3JhbSwgNjU1MzUpLCBt
YWtlVWludChwcm9ncmFtLCA0MildKSwgNDIpOwotICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZVVpbnQocHJvZ3JhbSwgLTEpLCBtYWtl
VWludChwcm9ncmFtLCAtNyldKSwgNDI5NDk2NzI4OSk7Ci0gICAgY2hlY2tVaW50KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlVWludChwcm9ncmFtLCAwKSwg
bWFrZVVpbnQocHJvZ3JhbSwgODU3MzIpXSksIDApOworICAgIGNoZWNrVWludChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChwcm9ncmFtLCAxKSwgbWFrZVVp
bnQocHJvZ3JhbSwgNyldKSwgMSk7CisgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0sIDY1NTM1KSwgbWFrZVVpbnQocHJv
Z3JhbSwgNDIpXSksIDQyKTsKKyAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28iLCBbbWFrZVVpbnQocHJvZ3JhbSwgLTEpLCBtYWtlVWludChwcm9ncmFtLCAt
NyldKSwgNDI5NDk2NzI4OSk7CisgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0sIDApLCBtYWtlVWludChwcm9ncmFtLCA4
NTczMildKSwgMCk7CiB9CiAKIHRlc3RzLnVpbnRCaXRPciA9IGZ1bmN0aW9uKCkKQEAgLTM0MjUs
MTAgKzI0NDYsMTAgQEAgdGVzdHMudWludEJpdE9yID0gZnVuY3Rpb24oKQogICAgICAgICAgICAg
cmV0dXJuIGEgfCBiOwogICAgICAgICB9CiAgICAgYCk7Ci0gICAgY2hlY2tVaW50KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlVWludChwcm9ncmFtLCAxKSwg
bWFrZVVpbnQocHJvZ3JhbSwgNyldKSwgNyk7Ci0gICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlVWludChwcm9ncmFtLCA2NTUzNSksIG1h
a2VVaW50KHByb2dyYW0sIDQyKV0pLCA2NTUzNSk7Ci0gICAgY2hlY2tVaW50KHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlVWludChwcm9ncmFtLCAtMSksIG1h
a2VVaW50KHByb2dyYW0sIC03KV0pLCA0Mjk0OTY3Mjk1KTsKLSAgICBjaGVja1VpbnQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VVaW50KHByb2dyYW0sIDAp
LCBtYWtlVWludChwcm9ncmFtLCA4NTczMildKSwgODU3MzIpOworICAgIGNoZWNrVWludChwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChwcm9ncmFtLCAxKSwg
bWFrZVVpbnQocHJvZ3JhbSwgNyldKSwgNyk7CisgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0sIDY1NTM1KSwgbWFrZVVp
bnQocHJvZ3JhbSwgNDIpXSksIDY1NTM1KTsKKyAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQocHJvZ3JhbSwgLTEpLCBtYWtlVWludChw
cm9ncmFtLCAtNyldKSwgNDI5NDk2NzI5NSk7CisgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0sIDApLCBtYWtlVWludChw
cm9ncmFtLCA4NTczMildKSwgODU3MzIpOwogfQogCiB0ZXN0cy51aW50Qml0WG9yID0gZnVuY3Rp
b24oKQpAQCAtMzQzOSwxMCArMjQ2MCwxMCBAQCB0ZXN0cy51aW50Qml0WG9yID0gZnVuY3Rpb24o
KQogICAgICAgICAgICAgcmV0dXJuIGEgXiBiOwogICAgICAgICB9CiAgICAgYCk7Ci0gICAgY2hl
Y2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlVWlu
dChwcm9ncmFtLCAxKSwgbWFrZVVpbnQocHJvZ3JhbSwgNyldKSwgNik7Ci0gICAgY2hlY2tVaW50
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlVWludChwcm9n
cmFtLCA2NTUzNSksIG1ha2VVaW50KHByb2dyYW0sIDQyKV0pLCA2NTQ5Myk7Ci0gICAgY2hlY2tV
aW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlVWludChw
cm9ncmFtLCAtMSksIG1ha2VVaW50KHByb2dyYW0sIC03KV0pLCA2KTsKLSAgICBjaGVja1VpbnQo
cHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VVaW50KHByb2dy
YW0sIDApLCBtYWtlVWludChwcm9ncmFtLCA4NTczMildKSwgODU3MzIpOworICAgIGNoZWNrVWlu
dChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChwcm9ncmFt
LCAxKSwgbWFrZVVpbnQocHJvZ3JhbSwgNyldKSwgNik7CisgICAgY2hlY2tVaW50KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0sIDY1NTM1KSwg
bWFrZVVpbnQocHJvZ3JhbSwgNDIpXSksIDY1NDkzKTsKKyAgICBjaGVja1VpbnQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQocHJvZ3JhbSwgLTEpLCBtYWtl
VWludChwcm9ncmFtLCAtNyldKSwgNik7CisgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0sIDApLCBtYWtlVWludChwcm9n
cmFtLCA4NTczMildKSwgODU3MzIpOwogfQogCiB0ZXN0cy51aW50Qml0Tm90ID0gZnVuY3Rpb24o
KQpAQCAtMzQ1MywxMCArMjQ3NCwxMCBAQCB0ZXN0cy51aW50Qml0Tm90ID0gZnVuY3Rpb24oKQog
ICAgICAgICAgICAgcmV0dXJuIH5hOwogICAgICAgICB9CiAgICAgYCk7Ci0gICAgY2hlY2tVaW50
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlVWludChwcm9n
cmFtLCAxKV0pLCA0Mjk0OTY3Mjk0KTsKLSAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VVaW50KHByb2dyYW0sIDY1NTM1KV0pLCA0Mjk0
OTAxNzYwKTsKLSAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28iLCBbXSwgW21ha2VVaW50KHByb2dyYW0sIC0xKV0pLCAwKTsKLSAgICBjaGVja1VpbnQocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VVaW50KHByb2dyYW0s
IDApXSksIDQyOTQ5NjcyOTUpOworICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChwcm9ncmFtLCAxKV0pLCA0Mjk0OTY3Mjk0KTsKKyAg
ICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVp
bnQocHJvZ3JhbSwgNjU1MzUpXSksIDQyOTQ5MDE3NjApOworICAgIGNoZWNrVWludChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChwcm9ncmFtLCAtMSldKSwg
MCk7CisgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwg
W21ha2VVaW50KHByb2dyYW0sIDApXSksIDQyOTQ5NjcyOTUpOwogfQogCiB0ZXN0cy51aW50TFNo
aWZ0ID0gZnVuY3Rpb24oKQpAQCAtMzQ2NywxMCArMjQ4OCwxMCBAQCB0ZXN0cy51aW50TFNoaWZ0
ID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0dXJuIGEgPDwgYjsKICAgICAgICAgfQogICAg
IGApOwotICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIs
IFtdLCBbbWFrZVVpbnQocHJvZ3JhbSwgMSksIG1ha2VVaW50KHByb2dyYW0sIDcpXSksIDEyOCk7
Ci0gICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10s
IFttYWtlVWludChwcm9ncmFtLCA2NTUzNSksIG1ha2VVaW50KHByb2dyYW0sIDIpXSksIDI2MjE0
MCk7Ci0gICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwg
W10sIFttYWtlVWludChwcm9ncmFtLCAtMSksIG1ha2VVaW50KHByb2dyYW0sIDUpXSksIDQyOTQ5
NjcyNjQpOwotICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZv
byIsIFtdLCBbbWFrZVVpbnQocHJvZ3JhbSwgMCksIG1ha2VVaW50KHByb2dyYW0sIDMpXSksIDAp
OworICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtt
YWtlVWludChwcm9ncmFtLCAxKSwgbWFrZVVpbnQocHJvZ3JhbSwgNyldKSwgMTI4KTsKKyAgICBj
aGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQo
cHJvZ3JhbSwgNjU1MzUpLCBtYWtlVWludChwcm9ncmFtLCAyKV0pLCAyNjIxNDApOworICAgIGNo
ZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChw
cm9ncmFtLCAtMSksIG1ha2VVaW50KHByb2dyYW0sIDUpXSksIDQyOTQ5NjcyNjQpOworICAgIGNo
ZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChw
cm9ncmFtLCAwKSwgbWFrZVVpbnQocHJvZ3JhbSwgMyldKSwgMCk7CiB9CiAKIHRlc3RzLnVpbnRS
U2hpZnQgPSBmdW5jdGlvbigpCkBAIC0zNDgxLDEwICsyNTAyLDEwIEBAIHRlc3RzLnVpbnRSU2hp
ZnQgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICByZXR1cm4gYSA+PiBiOwogICAgICAgICB9CiAg
ICAgYCk7Ci0gICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW10sIFttYWtlVWludChwcm9ncmFtLCAxKSwgbWFrZVVpbnQocHJvZ3JhbSwgNyldKSwgMCk7
Ci0gICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10s
IFttYWtlVWludChwcm9ncmFtLCA2NTUzNSksIG1ha2VVaW50KHByb2dyYW0sIDIpXSksIDE2Mzgz
KTsKLSAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBb
XSwgW21ha2VVaW50KHByb2dyYW0sIC0xKSwgbWFrZVVpbnQocHJvZ3JhbSwgNSldKSwgMTM0MjE3
NzI3KTsKLSAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28i
LCBbXSwgW21ha2VVaW50KHByb2dyYW0sIDApLCBtYWtlVWludChwcm9ncmFtLCAzKV0pLCAwKTsK
KyAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFr
ZVVpbnQocHJvZ3JhbSwgMSksIG1ha2VVaW50KHByb2dyYW0sIDcpXSksIDApOworICAgIGNoZWNr
VWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChwcm9n
cmFtLCA2NTUzNSksIG1ha2VVaW50KHByb2dyYW0sIDIpXSksIDE2MzgzKTsKKyAgICBjaGVja1Vp
bnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQocHJvZ3Jh
bSwgLTEpLCBtYWtlVWludChwcm9ncmFtLCA1KV0pLCAxMzQyMTc3MjcpOworICAgIGNoZWNrVWlu
dChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChwcm9ncmFt
LCAwKSwgbWFrZVVpbnQocHJvZ3JhbSwgMyldKSwgMCk7CiB9CiAKIHRlc3RzLnVpbnQ4Qml0QW5k
ID0gZnVuY3Rpb24oKQpAQCAtMzQ5NSwxMCArMjUxNiwxMCBAQCB0ZXN0cy51aW50OEJpdEFuZCA9
IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJldHVybiBhICYgYjsKICAgICAgICAgfQogICAgIGAp
OwotICAgIGNoZWNrVWludDgocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBb
XSwgW21ha2VVaW50OChwcm9ncmFtLCAxKSwgbWFrZVVpbnQ4KHByb2dyYW0sIDcpXSksIDEpOwot
ICAgIGNoZWNrVWludDgocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwg
W21ha2VVaW50OChwcm9ncmFtLCA2NTUzNSksIG1ha2VVaW50OChwcm9ncmFtLCA0MildKSwgNDIp
OwotICAgIGNoZWNrVWludDgocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBb
XSwgW21ha2VVaW50OChwcm9ncmFtLCAtMSksIG1ha2VVaW50OChwcm9ncmFtLCAtNyldKSwgMjQ5
KTsKLSAgICBjaGVja1VpbnQ4KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwg
W10sIFttYWtlVWludDgocHJvZ3JhbSwgMCksIG1ha2VVaW50OChwcm9ncmFtLCA4NTczMildKSwg
MCk7CisgICAgY2hlY2tVaW50OChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIs
IFttYWtlVWludDgocHJvZ3JhbSwgMSksIG1ha2VVaW50OChwcm9ncmFtLCA3KV0pLCAxKTsKKyAg
ICBjaGVja1VpbnQ4KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VV
aW50OChwcm9ncmFtLCA2NTUzNSksIG1ha2VVaW50OChwcm9ncmFtLCA0MildKSwgNDIpOworICAg
IGNoZWNrVWludDgocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVp
bnQ4KHByb2dyYW0sIC0xKSwgbWFrZVVpbnQ4KHByb2dyYW0sIC03KV0pLCAyNDkpOworICAgIGNo
ZWNrVWludDgocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQ4
KHByb2dyYW0sIDApLCBtYWtlVWludDgocHJvZ3JhbSwgODU3MzIpXSksIDApOwogfQogCiB0ZXN0
cy51aW50OEJpdE9yID0gZnVuY3Rpb24oKQpAQCAtMzUwOSwxMCArMjUzMCwxMCBAQCB0ZXN0cy51
aW50OEJpdE9yID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0dXJuIGEgfCBiOwogICAgICAg
ICB9CiAgICAgYCk7Ci0gICAgY2hlY2tVaW50OChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbyIsIFtdLCBbbWFrZVVpbnQ4KHByb2dyYW0sIDEpLCBtYWtlVWludDgocHJvZ3JhbSwg
NyldKSwgNyk7Ci0gICAgY2hlY2tVaW50OChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbyIsIFtdLCBbbWFrZVVpbnQ4KHByb2dyYW0sIDY1NTM1KSwgbWFrZVVpbnQ4KHByb2dyYW0s
IDQyKV0pLCAyNTUpOwotICAgIGNoZWNrVWludDgocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb28iLCBbXSwgW21ha2VVaW50OChwcm9ncmFtLCAtMSksIG1ha2VVaW50OChwcm9ncmFt
LCAtNyldKSwgMjU1KTsKLSAgICBjaGVja1VpbnQ4KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vIiwgW10sIFttYWtlVWludDgocHJvZ3JhbSwgMCksIG1ha2VVaW50OChwcm9ncmFt
LCA4NTczMildKSwgMjI4KTsKKyAgICBjaGVja1VpbnQ4KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vIiwgW21ha2VVaW50OChwcm9ncmFtLCAxKSwgbWFrZVVpbnQ4KHByb2dyYW0s
IDcpXSksIDcpOworICAgIGNoZWNrVWludDgocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbbWFrZVVpbnQ4KHByb2dyYW0sIDY1NTM1KSwgbWFrZVVpbnQ4KHByb2dyYW0sIDQy
KV0pLCAyNTUpOworICAgIGNoZWNrVWludDgocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbbWFrZVVpbnQ4KHByb2dyYW0sIC0xKSwgbWFrZVVpbnQ4KHByb2dyYW0sIC03KV0p
LCAyNTUpOworICAgIGNoZWNrVWludDgocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28iLCBbbWFrZVVpbnQ4KHByb2dyYW0sIDApLCBtYWtlVWludDgocHJvZ3JhbSwgODU3MzIpXSks
IDIyOCk7CiB9CiAKIHRlc3RzLnVpbnQ4Qml0WG9yID0gZnVuY3Rpb24oKQpAQCAtMzUyMywxMCAr
MjU0NCwxMCBAQCB0ZXN0cy51aW50OEJpdFhvciA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJl
dHVybiBhIF4gYjsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrVWludDgocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VVaW50OChwcm9ncmFtLCAxKSwg
bWFrZVVpbnQ4KHByb2dyYW0sIDcpXSksIDYpOwotICAgIGNoZWNrVWludDgocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VVaW50OChwcm9ncmFtLCA2NTUzNSks
IG1ha2VVaW50OChwcm9ncmFtLCA0MildKSwgMjEzKTsKLSAgICBjaGVja1VpbnQ4KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlVWludDgocHJvZ3JhbSwgLTEp
LCBtYWtlVWludDgocHJvZ3JhbSwgLTcpXSksIDYpOwotICAgIGNoZWNrVWludDgocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VVaW50OChwcm9ncmFtLCAwKSwg
bWFrZVVpbnQ4KHByb2dyYW0sIDg1NzMyKV0pLCAyMjgpOworICAgIGNoZWNrVWludDgocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQ4KHByb2dyYW0sIDEpLCBt
YWtlVWludDgocHJvZ3JhbSwgNyldKSwgNik7CisgICAgY2hlY2tVaW50OChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludDgocHJvZ3JhbSwgNjU1MzUpLCBtYWtl
VWludDgocHJvZ3JhbSwgNDIpXSksIDIxMyk7CisgICAgY2hlY2tVaW50OChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludDgocHJvZ3JhbSwgLTEpLCBtYWtlVWlu
dDgocHJvZ3JhbSwgLTcpXSksIDYpOworICAgIGNoZWNrVWludDgocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQ4KHByb2dyYW0sIDApLCBtYWtlVWludDgocHJv
Z3JhbSwgODU3MzIpXSksIDIyOCk7CiB9CiAKIHRlc3RzLnVpbnQ4Qml0Tm90ID0gZnVuY3Rpb24o
KQpAQCAtMzUzNywxMCArMjU1OCwxMCBAQCB0ZXN0cy51aW50OEJpdE5vdCA9IGZ1bmN0aW9uKCkK
ICAgICAgICAgICAgIHJldHVybiB+YTsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrVWlu
dDgocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VVaW50OChw
cm9ncmFtLCAxKV0pLCAyNTQpOwotICAgIGNoZWNrVWludDgocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VVaW50OChwcm9ncmFtLCA2NTUzNSldKSwgMCk7Ci0g
ICAgY2hlY2tVaW50OChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBb
bWFrZVVpbnQ4KHByb2dyYW0sIC0xKV0pLCAwKTsKLSAgICBjaGVja1VpbnQ4KHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlVWludDgocHJvZ3JhbSwgMCldKSwg
MjU1KTsKKyAgICBjaGVja1VpbnQ4KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW21ha2VVaW50OChwcm9ncmFtLCAxKV0pLCAyNTQpOworICAgIGNoZWNrVWludDgocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQ4KHByb2dyYW0sIDY1NTM1
KV0pLCAwKTsKKyAgICBjaGVja1VpbnQ4KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vIiwgW21ha2VVaW50OChwcm9ncmFtLCAtMSldKSwgMCk7CisgICAgY2hlY2tVaW50OChwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludDgocHJvZ3JhbSwgMCld
KSwgMjU1KTsKIH0KIAogdGVzdHMudWludDhMU2hpZnQgPSBmdW5jdGlvbigpCkBAIC0zNTUxLDEw
ICsyNTcyLDEwIEBAIHRlc3RzLnVpbnQ4TFNoaWZ0ID0gZnVuY3Rpb24oKQogICAgICAgICAgICAg
cmV0dXJuIGEgPDwgYjsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrVWludDgocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VVaW50OChwcm9ncmFtLCAx
KSwgbWFrZVVpbnQocHJvZ3JhbSwgNyldKSwgMTI4KTsKLSAgICBjaGVja1VpbnQ4KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlVWludDgocHJvZ3JhbSwgNjU1
MzUpLCBtYWtlVWludChwcm9ncmFtLCAyKV0pLCAyNTIpOwotICAgIGNoZWNrVWludDgocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VVaW50OChwcm9ncmFtLCAt
MSksIG1ha2VVaW50KHByb2dyYW0sIDUpXSksIDIyNCk7Ci0gICAgY2hlY2tVaW50OChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZVVpbnQ4KHByb2dyYW0sIDAp
LCBtYWtlVWludChwcm9ncmFtLCAzKV0pLCAwKTsKKyAgICBjaGVja1VpbnQ4KHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50OChwcm9ncmFtLCAxKSwgbWFrZVVp
bnQocHJvZ3JhbSwgNyldKSwgMTI4KTsKKyAgICBjaGVja1VpbnQ4KHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50OChwcm9ncmFtLCA2NTUzNSksIG1ha2VVaW50
KHByb2dyYW0sIDIpXSksIDI1Mik7CisgICAgY2hlY2tVaW50OChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludDgocHJvZ3JhbSwgLTEpLCBtYWtlVWludChwcm9n
cmFtLCA1KV0pLCAyMjQpOworICAgIGNoZWNrVWludDgocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28iLCBbbWFrZVVpbnQ4KHByb2dyYW0sIDApLCBtYWtlVWludChwcm9ncmFtLCAz
KV0pLCAwKTsKIH0KIAogdGVzdHMudWludDhSU2hpZnQgPSBmdW5jdGlvbigpCkBAIC0zNTY1LDEw
ICsyNTg2LDEwIEBAIHRlc3RzLnVpbnQ4UlNoaWZ0ID0gZnVuY3Rpb24oKQogICAgICAgICAgICAg
cmV0dXJuIGEgPj4gYjsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrVWludDgocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VVaW50OChwcm9ncmFtLCAx
KSwgbWFrZVVpbnQocHJvZ3JhbSwgNyldKSwgMCk7Ci0gICAgY2hlY2tVaW50OChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZVVpbnQ4KHByb2dyYW0sIDY1NTM1
KSwgbWFrZVVpbnQocHJvZ3JhbSwgMildKSwgMjU1KTsKLSAgICBjaGVja1VpbnQ4KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlVWludDgocHJvZ3JhbSwgLTEp
LCBtYWtlVWludChwcm9ncmFtLCA1KV0pLCAyNTUpOwotICAgIGNoZWNrVWludDgocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VVaW50OChwcm9ncmFtLCAwKSwg
bWFrZVVpbnQocHJvZ3JhbSwgMyldKSwgMCk7CisgICAgY2hlY2tVaW50OChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludDgocHJvZ3JhbSwgMSksIG1ha2VVaW50
KHByb2dyYW0sIDcpXSksIDApOworICAgIGNoZWNrVWludDgocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQ4KHByb2dyYW0sIDY1NTM1KSwgbWFrZVVpbnQocHJv
Z3JhbSwgMildKSwgMjU1KTsKKyAgICBjaGVja1VpbnQ4KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vIiwgW21ha2VVaW50OChwcm9ncmFtLCAtMSksIG1ha2VVaW50KHByb2dyYW0s
IDUpXSksIDI1NSk7CisgICAgY2hlY2tVaW50OChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbyIsIFttYWtlVWludDgocHJvZ3JhbSwgMCksIG1ha2VVaW50KHByb2dyYW0sIDMpXSks
IDApOwogfQogCiB0ZXN0cy5mbG9hdE1hdGggPSBmdW5jdGlvbigpCkBAIC0zNjI0LDE3ICsyNjQ1
LDE3IEBAIHRlc3RzLmZsb2F0TWF0aCA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJldHVybiBm
bG9hdCh4KTsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbXSksIHRydWUpOwotICAgIGNoZWNrQm9vbChw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIiLCBbXSwgW10pLCB0cnVlKTsKLSAg
ICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28zIiwgW10sIFtd
KSwgdHJ1ZSk7Ci0gICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vNCIsIFtdLCBbXSksIHRydWUpOwotICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbzUiLCBbXSwgW10pLCB0cnVlKTsKLSAgICBjaGVja0Zsb2F0KHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNiIsIFtdLCBbXSksIDcuNSk7Ci0gICAgY2hl
Y2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzciLCBbXSwgW10pLCA3
LjUpOwotICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb285
IiwgW10sIFtdKSwgNy41KTsKLSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vMTAiLCBbXSwgW10pLCA3LjUpOwotICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28xMiIsIFtdLCBbXSksIDcpOwotICAgIGNoZWNrRmxv
YXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28xMyIsIFtdLCBbXSksIDcuNSk7
CisgICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10p
LCB0cnVlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28yIiwgW10pLCB0cnVlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28zIiwgW10pLCB0cnVlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJmb280IiwgW10pLCB0cnVlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb281IiwgW10pLCB0cnVlKTsKKyAgICBjaGVja0Zs
b2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNiIsIFtdKSwgNy41KTsKKyAg
ICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNyIsIFtdKSwg
Ny41KTsKKyAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
OSIsIFtdKSwgNy41KTsKKyAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vMTAiLCBbXSksIDcuNSk7CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbzEyIiwgW10pLCA3KTsKKyAgICBjaGVja0Zsb2F0KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMTMiLCBbXSksIDcuNSk7CiAgICAgY2hlY2tGYWls
KAogICAgICAgICAoKSA9PiBkb1ByZXAoYAogICAgICAgICAgICAgaW50IGJhcihpbnQgeCkKQEAg
LTM3MDksMjkgKzI3MzAsNiBAQCB0ZXN0cy5mbG9hdE1hdGggPSBmdW5jdGlvbigpCiAgICAgICAg
IChlKSA9PiBlIGluc3RhbmNlb2YgV1R5cGVFcnJvcik7CiB9CiAKLXRlc3RzLmdlbmVyaWNDYXN0
SW5mZXIgPSBmdW5jdGlvbigpCi17Ci0gICAgbGV0IHByb2dyYW0gPSBkb1ByZXAoYAotICAgICAg
ICBzdHJ1Y3QgQ29tcGxleDxUPiB7Ci0gICAgICAgICAgICBUIHJlYWw7Ci0gICAgICAgICAgICBU
IGltYWc7Ci0gICAgICAgIH0KLSAgICAgICAgb3BlcmF0b3I8VD4gQ29tcGxleDxUPihUIHJlYWws
IFQgaW1hZykKLSAgICAgICAgewotICAgICAgICAgICAgQ29tcGxleDxUPiByZXN1bHQ7Ci0gICAg
ICAgICAgICByZXN1bHQucmVhbCA9IHJlYWw7Ci0gICAgICAgICAgICByZXN1bHQuaW1hZyA9IGlt
YWc7Ci0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgICAgICB9Ci0gICAgICAgIGludCBm
b28oKQotICAgICAgICB7Ci0gICAgICAgICAgICBDb21wbGV4PGludD4geCA9IENvbXBsZXg8aW50
PigxLCAyKTsKLSAgICAgICAgICAgIHJldHVybiB4LnJlYWwgKyB4LmltYWc7Ci0gICAgICAgIH0K
LSAgICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZv
byIsIFtdLCBbXSksIDMpOwotfQotCiB0ZXN0cy5ib29sZWFuTWF0aCA9IGZ1bmN0aW9uKCkKIHsK
ICAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcChgCkBAIC0zNzY4LDE0ICsyNzY2LDE0IEBAIHRlc3Rz
LmJvb2xlYW5NYXRoID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlIHx8IGZh
bHNlOwogICAgICAgICB9CiAgICAgYCk7Ci0gICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFtdKSwgdHJ1ZSk7Ci0gICAgY2hlY2tCb29sKHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMiIsIFtdLCBbXSksIGZhbHNlKTsKLSAgICBj
aGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28zIiwgW10sIFtdKSwg
ZmFsc2UpOwotICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZv
bzQiLCBbXSwgW10pLCBmYWxzZSk7Ci0gICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vNSIsIFtdLCBbXSksIHRydWUpOwotICAgIGNoZWNrQm9vbChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzYiLCBbXSwgW10pLCB0cnVlKTsKLSAgICBjaGVj
a0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb283IiwgW10sIFtdKSwgdHJ1
ZSk7Ci0gICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vOCIs
IFtdLCBbXSksIGZhbHNlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28iLCBbXSksIHRydWUpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbzIiLCBbXSksIGZhbHNlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28zIiwgW10pLCBmYWxzZSk7CisgICAgY2hlY2tC
b29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNCIsIFtdKSwgZmFsc2UpOwor
ICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzUiLCBbXSks
IHRydWUpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZv
bzYiLCBbXSksIHRydWUpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbzciLCBbXSksIHRydWUpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbzgiLCBbXSksIGZhbHNlKTsKIH0KIAogdGVzdHMuYm9vbGVhblNo
b3J0Y2lyY3VpdGluZyA9IGZ1bmN0aW9uKCkKQEAgLTM4MTYsMTAgKzI4MTQsMTAgQEAgdGVzdHMu
Ym9vbGVhblNob3J0Y2lyY3VpdGluZyA9IGZ1bmN0aW9uKCkKICAgICAgICAgfQogICAgIGApOwog
Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJhbmRUcnVlIiwg
W10sIFtdKSwgMik7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJhbmRGYWxzZSIsIFtdLCBbXSksIDEpOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAib3JUcnVlIiwgW10sIFtdKSwgMSk7Ci0gICAgY2hlY2tJbnQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJvckZhbHNlIiwgW10sIFtdKSwgMik7CisgICAgY2hl
Y2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJhbmRUcnVlIiwgW10pLCAyKTsK
KyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImFuZEZhbHNlIiwg
W10pLCAxKTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgIm9y
VHJ1ZSIsIFtdKSwgMSk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJvckZhbHNlIiwgW10pLCAyKTsKIH0KIAogdGVzdHMudHlwZWRlZkFycmF5ID0gZnVuY3Rp
b24oKQpAQCAtMzgzMiw3ICsyODMwLDcgQEAgdGVzdHMudHlwZWRlZkFycmF5ID0gZnVuY3Rpb24o
KQogICAgICAgICAgICAgcmV0dXJuIGFycmF5VHlwZWRlZlswXTsKICAgICAgICAgfQogICAgIGAp
OwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10s
IFtdKSwgMCk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28iLCBbXSksIDApOwogfQogCiB0ZXN0cy5zaGFkZXJUeXBlcyA9IGZ1bmN0aW9uKCkKQEAgLTM5
NjYsNiArMjk2NCw0NyBAQCB0ZXN0cy5zaGFkZXJUeXBlcyA9IGZ1bmN0aW9uKCkKICAgICAgICAg
KGUpID0+IGUgaW5zdGFuY2VvZiBXVHlwZUVycm9yKTsKIH0KIAordGVzdHMudmVjdG9yVHlwZVN5
bnRheCA9IGZ1bmN0aW9uKCkKK3sKKyAgICBjb25zdCBwcm9ncmFtID0gZG9QcmVwKGAKKyAgICAg
ICAgaW50IGZvbzIoKQorICAgICAgICB7CisgICAgICAgICAgICBpbnQyIHg7CisgICAgICAgICAg
ICB2ZWN0b3I8aW50LCAyPiB6ID0gaW50MigzLCA0KTsKKyAgICAgICAgICAgIHggPSB6OworICAg
ICAgICAgICAgcmV0dXJuIHgueTsKKyAgICAgICAgfQorCisgICAgICAgIGludCBmb28zKCkKKyAg
ICAgICAgeworICAgICAgICAgICAgaW50MyB4OworICAgICAgICAgICAgdmVjdG9yPGludCwgMz4g
eiA9IGludDMoMywgNCwgNSk7CisgICAgICAgICAgICB4ID0gejsKKyAgICAgICAgICAgIHJldHVy
biB4Lno7CisgICAgICAgIH0KKworICAgICAgICBpbnQgZm9vNCgpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIGludDQgeDsKKyAgICAgICAgICAgIHZlY3RvcjxpbnQsND4geiA9IGludDQoMywgNCwg
NSwgNik7CisgICAgICAgICAgICB4ID0gejsKKyAgICAgICAgICAgIHJldHVybiB4Lnc7CisgICAg
ICAgIH0KKworICAgICAgICBib29sIHZlYzJPcGVyYXRvckNhc3QoKQorICAgICAgICB7CisgICAg
ICAgICAgICBpbnQyIHggPSB2ZWN0b3I8aW50LDI+KDEsIDIpOworICAgICAgICAgICAgdmVjdG9y
PGludCwgMj4geSA9IGludDIoMSwgMik7CisgICAgICAgICAgICByZXR1cm4geCA9PSB5ICYmIHgu
eCA9PSAxICYmIHgueSA9PSAyICYmIHkueCA9PSAxICYmIHkueSA9PSAyOworICAgICAgICB9YCk7
CisKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIiLCBb
XSksIDQpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
MyIsIFtdKSwgNSk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb280IiwgW10pLCA2KTsKKworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgInZlYzJPcGVyYXRvckNhc3QiLCBbXSksIHRydWUpOworfQorCiB0ZXN0cy5idWls
dGluVmVjdG9ycyA9IGZ1bmN0aW9uKCkKIHsKICAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcChgCkBA
IC00MDg0LDYxICszMTIzLDEzNCBAQCB0ZXN0cy5idWlsdGluVmVjdG9ycyA9IGZ1bmN0aW9uKCkK
ICAgICAgICAgICAgIHJldHVybiBiID09IGM7CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVj
a0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbXSksIDMpOwot
ICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMiIsIFtdLCBb
XSksIDQpOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
MyIsIFtdLCBbXSksIDMpOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vNCIsIFtdLCBbXSksIDUpOwotICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbzUiLCBbXSwgW10pLCB0cnVlKTsKLSAgICBjaGVja0Jvb2wocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb282IiwgW10sIFtdKSwgZmFsc2UpOwotICAg
IGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvb3UiLCBbXSwgW10p
LCAzKTsKLSAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb291
MiIsIFtdLCBbXSksIDQpOwotICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvb3UzIiwgW10sIFtdKSwgMyk7Ci0gICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vdTQiLCBbXSwgW10pLCA1KTsKLSAgICBjaGVja0Jvb2wocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb291NSIsIFtdLCBbXSksIHRydWUpOwotICAg
IGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvb3U2IiwgW10sIFtd
KSwgZmFsc2UpOwotICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb29mIiwgW10sIFtdKSwgMyk7Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvb2YyIiwgW10sIFtdKSwgNCk7Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvb2YzIiwgW10sIFtdKSwgMyk7Ci0gICAgY2hlY2tG
bG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvb2Y0IiwgW10sIFtdKSwgNSk7
Ci0gICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vZjUiLCBb
XSwgW10pLCB0cnVlKTsKLSAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb29mNiIsIFtdLCBbXSksIGZhbHNlKTsKLX0KLQotdGVzdHMuaW5zdGFudGlhdGVTdHJ1
Y3RJblN0cnVjdCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcChgCi0g
ICAgICAgIHN0cnVjdCBCYXI8VD4gewotICAgICAgICAgICAgVCB4OwotICAgICAgICB9Ci0gICAg
ICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgQmFyPGludD4geDsKLSAgICAgICAgfQotICAg
ICAgICBpbnQgZm9vKCkKLSAgICAgICAgewotICAgICAgICAgICAgRm9vIHg7Ci0gICAgICAgICAg
ICB4LngueCA9IDQyOwotICAgICAgICAgICAgeC54LngrKzsKLSAgICAgICAgICAgIHJldHVybiB4
LngueDsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIs
IFtdKSwgMyk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28yIiwgW10pLCA0KTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbzMiLCBbXSksIDMpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vNCIsIFtdKSwgNSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAiZm9vNSIsIFtdKSwgdHJ1ZSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNiIsIFtdKSwgZmFsc2UpOworICAgIGNoZWNrVWlu
dChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvb3UiLCBbXSksIDMpOworICAgIGNo
ZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvb3UyIiwgW10pLCA0KTsK
KyAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb291MyIsIFtd
KSwgMyk7CisgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
dTQiLCBbXSksIDUpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvb3U1IiwgW10pLCB0cnVlKTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb291NiIsIFtdKSwgZmFsc2UpOworICAgIGNoZWNrRmxvYXQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb29mIiwgW10pLCAzKTsKKyAgICBjaGVja0Zsb2F0
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vZjIiLCBbXSksIDQpOworICAgIGNo
ZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb29mMyIsIFtdKSwgMyk7
CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvb2Y0Iiwg
W10pLCA1KTsKKyAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b29mNSIsIFtdKSwgdHJ1ZSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vZjYiLCBbXSksIGZhbHNlKTsKK30KKwordGVzdHMuYnVpbHRpblZlY3Rvckdl
dHRlcnMgPSBmdW5jdGlvbigpCit7CisgICAgY29uc3QgdHlwZU5hbWVzID0gWyAidWludCIsICJp
bnQiLCAiZmxvYXQiIF07CisgICAgY29uc3Qgc2l6ZXMgPSBbIDIsIDMsIDQgXTsKKyAgICBjb25z
dCBlbGVtZW50cyA9IFsgIngiLCAieSIsICJ6IiwgInciIF07CisgICAgY29uc3QgaW5pdGlhbGl6
ZXJMaXN0ID0gWyAxLCAyLCAzLCA0IF07CisKKyAgICBsZXQgdGVzdHMgPSBbXTsKKyAgICBsZXQg
c3JjID0gIiI7CisgICAgZm9yIChsZXQgdHlwZU5hbWUgb2YgdHlwZU5hbWVzKSB7CisgICAgICAg
IGZvciAobGV0IHNpemUgb2Ygc2l6ZXMpIHsKKyAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBp
IDwgc2l6ZTsgaSsrKSB7CisgICAgICAgICAgICAgICAgY29uc3QgZnVuY3Rpb25OYW1lID0gYCR7
dHlwZU5hbWV9JHtzaXplfSR7ZWxlbWVudHNbaV19YDsKKyAgICAgICAgICAgICAgICBzcmMgKz0g
YCR7dHlwZU5hbWV9ICR7ZnVuY3Rpb25OYW1lfSgpCisgICAgICAgICAgICAgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHt0eXBlTmFtZX0ke3NpemV9IHggPSAke3R5
cGVOYW1lfSR7c2l6ZX0oJHtpbml0aWFsaXplckxpc3Quc2xpY2UoMCwgc2l6ZSkuam9pbigiLCAi
KX0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB4LiR7ZWxlbWVudHNbaV19
OworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgYDsK
KyAgICAgICAgICAgICAgICB0ZXN0cy5wdXNoKHsgdHlwZTogdHlwZU5hbWUsIG5hbWU6IGZ1bmN0
aW9uTmFtZSwgZXhwZWN0YXRpb246IGluaXRpYWxpemVyTGlzdFtpXSB9KTsKKyAgICAgICAgICAg
IH0KICAgICAgICAgfQotICAgIGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW10sIFtdKSwgNDMpOworICAgIH0KKworICAgIGxldCBwcm9ncmFt
ID0gZG9QcmVwKHNyYyk7CisgICAgY29uc3QgY2hlY2tGdW5jcyA9IHsKKyAgICAgICAgInVpbnQi
OiBjaGVja1VpbnQsCisgICAgICAgICJpbnQiOiBjaGVja0ludCwKKyAgICAgICAgImZsb2F0Ijog
Y2hlY2tGbG9hdAorICAgIH07CisgICAgZm9yIChsZXQgdGVzdCBvZiB0ZXN0cykgeworICAgICAg
ICBjb25zdCBjaGVja0Z1bmMgPSBjaGVja0Z1bmNzW3Rlc3QudHlwZV07CisgICAgICAgIGNoZWNr
RnVuYyhwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgdGVzdC5uYW1lLCBbXSwgW10pLCB0
ZXN0LmV4cGVjdGF0aW9uKTsKKyAgICB9CiB9CiAKLXRlc3RzLmluc3RhbnRpYXRlU3RydWN0SW5T
dHJ1Y3RXaXRoSW50MiA9IGZ1bmN0aW9uKCkKK3Rlc3RzLmJ1aWx0aW5WZWN0b3JTZXR0ZXJzID0g
ZnVuY3Rpb24oKQogewotICAgIGxldCBwcm9ncmFtID0gZG9QcmVwKGAKLSAgICAgICAgc3RydWN0
IEZvbyB7Ci0gICAgICAgICAgICBpbnQyIHg7CisgICAgY29uc3QgdHlwZU5hbWVzID0gWyAidWlu
dCIsICJpbnQiLCAiZmxvYXQiIF07CisgICAgY29uc3Qgc2l6ZXMgPSBbIDIsIDMsIDQgXTsKKyAg
ICBjb25zdCBlbGVtZW50cyA9IFsgIngiLCAieSIsICJ6IiwgInciIF07CisgICAgY29uc3QgaW5p
dGlhbGl6ZXJMaXN0ID0gWyAxLCAyLCAzLCA0IF07CisKKyAgICBsZXQgdGVzdHMgPSBbXTsKKyAg
ICBsZXQgc3JjID0gIiI7CisgICAgZm9yIChsZXQgdHlwZU5hbWUgb2YgdHlwZU5hbWVzKSB7Cisg
ICAgICAgIGZvciAobGV0IHNpemUgb2Ygc2l6ZXMpIHsKKyAgICAgICAgICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgc2l6ZTsgaSsrKSB7CisgICAgICAgICAgICAgICAgY29uc3QgZnVuY3Rpb25OYW1l
ID0gYCR7dHlwZU5hbWV9JHtzaXplfSR7ZWxlbWVudHNbaV19YDsKKyAgICAgICAgICAgICAgICBz
cmMgKz0gYCR7dHlwZU5hbWV9ICR7ZnVuY3Rpb25OYW1lfSgpCisgICAgICAgICAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHt0eXBlTmFtZX0ke3NpemV9IHgg
PSAke3R5cGVOYW1lfSR7c2l6ZX0oJHtpbml0aWFsaXplckxpc3Quc2xpY2UoMCwgc2l6ZSkuam9p
bigiLCAiKX0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHguJHtlbGVtZW50c1tpXX0g
PSAzNDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geC4ke2VsZW1lbnRzW2ld
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIGA7
CisgICAgICAgICAgICAgICAgdGVzdHMucHVzaCh7IHR5cGU6IHR5cGVOYW1lLCBuYW1lOiBmdW5j
dGlvbk5hbWUsIGV4cGVjdGF0aW9uOiAzNCB9KTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQot
ICAgICAgICBpbnQgZm9vKCkKLSAgICAgICAgewotICAgICAgICAgICAgRm9vIHg7Ci0gICAgICAg
ICAgICB4LngueCA9IDQyOwotICAgICAgICAgICAgeC54LngrKzsKLSAgICAgICAgICAgIHJldHVy
biB4LngueDsKKyAgICB9CisKKyAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcChzcmMpOworICAgIGNv
bnN0IGNoZWNrRnVuY3MgPSB7CisgICAgICAgICJ1aW50IjogY2hlY2tVaW50LAorICAgICAgICAi
aW50IjogY2hlY2tJbnQsCisgICAgICAgICJmbG9hdCI6IGNoZWNrRmxvYXQKKyAgICB9OworICAg
IGZvciAobGV0IHRlc3Qgb2YgdGVzdHMpIHsKKyAgICAgICAgY29uc3QgY2hlY2tGdW5jID0gY2hl
Y2tGdW5jc1t0ZXN0LnR5cGVdOworICAgICAgICBjaGVja0Z1bmMocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sIHRlc3QubmFtZSwgW10sIFtdKSwgdGVzdC5leHBlY3RhdGlvbik7CisgICAg
fQorfQorCit0ZXN0cy5idWlsdGluVmVjdG9ySW5kZXhTZXR0ZXJzID0gZnVuY3Rpb24oKQorewor
ICAgIGNvbnN0IHR5cGVOYW1lcyA9IFsgInVpbnQiLCAiaW50IiwgImZsb2F0IiBdOworICAgIGNv
bnN0IHNpemVzID0gWyAyLCAzLCA0IF07CisgICAgY29uc3QgZWxlbWVudHMgPSBbICJ4IiwgInki
LCAieiIsICJ3IiBdOworICAgIGNvbnN0IGluaXRpYWxpemVyTGlzdCA9IFsgMSwgMiwgMywgNCBd
OworCisgICAgbGV0IHRlc3RzID0gW107CisgICAgbGV0IHNyYyA9ICIiOworICAgIGZvciAobGV0
IHR5cGVOYW1lIG9mIHR5cGVOYW1lcykgeworICAgICAgICBmb3IgKGxldCBzaXplIG9mIHNpemVz
KSB7CisgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNpemU7IGkrKykgeworICAgICAg
ICAgICAgICAgIGNvbnN0IGZ1bmN0aW9uTmFtZSA9IGAke3R5cGVOYW1lfSR7c2l6ZX0ke2VsZW1l
bnRzW2ldfWA7CisgICAgICAgICAgICAgICAgc3JjICs9IGAke3R5cGVOYW1lfSAke2Z1bmN0aW9u
TmFtZX0oKQorICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICR7dHlwZU5hbWV9JHtzaXplfSB4ID0gJHt0eXBlTmFtZX0ke3NpemV9KCR7aW5pdGlh
bGl6ZXJMaXN0LnNsaWNlKDAsIHNpemUpLmpvaW4oIiwgIil9KTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB4WyR7aX1dID0gMzQ7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIHhbJHtpfV07CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
ICAgICAgICBgOworICAgICAgICAgICAgICAgIHRlc3RzLnB1c2goeyB0eXBlOiB0eXBlTmFtZSwg
bmFtZTogZnVuY3Rpb25OYW1lLCBleHBlY3RhdGlvbjogMzQgfSk7CisgICAgICAgICAgICB9CiAg
ICAgICAgIH0KLSAgICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbyIsIFtdLCBbXSksIDQzKTsKKyAgICB9CisKKyAgICBsZXQgcHJvZ3JhbSA9IGRv
UHJlcChzcmMpOworICAgIGNvbnN0IGNoZWNrRnVuY3MgPSB7CisgICAgICAgICJ1aW50IjogY2hl
Y2tVaW50LAorICAgICAgICAiaW50IjogY2hlY2tJbnQsCisgICAgICAgICJmbG9hdCI6IGNoZWNr
RmxvYXQKKyAgICB9OworICAgIGZvciAobGV0IHRlc3Qgb2YgdGVzdHMpIHsKKyAgICAgICAgY29u
c3QgY2hlY2tGdW5jID0gY2hlY2tGdW5jc1t0ZXN0LnR5cGVdOworICAgICAgICBjaGVja0Z1bmMo
cHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sIHRlc3QubmFtZSwgW10sIFtdKSwgdGVzdC5l
eHBlY3RhdGlvbik7CisgICAgfQogfQogCiB0ZXN0cy5zaW1wbGVFbnVtID0gZnVuY3Rpb24oKQpA
QCAtNDI2MywzMiArMzM3NSwzMiBAQCB0ZXN0cy5zaW1wbGVFbnVtID0gZnVuY3Rpb24oKQogICAg
ICAgICAgICAgcmV0dXJuIEZvbyhpbnREZWF0aCgpKTsKICAgICAgICAgfQogICAgIGApOwotICAg
IGNoZWNrRW51bShwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgIndhciIsIFtdLCBbXSks
IDApOwotICAgIGNoZWNrRW51bShwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZhbWlu
ZSIsIFtdLCBbXSksIDEpOwotICAgIGNoZWNrRW51bShwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgInBlc3RpbGVuY2UiLCBbXSwgW10pLCAyKTsKLSAgICBjaGVja0VudW0ocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJkZWF0aCIsIFtdLCBbXSksIDMpOwotICAgIGNoZWNrQm9v
bChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgInRlc3RTaW1wbGVFcXVhbCIsIFtdLCBb
XSksIHRydWUpOwotICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
InRlc3RBbm90aGVyRXF1YWwiLCBbXSwgW10pLCB0cnVlKTsKLSAgICBjaGVja0Jvb2wocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJ0ZXN0Tm90RXF1YWwiLCBbXSwgW10pLCBmYWxzZSk7
Ci0gICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidGVzdFNpbXBs
ZU5vdEVxdWFsIiwgW10sIFtdKSwgZmFsc2UpOwotICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgInRlc3RBbm90aGVyTm90RXF1YWwiLCBbXSwgW10pLCBmYWxzZSk7
Ci0gICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidGVzdE5vdE5v
dEVxdWFsIiwgW10sIFtdKSwgdHJ1ZSk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJpbnRXYXIiLCBbXSwgW10pLCAwKTsKLSAgICBjaGVja0ludChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImludEZhbWluZSIsIFtdLCBbXSksIDEpOwotICAgIGNo
ZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiaW50UGVzdGlsZW5jZSIsIFtd
LCBbXSksIDIpOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
aW50RGVhdGgiLCBbXSwgW10pLCAzKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgIndhclZhbHVlIiwgW10sIFtdKSwgMCk7Ci0gICAgY2hlY2tJbnQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmYW1pbmVWYWx1ZSIsIFtdLCBbXSksIDEpOwotICAg
IGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAicGVzdGlsZW5jZVZhbHVl
IiwgW10sIFtdKSwgMik7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJkZWF0aFZhbHVlIiwgW10sIFtdKSwgMyk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJ3YXJWYWx1ZUxpdGVyYWwiLCBbXSwgW10pLCAwKTsKLSAgICBj
aGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZhbWluZVZhbHVlTGl0ZXJh
bCIsIFtdLCBbXSksIDEpOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAicGVzdGlsZW5jZVZhbHVlTGl0ZXJhbCIsIFtdLCBbXSksIDIpOwotICAgIGNoZWNrSW50
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZGVhdGhWYWx1ZUxpdGVyYWwiLCBbXSwg
W10pLCAzKTsKLSAgICBjaGVja0VudW0ocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJp
bnRXYXJCYWNrd2FyZHMiLCBbXSwgW10pLCAwKTsKLSAgICBjaGVja0VudW0ocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJpbnRGYW1pbmVCYWNrd2FyZHMiLCBbXSwgW10pLCAxKTsKLSAg
ICBjaGVja0VudW0ocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJpbnRQZXN0aWxlbmNl
QmFja3dhcmRzIiwgW10sIFtdKSwgMik7Ci0gICAgY2hlY2tFbnVtKHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAiaW50RGVhdGhCYWNrd2FyZHMiLCBbXSwgW10pLCAzKTsKKyAgICBjaGVj
a0VudW0ocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJ3YXIiLCBbXSksIDApOworICAg
IGNoZWNrRW51bShwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZhbWluZSIsIFtdKSwg
MSk7CisgICAgY2hlY2tFbnVtKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAicGVzdGls
ZW5jZSIsIFtdKSwgMik7CisgICAgY2hlY2tFbnVtKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZGVhdGgiLCBbXSksIDMpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgInRlc3RTaW1wbGVFcXVhbCIsIFtdKSwgdHJ1ZSk7CisgICAgY2hlY2tCb29s
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidGVzdEFub3RoZXJFcXVhbCIsIFtdKSwg
dHJ1ZSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidGVz
dE5vdEVxdWFsIiwgW10pLCBmYWxzZSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAidGVzdFNpbXBsZU5vdEVxdWFsIiwgW10pLCBmYWxzZSk7CisgICAgY2hl
Y2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidGVzdEFub3RoZXJOb3RFcXVh
bCIsIFtdKSwgZmFsc2UpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgInRlc3ROb3ROb3RFcXVhbCIsIFtdKSwgdHJ1ZSk7CisgICAgY2hlY2tJbnQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJpbnRXYXIiLCBbXSksIDApOworICAgIGNoZWNrSW50
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiaW50RmFtaW5lIiwgW10pLCAxKTsKKyAg
ICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImludFBlc3RpbGVuY2Ui
LCBbXSksIDIpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
aW50RGVhdGgiLCBbXSksIDMpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAid2FyVmFsdWUiLCBbXSksIDApOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZmFtaW5lVmFsdWUiLCBbXSksIDEpOworICAgIGNoZWNrSW50KHBy
b2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAicGVzdGlsZW5jZVZhbHVlIiwgW10pLCAyKTsK
KyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImRlYXRoVmFsdWUi
LCBbXSksIDMpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
d2FyVmFsdWVMaXRlcmFsIiwgW10pLCAwKTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZhbWluZVZhbHVlTGl0ZXJhbCIsIFtdKSwgMSk7CisgICAgY2hlY2tJ
bnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJwZXN0aWxlbmNlVmFsdWVMaXRlcmFs
IiwgW10pLCAyKTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImRlYXRoVmFsdWVMaXRlcmFsIiwgW10pLCAzKTsKKyAgICBjaGVja0VudW0ocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJpbnRXYXJCYWNrd2FyZHMiLCBbXSksIDApOworICAgIGNoZWNr
RW51bShwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImludEZhbWluZUJhY2t3YXJkcyIs
IFtdKSwgMSk7CisgICAgY2hlY2tFbnVtKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
aW50UGVzdGlsZW5jZUJhY2t3YXJkcyIsIFtdKSwgMik7CisgICAgY2hlY2tFbnVtKHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiaW50RGVhdGhCYWNrd2FyZHMiLCBbXSksIDMpOwogfQog
CiB0ZXN0cy5lbnVtV2l0aE1hbnVhbFZhbHVlcyA9IGZ1bmN0aW9uKCkKQEAgLTQzMTcsMTAgKzM0
MjksMTAgQEAgdGVzdHMuZW51bVdpdGhNYW51YWxWYWx1ZXMgPSBmdW5jdGlvbigpCiAgICAgICAg
ICAgICByZXR1cm4gRm9vLkRlYXRoOwogICAgICAgICB9CiAgICAgYCk7Ci0gICAgY2hlY2tFbnVt
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAid2FyIiwgW10sIFtdKSwgNzIpOwotICAg
IGNoZWNrRW51bShwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZhbWluZSIsIFtdLCBb
XSksIDApOwotICAgIGNoZWNrRW51bShwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgInBl
c3RpbGVuY2UiLCBbXSwgW10pLCAyMyk7Ci0gICAgY2hlY2tFbnVtKHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAiZGVhdGgiLCBbXSwgW10pLCAtNDIpOworICAgIGNoZWNrRW51bShwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgIndhciIsIFtdKSwgNzIpOworICAgIGNoZWNrRW51
bShwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZhbWluZSIsIFtdKSwgMCk7CisgICAg
Y2hlY2tFbnVtKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAicGVzdGlsZW5jZSIsIFtd
KSwgMjMpOworICAgIGNoZWNrRW51bShwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImRl
YXRoIiwgW10pLCAtNDIpOwogfQogCiB0ZXN0cy5lbnVtV2l0aG91dFplcm8gPSBmdW5jdGlvbigp
CkBAIC00Mzc3LDQzICszNDg5LDEwIEBAIHRlc3RzLmVudW1XaXRoU29tZU1hbnVhbFZhbHVlcyA9
IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJldHVybiBGb28uRGVhdGg7CiAgICAgICAgIH0KICAg
ICBgKTsKLSAgICBjaGVja0VudW0ocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJ3YXIi
LCBbXSwgW10pLCA3Mik7Ci0gICAgY2hlY2tFbnVtKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZmFtaW5lIiwgW10sIFtdKSwgNzMpOwotICAgIGNoZWNrRW51bShwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgInBlc3RpbGVuY2UiLCBbXSwgW10pLCAwKTsKLSAgICBjaGVja0Vu
dW0ocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJkZWF0aCIsIFtdLCBbXSksIDEpOwot
fQotCi10ZXN0cy5lbnVtQ29uc3RleHByR2VuZXJpY0Z1bmN0aW9uID0gZnVuY3Rpb24oKQotewot
ICAgIGxldCBwcm9ncmFtID0gZG9QcmVwKGAKLSAgICAgICAgZW51bSBBeGlzIHsgWCwgWSB9Ci0g
ICAgICAgIGludCBmb288QXhpcyBheGlzPigpIHsgcmV0dXJuIGludChheGlzKTsgfQotICAgICAg
ICBpbnQgdGVzdFgoKSB7IHJldHVybiBmb288QXhpcy5YPigpOyB9Ci0gICAgICAgIGludCB0ZXN0
WSgpIHsgcmV0dXJuIGZvbzxBeGlzLlk+KCk7IH0KLSAgICBgKTsKLSAgICBjaGVja0ludChwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgInRlc3RYIiwgW10sIFtdKSwgMCk7Ci0gICAgY2hl
Y2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJ0ZXN0WSIsIFtdLCBbXSksIDEp
OwotfQotCi10ZXN0cy5lbnVtQ29uc3RleHByR2VuZXJpY1N0cnVjdCA9IGZ1bmN0aW9uKCkKLXsK
LSAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcChgCi0gICAgICAgIGVudW0gQXhpcyB7IFgsIFkgfQot
ICAgICAgICBzdHJ1Y3QgRm9vPEF4aXMgYXhpcz4geyB9Ci0gICAgICAgIGludCBmb288QXhpcyBh
eGlzPihGb288YXhpcz4pIHsgcmV0dXJuIGludChheGlzKTsgfQotICAgICAgICBpbnQgdGVzdFgo
KQotICAgICAgICB7ICAgCi0gICAgICAgICAgICBGb288QXhpcy5YPiBmOwotICAgICAgICAgICAg
cmV0dXJuIGZvbyhmKTsKLSAgICAgICAgfQotICAgICAgICBpbnQgdGVzdFkoKQotICAgICAgICB7
ICAgCi0gICAgICAgICAgICBGb288QXhpcy5ZPiBmOwotICAgICAgICAgICAgcmV0dXJuIGZvbyhm
KTsKLSAgICAgICAgfQotICAgIGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAidGVzdFgiLCBbXSwgW10pLCAwKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgInRlc3RZIiwgW10sIFtdKSwgMSk7CisgICAgY2hlY2tFbnVt
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAid2FyIiwgW10pLCA3Mik7CisgICAgY2hl
Y2tFbnVtKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZmFtaW5lIiwgW10pLCA3Myk7
CisgICAgY2hlY2tFbnVtKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAicGVzdGlsZW5j
ZSIsIFtdKSwgMCk7CisgICAgY2hlY2tFbnVtKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZGVhdGgiLCBbXSksIDEpOwogfQogCiB0ZXN0cy50cmFwID0gZnVuY3Rpb24oKQpAQCAtNDQz
OSwxNCArMzUxOCwxNCBAQCB0ZXN0cy50cmFwID0gZnVuY3Rpb24oKQogICAgICAgICB9CiAgICAg
YCk7CiAgICAgY2hlY2tGYWlsKAotICAgICAgICAoKSA9PiBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbyIsIFtdLCBbXSksCisgICAgICAgICgpID0+IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW10pLAogICAgICAgICBlID0+IGUgaW5zdGFuY2VvZiBXVHJhcEVycm9yKTsKLSAgICBjaGVj
a0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIiLCBbXSwgW21ha2VJbnQo
cHJvZ3JhbSwgMSldKSwgNCk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28yIiwgW21ha2VJbnQocHJvZ3JhbSwgMSldKSwgNCk7CiAgICAgY2hlY2tGYWls
KAotICAgICAgICAoKSA9PiBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIiLCBbXSwgW21ha2VJ
bnQocHJvZ3JhbSwgMyldKSwKKyAgICAgICAgKCkgPT4gY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28yIiwgW21ha2VJbnQocHJvZ3JhbSwgMyldKSwKICAgICAgICAgZSA9PiBlIGluc3RhbmNlb2Yg
V1RyYXBFcnJvcik7CiAgICAgY2hlY2tGYWlsKAotICAgICAgICAoKSA9PiBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbzMiLCBbXSwgW10pLAorICAgICAgICAoKSA9PiBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbzMiLCBbXSksCiAgICAgICAgIGUgPT4gZSBpbnN0YW5jZW9mIFdUcmFwRXJyb3Ip
OwogfQogCkBAIC00NDcwLDkgKzM1NDksOSBAQCB0ZXN0cy5zd2l6emxlID0gZnVuY3Rpb24oKQog
ICAgICAgICAgICAgcmV0dXJuIHF1aXguejsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNr
RmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW10pLCAzKTsK
LSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMiIsIFtd
LCBbXSksIDYpOwotICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28zIiwgW10sIFtdKSwgNCk7CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgMyk7CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIiLCBbXSksIDYpOworICAgIGNoZWNrRmxvYXQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28zIiwgW10pLCA0KTsKIH0KIAogdGVzdHMuZW51
bVdpdGhFeHBsaWNpdEludEJhc2UgPSBmdW5jdGlvbigpCkBAIC00NTk3LDMyICszNjc2LDMyIEBA
IHRlc3RzLmVudW1XaXRoRXhwbGljaXRJbnRCYXNlID0gZnVuY3Rpb24oKQogICAgICAgICAgICAg
cmV0dXJuIEZvbyhpbnREZWF0aCgpKTsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrRW51
bShwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgIndhciIsIFtdLCBbXSksIDApOwotICAg
IGNoZWNrRW51bShwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZhbWluZSIsIFtdLCBb
XSksIDEpOwotICAgIGNoZWNrRW51bShwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgInBl
c3RpbGVuY2UiLCBbXSwgW10pLCAyKTsKLSAgICBjaGVja0VudW0ocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJkZWF0aCIsIFtdLCBbXSksIDMpOwotICAgIGNoZWNrQm9vbChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgInRlc3RTaW1wbGVFcXVhbCIsIFtdLCBbXSksIHRydWUp
OwotICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgInRlc3RBbm90
aGVyRXF1YWwiLCBbXSwgW10pLCB0cnVlKTsKLSAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJ0ZXN0Tm90RXF1YWwiLCBbXSwgW10pLCBmYWxzZSk7Ci0gICAgY2hl
Y2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidGVzdFNpbXBsZU5vdEVxdWFs
IiwgW10sIFtdKSwgZmFsc2UpOwotICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgInRlc3RBbm90aGVyTm90RXF1YWwiLCBbXSwgW10pLCBmYWxzZSk7Ci0gICAgY2hl
Y2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidGVzdE5vdE5vdEVxdWFsIiwg
W10sIFtdKSwgdHJ1ZSk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJpbnRXYXIiLCBbXSwgW10pLCAwKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImludEZhbWluZSIsIFtdLCBbXSksIDEpOwotICAgIGNoZWNrSW50KHBy
b2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiaW50UGVzdGlsZW5jZSIsIFtdLCBbXSksIDIp
OwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiaW50RGVhdGgi
LCBbXSwgW10pLCAzKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgIndhclZhbHVlIiwgW10sIFtdKSwgMCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJmYW1pbmVWYWx1ZSIsIFtdLCBbXSksIDEpOwotICAgIGNoZWNrSW50
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAicGVzdGlsZW5jZVZhbHVlIiwgW10sIFtd
KSwgMik7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJkZWF0
aFZhbHVlIiwgW10sIFtdKSwgMyk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJ3YXJWYWx1ZUxpdGVyYWwiLCBbXSwgW10pLCAwKTsKLSAgICBjaGVja0ludChw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZhbWluZVZhbHVlTGl0ZXJhbCIsIFtdLCBb
XSksIDEpOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAicGVz
dGlsZW5jZVZhbHVlTGl0ZXJhbCIsIFtdLCBbXSksIDIpOwotICAgIGNoZWNrSW50KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZGVhdGhWYWx1ZUxpdGVyYWwiLCBbXSwgW10pLCAzKTsK
LSAgICBjaGVja0VudW0ocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJpbnRXYXJCYWNr
d2FyZHMiLCBbXSwgW10pLCAwKTsKLSAgICBjaGVja0VudW0ocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJpbnRGYW1pbmVCYWNrd2FyZHMiLCBbXSwgW10pLCAxKTsKLSAgICBjaGVja0Vu
dW0ocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJpbnRQZXN0aWxlbmNlQmFja3dhcmRz
IiwgW10sIFtdKSwgMik7Ci0gICAgY2hlY2tFbnVtKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiaW50RGVhdGhCYWNrd2FyZHMiLCBbXSwgW10pLCAzKTsKKyAgICBjaGVja0VudW0ocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJ3YXIiLCBbXSksIDApOworICAgIGNoZWNrRW51
bShwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZhbWluZSIsIFtdKSwgMSk7CisgICAg
Y2hlY2tFbnVtKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAicGVzdGlsZW5jZSIsIFtd
KSwgMik7CisgICAgY2hlY2tFbnVtKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZGVh
dGgiLCBbXSksIDMpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgInRlc3RTaW1wbGVFcXVhbCIsIFtdKSwgdHJ1ZSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidGVzdEFub3RoZXJFcXVhbCIsIFtdKSwgdHJ1ZSk7Cisg
ICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidGVzdE5vdEVxdWFs
IiwgW10pLCBmYWxzZSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAidGVzdFNpbXBsZU5vdEVxdWFsIiwgW10pLCBmYWxzZSk7CisgICAgY2hlY2tCb29sKHBy
b2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidGVzdEFub3RoZXJOb3RFcXVhbCIsIFtdKSwg
ZmFsc2UpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgInRl
c3ROb3ROb3RFcXVhbCIsIFtdKSwgdHJ1ZSk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJpbnRXYXIiLCBbXSksIDApOworICAgIGNoZWNrSW50KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiaW50RmFtaW5lIiwgW10pLCAxKTsKKyAgICBjaGVja0lu
dChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImludFBlc3RpbGVuY2UiLCBbXSksIDIp
OworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiaW50RGVhdGgi
LCBbXSksIDMpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
d2FyVmFsdWUiLCBbXSksIDApOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZmFtaW5lVmFsdWUiLCBbXSksIDEpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAicGVzdGlsZW5jZVZhbHVlIiwgW10pLCAyKTsKKyAgICBjaGVj
a0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImRlYXRoVmFsdWUiLCBbXSksIDMp
OworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAid2FyVmFsdWVM
aXRlcmFsIiwgW10pLCAwKTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZhbWluZVZhbHVlTGl0ZXJhbCIsIFtdKSwgMSk7CisgICAgY2hlY2tJbnQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJwZXN0aWxlbmNlVmFsdWVMaXRlcmFsIiwgW10pLCAy
KTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImRlYXRoVmFs
dWVMaXRlcmFsIiwgW10pLCAzKTsKKyAgICBjaGVja0VudW0ocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJpbnRXYXJCYWNrd2FyZHMiLCBbXSksIDApOworICAgIGNoZWNrRW51bShwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImludEZhbWluZUJhY2t3YXJkcyIsIFtdKSwgMSk7
CisgICAgY2hlY2tFbnVtKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiaW50UGVzdGls
ZW5jZUJhY2t3YXJkcyIsIFtdKSwgMik7CisgICAgY2hlY2tFbnVtKHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAiaW50RGVhdGhCYWNrd2FyZHMiLCBbXSksIDMpOwogfQogCiB0ZXN0cy5l
bnVtV2l0aFVpbnRCYXNlID0gZnVuY3Rpb24oKQpAQCAtNDc0NywzMiArMzgyNiwzMiBAQCB0ZXN0
cy5lbnVtV2l0aFVpbnRCYXNlID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0dXJuIEZvbyh1
aW50RGVhdGgoKSk7CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0VudW0ocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJ3YXIiLCBbXSwgW10pLCAwKTsKLSAgICBjaGVja0VudW0o
cHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmYW1pbmUiLCBbXSwgW10pLCAxKTsKLSAg
ICBjaGVja0VudW0ocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJwZXN0aWxlbmNlIiwg
W10sIFtdKSwgMik7Ci0gICAgY2hlY2tFbnVtKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZGVhdGgiLCBbXSwgW10pLCAzKTsKLSAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJ0ZXN0U2ltcGxlRXF1YWwiLCBbXSwgW10pLCB0cnVlKTsKLSAgICBjaGVj
a0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJ0ZXN0QW5vdGhlckVxdWFsIiwg
W10sIFtdKSwgdHJ1ZSk7Ci0gICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAidGVzdE5vdEVxdWFsIiwgW10sIFtdKSwgZmFsc2UpOwotICAgIGNoZWNrQm9vbChwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgInRlc3RTaW1wbGVOb3RFcXVhbCIsIFtdLCBbXSks
IGZhbHNlKTsKLSAgICBjaGVja0Jvb2wocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJ0
ZXN0QW5vdGhlck5vdEVxdWFsIiwgW10sIFtdKSwgZmFsc2UpOwotICAgIGNoZWNrQm9vbChwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgInRlc3ROb3ROb3RFcXVhbCIsIFtdLCBbXSksIHRy
dWUpOwotICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgInVpbnRX
YXIiLCBbXSwgW10pLCAwKTsKLSAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJ1aW50RmFtaW5lIiwgW10sIFtdKSwgMSk7Ci0gICAgY2hlY2tVaW50KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidWludFBlc3RpbGVuY2UiLCBbXSwgW10pLCAyKTsKLSAg
ICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJ1aW50RGVhdGgiLCBb
XSwgW10pLCAzKTsKLSAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJ3YXJWYWx1ZSIsIFtdLCBbXSksIDApOwotICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZhbWluZVZhbHVlIiwgW10sIFtdKSwgMSk7Ci0gICAgY2hlY2tVaW50
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAicGVzdGlsZW5jZVZhbHVlIiwgW10sIFtd
KSwgMik7Ci0gICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZGVh
dGhWYWx1ZSIsIFtdLCBbXSksIDMpOwotICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgIndhclZhbHVlTGl0ZXJhbCIsIFtdLCBbXSksIDApOwotICAgIGNoZWNrVWlu
dChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZhbWluZVZhbHVlTGl0ZXJhbCIsIFtd
LCBbXSksIDEpOwotICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
InBlc3RpbGVuY2VWYWx1ZUxpdGVyYWwiLCBbXSwgW10pLCAyKTsKLSAgICBjaGVja1VpbnQocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJkZWF0aFZhbHVlTGl0ZXJhbCIsIFtdLCBbXSks
IDMpOwotICAgIGNoZWNrRW51bShwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgInVpbnRX
YXJCYWNrd2FyZHMiLCBbXSwgW10pLCAwKTsKLSAgICBjaGVja0VudW0ocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJ1aW50RmFtaW5lQmFja3dhcmRzIiwgW10sIFtdKSwgMSk7Ci0gICAg
Y2hlY2tFbnVtKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidWludFBlc3RpbGVuY2VC
YWNrd2FyZHMiLCBbXSwgW10pLCAyKTsKLSAgICBjaGVja0VudW0ocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJ1aW50RGVhdGhCYWNrd2FyZHMiLCBbXSwgW10pLCAzKTsKKyAgICBjaGVj
a0VudW0ocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJ3YXIiLCBbXSksIDApOworICAg
IGNoZWNrRW51bShwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZhbWluZSIsIFtdKSwg
MSk7CisgICAgY2hlY2tFbnVtKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAicGVzdGls
ZW5jZSIsIFtdKSwgMik7CisgICAgY2hlY2tFbnVtKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZGVhdGgiLCBbXSksIDMpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgInRlc3RTaW1wbGVFcXVhbCIsIFtdKSwgdHJ1ZSk7CisgICAgY2hlY2tCb29s
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidGVzdEFub3RoZXJFcXVhbCIsIFtdKSwg
dHJ1ZSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidGVz
dE5vdEVxdWFsIiwgW10pLCBmYWxzZSk7CisgICAgY2hlY2tCb29sKHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAidGVzdFNpbXBsZU5vdEVxdWFsIiwgW10pLCBmYWxzZSk7CisgICAgY2hl
Y2tCb29sKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidGVzdEFub3RoZXJOb3RFcXVh
bCIsIFtdKSwgZmFsc2UpOworICAgIGNoZWNrQm9vbChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgInRlc3ROb3ROb3RFcXVhbCIsIFtdKSwgdHJ1ZSk7CisgICAgY2hlY2tVaW50KHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidWludFdhciIsIFtdKSwgMCk7CisgICAgY2hlY2tV
aW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidWludEZhbWluZSIsIFtdKSwgMSk7
CisgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidWludFBlc3Rp
bGVuY2UiLCBbXSksIDIpOworICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgInVpbnREZWF0aCIsIFtdKSwgMyk7CisgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAid2FyVmFsdWUiLCBbXSksIDApOworICAgIGNoZWNrVWludChwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZhbWluZVZhbHVlIiwgW10pLCAxKTsKKyAgICBj
aGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJwZXN0aWxlbmNlVmFsdWUi
LCBbXSksIDIpOworICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImRlYXRoVmFsdWUiLCBbXSksIDMpOworICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgIndhclZhbHVlTGl0ZXJhbCIsIFtdKSwgMCk7CisgICAgY2hlY2tVaW50KHBy
b2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZmFtaW5lVmFsdWVMaXRlcmFsIiwgW10pLCAx
KTsKKyAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJwZXN0aWxl
bmNlVmFsdWVMaXRlcmFsIiwgW10pLCAyKTsKKyAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJkZWF0aFZhbHVlTGl0ZXJhbCIsIFtdKSwgMyk7CisgICAgY2hlY2tF
bnVtKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidWludFdhckJhY2t3YXJkcyIsIFtd
KSwgMCk7CisgICAgY2hlY2tFbnVtKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAidWlu
dEZhbWluZUJhY2t3YXJkcyIsIFtdKSwgMSk7CisgICAgY2hlY2tFbnVtKHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAidWludFBlc3RpbGVuY2VCYWNrd2FyZHMiLCBbXSksIDIpOworICAg
IGNoZWNrRW51bShwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgInVpbnREZWF0aEJhY2t3
YXJkcyIsIFtdKSwgMyk7CiB9CiAKIHRlc3RzLmVudW1GbG9hdEJhc2UgPSBmdW5jdGlvbigpCkBA
IC00ODE4LDcgKzM4OTcsNyBAQCB0ZXN0cy5lbXB0eVN0cnVjdCA9IGZ1bmN0aW9uKCkKICAgICAg
ICAgICAgIHJldHVybiA0NjsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrSW50KHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFtdKSwgNDYpOworICAgIGNoZWNr
SW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCA0Nik7CiB9CiAK
IHRlc3RzLmVudW1TdHJ1Y3RCYXNlID0gZnVuY3Rpb24oKQpAQCAtNDg1Nyw5ICszOTM2LDkgQEAg
dGVzdHMuc2ltcGxlU3dpdGNoID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgfQogICAgICAgICB9
CiAgICAgYCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgNzY3KV0pLCAyNyk7Ci0gICAgY2hlY2tJbnQocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwg
NjkpXSksIDc2MjQpOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDApXSksIDQ5KTsKKyAgICBjaGVja0ludChw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlSW50KHByb2dyYW0sIDc2
NyldKSwgMjcpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNjkpXSksIDc2MjQpOworICAgIGNoZWNrSW50KHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgMCldKSwg
NDkpOwogfQogCiB0ZXN0cy5leGhhdXN0aXZlVWludDhTd2l0Y2ggPSBmdW5jdGlvbigpCkBAIC00
ODcwLDcgKzM5NDksNyBAQCB0ZXN0cy5leGhhdXN0aXZlVWludDhTd2l0Y2ggPSBmdW5jdGlvbigp
CiAgICAgdGV4dCArPSAifSB9IjsKICAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcCh0ZXh0KTsKICAg
ICBmb3IgKGxldCBpID0gMDsgaSA8IDB4ZmY7ICsraSkKLSAgICAgICAgY2hlY2tGbG9hdChwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZVVpbnQ4KHByb2dyYW0s
IGkpXSksIGkgKiAxLjUpOworICAgICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50OChwcm9ncmFtLCBpKV0pLCBpICogMS41KTsKIH0K
IAogdGVzdHMubm90UXVpdGVFeGhhdXN0aXZlVWludDhTd2l0Y2ggPSBmdW5jdGlvbigpCkBAIC00
ODkxLDcgKzM5NzAsNyBAQCB0ZXN0cy5ub3RRdWl0ZUV4aGF1c3RpdmVVaW50OFN3aXRjaFdpdGhE
ZWZhdWx0ID0gZnVuY3Rpb24oKQogICAgIHRleHQgKz0gIn0gfSI7CiAgICAgbGV0IHByb2dyYW0g
PSBkb1ByZXAodGV4dCk7CiAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAweGZmOyArK2kpCi0gICAg
ICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwg
W21ha2VVaW50OChwcm9ncmFtLCBpKV0pLCBpICogMS41KTsKKyAgICAgICAgY2hlY2tGbG9hdChw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludDgocHJvZ3JhbSwg
aSldKSwgaSAqIDEuNSk7CiB9CiAKIHRlc3RzLnN3aXRjaEZhbGxUaHJvdWdoID0gZnVuY3Rpb24o
KQpAQCAtNDkxMyw5ICszOTkyLDkgQEAgdGVzdHMuc3dpdGNoRmFsbFRocm91Z2ggPSBmdW5jdGlv
bigpCiAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICB9CiAgICAgYCk7Ci0gICAg
Y2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJ
bnQocHJvZ3JhbSwgNzY3KV0pLCAyNyArIDc2MjQgKyA0OSk7Ci0gICAgY2hlY2tJbnQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgNjkp
XSksIDc2MjQgKyA0OSk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb28iLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgMCldKSwgNDkpOworICAgIGNoZWNrSW50
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwg
NzY3KV0pLCAyNyArIDc2MjQgKyA0OSk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCA2OSldKSwgNzYyNCArIDQ5KTsK
KyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtl
SW50KHByb2dyYW0sIDApXSksIDQ5KTsKIH0KIAogdGVzdHMuc3dpdGNoQnJlYWsgPSBmdW5jdGlv
bigpCkBAIC00OTM4LDkgKzQwMTcsOSBAQCB0ZXN0cy5zd2l0Y2hCcmVhayA9IGZ1bmN0aW9uKCkK
ICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVj
a0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChw
cm9ncmFtLCA3NjcpXSksIDI3KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUludChwcm9ncmFtLCA2OSldKSwgNzYyNCk7Ci0gICAg
Y2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VJ
bnQocHJvZ3JhbSwgMCldKSwgNDkpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW21ha2VJbnQocHJvZ3JhbSwgNzY3KV0pLCAyNyk7CisgICAgY2hl
Y2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUludChwcm9n
cmFtLCA2OSldKSwgNzYyNCk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28iLCBbbWFrZUludChwcm9ncmFtLCAwKV0pLCA0OSk7CiB9CiAKIHRlc3RzLmVu
dW1Td2l0Y2hCcmVha0V4aGF1c3RpdmUgPSBmdW5jdGlvbigpCkBAIC00OTY2LDkgKzQwNDUsOSBA
QCB0ZXN0cy5lbnVtU3dpdGNoQnJlYWtFeGhhdXN0aXZlID0gZnVuY3Rpb24oKQogICAgICAgICAg
ICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrSW50KHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFttYWtlRW51bShwcm9ncmFtLCAi
Rm9vIiwgIkEiKV0pLCAyNyk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28iLCBbXSwgW21ha2VFbnVtKHByb2dyYW0sICJGb28iLCAiQiIpXSksIDc2MjQp
OwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10s
IFttYWtlRW51bShwcm9ncmFtLCAiRm9vIiwgIkMiKV0pLCA0OSk7CisgICAgY2hlY2tJbnQocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUVudW0ocHJvZ3JhbSwgIkZv
byIsICJBIildKSwgMjcpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vIiwgW21ha2VFbnVtKHByb2dyYW0sICJGb28iLCAiQiIpXSksIDc2MjQpOworICAg
IGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VFbnVt
KHByb2dyYW0sICJGb28iLCAiQyIpXSksIDQ5KTsKIH0KIAogdGVzdHMuZW51bVN3aXRjaEJyZWFr
Tm90UXVpdGVFeGhhdXN0aXZlID0gZnVuY3Rpb24oKQpAQCAtNTAyMSw5ICs0MTAwLDkgQEAgdGVz
dHMuZW51bVN3aXRjaEJyZWFrTm90UXVpdGVFeGhhdXN0aXZlV2l0aERlZmF1bHQgPSBmdW5jdGlv
bigpCiAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICB9CiAgICAgYCk7Ci0gICAg
Y2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW21ha2VF
bnVtKHByb2dyYW0sICJGb28iLCAiQSIpXSksIDI3KTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbbWFrZUVudW0ocHJvZ3JhbSwgIkZvbyIs
ICJCIildKSwgNzYyNCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb28iLCBbXSwgW21ha2VFbnVtKHByb2dyYW0sICJGb28iLCAiQyIpXSksIDQ5KTsKKyAg
ICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlRW51
bShwcm9ncmFtLCAiRm9vIiwgIkEiKV0pLCAyNyk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZUVudW0ocHJvZ3JhbSwgIkZvbyIsICJCIild
KSwgNzYyNCk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28iLCBbbWFrZUVudW0ocHJvZ3JhbSwgIkZvbyIsICJDIildKSwgNDkpOwogfQogCiB0ZXN0cy5z
aW1wbGVSZWN1cnNpdmVTdHJ1Y3QgPSBmdW5jdGlvbigpCkBAIC01MDcyLDcgKzQxNTEsNyBAQCB0
ZXN0cy5tdXR1YWxseVJlY3Vyc2l2ZVN0cnVjdFdpdGhQb2ludGVyc0Jyb2tlbiA9IGZ1bmN0aW9u
KCkKICAgICAgICAgfQogICAgIGApOwogICAgIGNoZWNrRmFpbCgKLSAgICAgICAgKCkgPT4gY2hl
Y2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW10pLCAtNTEx
KSwKKyAgICAgICAgKCkgPT4gY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbXSksIC01MTEpLAogICAgICAgICBlID0+IGUgaW5zdGFuY2VvZiBXVHJhcEVycm9y
KTsKIH0KIApAQCAtNTA5OCw3ICs0MTc3LDcgQEAgdGVzdHMubXV0dWFsbHlSZWN1cnNpdmVTdHJ1
Y3RXaXRoUG9pbnRlcnMgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICByZXR1cm4gZm9vLmJhci0+
YmFyIC0gYmFyLmZvby0+Zm9vOwogICAgICAgICB9CiAgICAgYCk7Ci0gICAgY2hlY2tJbnQocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW10pLCAtNTExKTsKKyAgICBj
aGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgLTUxMSk7
CiB9CiAKIHRlc3RzLmxpbmtlZExpc3QgPSBmdW5jdGlvbigpCkBAIC01MTE5LDcgKzQxOTgsNyBA
QCB0ZXN0cy5saW5rZWRMaXN0ID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0dXJuIHgubmV4
dC0+bmV4dC0+dmFsdWU7CiAgICAgICAgIH0KICAgICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbXSksIDMpOworICAgIGNoZWNrSW50
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCAzKTsKIH0KIAogdGVz
dHMucG9pbnRlclRvUG9pbnRlciA9IGZ1bmN0aW9uKCkKQEAgLTUxNDIsNyArNDIyMSw3IEBAIHRl
c3RzLnBvaW50ZXJUb1BvaW50ZXIgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICByZXR1cm4gcmVz
dWx0OwogICAgICAgICB9CiAgICAgYCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW10pLCA3NiArIDM5ICsgODMpOworICAgIGNoZWNrSW50
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCA3NiArIDM5ICsgODMp
OwogfQogCiB0ZXN0cy5hcnJheVJlZlRvQXJyYXlSZWYgPSBmdW5jdGlvbigpCkBAIC01MTY1LDcg
KzQyNDQsNyBAQCB0ZXN0cy5hcnJheVJlZlRvQXJyYXlSZWYgPSBmdW5jdGlvbigpCiAgICAgICAg
ICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICB9CiAgICAgYCk7Ci0gICAgY2hlY2tJbnQocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW10pLCA3NiArIDM5ICsgODMp
OworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10p
LCA3NiArIDM5ICsgODMpOwogfQogCiB0ZXN0cy5wb2ludGVyR2V0dGVyID0gZnVuY3Rpb24oKQpA
QCAtNTI0Niw5NCArNDMyNSw2IEBAIHRlc3RzLnNldHRlcldpdGhNYXRjaGVkVHlwZSA9IGZ1bmN0
aW9uKCkKICAgICBgKTsKIH0KIAotdGVzdHMub3BlcmF0b3JXaXRoVW5pbmZlcnJhYmxlVHlwZVZh
cmlhYmxlID0gZnVuY3Rpb24oKQotewotICAgIGNoZWNrRmFpbCgKLSAgICAgICAgKCkgPT4gZG9Q
cmVwKGAKLSAgICAgICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgICAgIGludCB4Owot
ICAgICAgICAgICAgfQotICAgICAgICAgICAgRm9vIG9wZXJhdG9yKzxUPihGb28gYSwgRm9vIGIp
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgRm9vIHJlc3VsdDsKLSAgICAgICAgICAg
ICAgICByZXN1bHQueCA9IGEueCArIGIueDsKLSAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0
OwotICAgICAgICAgICAgfQotICAgICAgICBgKSwKLSAgICAgICAgZSA9PiBlIGluc3RhbmNlb2Yg
V1R5cGVFcnJvcik7Ci19Ci0KLXRlc3RzLm9wZXJhdG9yV2l0aG91dFVuaW5mZXJyYWJsZVR5cGVW
YXJpYWJsZSA9IGZ1bmN0aW9uKCkKLXsKLSAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcChgCi0gICAg
ICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgIH0KLSAgICAgICAg
Rm9vIG9wZXJhdG9yKyhGb28gYSwgRm9vIGIpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEZvbyBy
ZXN1bHQ7Ci0gICAgICAgICAgICByZXN1bHQueCA9IGEueCArIGIueDsKLSAgICAgICAgICAgIHJl
dHVybiByZXN1bHQ7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGZvbygpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIEZvbyBhOwotICAgICAgICAgICAgYS54ID0gNjQ1OwotICAgICAgICAgICAgRm9v
IGI7Ci0gICAgICAgICAgICBiLnggPSAtMzU7Ci0gICAgICAgICAgICByZXR1cm4gKGEgKyBiKS54
OwotICAgICAgICB9Ci0gICAgYCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbXSwgW10pLCA2NDUgLSAzNSk7Ci19Ci0KLXRlc3RzLm9wZXJhdG9y
Q2FzdFdpdGhVbmluZmVycmFibGVUeXBlVmFyaWFibGUgPSBmdW5jdGlvbigpCi17Ci0gICAgY2hl
Y2tGYWlsKAotICAgICAgICAoKSA9PiBkb1ByZXAoYAotICAgICAgICAgICAgc3RydWN0IEZvbyB7
Ci0gICAgICAgICAgICAgICAgaW50IHg7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBvcGVy
YXRvcjxUPiBGb28oaW50IHgpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgRm9vIHJl
c3VsdDsKLSAgICAgICAgICAgICAgICByZXN1bHQueCA9IHg7Ci0gICAgICAgICAgICAgICAgcmV0
dXJuIHJlc3VsdDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgYCksCi0gICAgICAgIGUgPT4gZSBp
bnN0YW5jZW9mIFdUeXBlRXJyb3IpOwotfQotCi10ZXN0cy5vcGVyYXRvckNhc3RXaXRoVHlwZVZh
cmlhYmxlSW5mZXJyZWRGcm9tUmV0dXJuVHlwZSA9IGZ1bmN0aW9uKCkKLXsKLSAgICBsZXQgcHJv
Z3JhbSA9IGRvUHJlcChgCi0gICAgICAgIHN0cnVjdCBGb28gewotICAgICAgICAgICAgaW50IHg7
Ci0gICAgICAgIH0KLSAgICAgICAgcHJvdG9jb2wgQmFyYWJsZSB7Ci0gICAgICAgICAgICB2b2lk
IGJhcih0aHJlYWQgQmFyYWJsZSosIGludCk7Ci0gICAgICAgIH0KLSAgICAgICAgdm9pZCBiYXIo
dGhyZWFkIGZsb2F0KiByZXN1bHQsIGludCB2YWx1ZSkKLSAgICAgICAgewotICAgICAgICAgICAg
KnJlc3VsdCA9IGZsb2F0KHZhbHVlKTsKLSAgICAgICAgfQotICAgICAgICBvcGVyYXRvcjxUOkJh
cmFibGU+IFQoRm9vIGZvbykKLSAgICAgICAgewotICAgICAgICAgICAgVCByZXN1bHQ7Ci0gICAg
ICAgICAgICBiYXIoJnJlc3VsdCwgZm9vLngpOwotICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsK
LSAgICAgICAgfQotICAgICAgICBpbnQgZm9vKCkKLSAgICAgICAgewotICAgICAgICAgICAgRm9v
IGZvbzsKLSAgICAgICAgICAgIGZvby54ID0gNzU7Ci0gICAgICAgICAgICBmbG9hdCB4ID0gZmxv
YXQoZm9vKTsKLSAgICAgICAgICAgIHJldHVybiBpbnQoeCAqIDEuNSk7Ci0gICAgICAgIH0KLSAg
ICBgKTsKLSAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIs
IFtdLCBbXSksIDExMik7Ci19Ci0KIHRlc3RzLmluY1dyb25nQXJndW1lbnRMZW5ndGggPSBmdW5j
dGlvbigpCiB7CiAgICAgY2hlY2tGYWlsKApAQCAtNTgyMyw3ICs0ODE0LDcgQEAgdGVzdHMuYW5k
ZXJXaXRoTm90aGluZ1dyb25nID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgcmV0dXJuIHguZm9v
OwogICAgICAgICB9CiAgICAgYCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbXSwgW10pLCAxMyk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSksIDEzKTsKIH0KIAogdGVzdHMuYW5kZXJXaXRo
V3JvbmdOdW1iZXJPZkFyZ3VtZW50cyA9IGZ1bmN0aW9uKCkKQEAgLTU4OTcsNyArNDg4OCwyNiBA
QCB0ZXN0cy5hbmRlcldpdGhBcnJheVJlZiA9IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIHJldHVy
biAoQHgpLmZvbzsKICAgICAgICAgfQogICAgIGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFtdKSwgMTMpOworICAgIGNoZWNrSW50KHBy
b2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCAxMyk7Cit9CisKK3Rlc3Rz
LmFuZGVyV2l0aEJhZEluZGV4ID0gZnVuY3Rpb24oKQoreworICAgIGNoZWNrRmFpbCgoKSA9PiBk
b1ByZXAoYAorICAgICAgICBpbnQgZm9vKHRocmVhZCBpbnRbXSB4KSB7IHJldHVybiB4Wy0xXTsg
fQorICAgIGApLCBlID0+IGUgaW5zdGFuY2VvZiBFcnJvcik7CisKKyAgICBjaGVja0ZhaWwoKCkg
PT4gZG9QcmVwKGAKKyAgICAgICAgaW50IGZvbyh0aHJlYWQgaW50W10geCkgeyByZXR1cm4geFsx
LmZdOyB9CisgICAgYCksIGUgPT4gZSBpbnN0YW5jZW9mIEVycm9yKTsKKworICAgIGNoZWNrRmFp
bCgoKSA9PiBkb1ByZXAoYAorICAgICAgICBpbnQgZm9vKHRocmVhZCBpbnRbXSB4LCBpbnQgeSkg
eyByZXR1cm4geFt5XTsgfQorICAgIGApLCBlID0+IGUgaW5zdGFuY2VvZiBFcnJvcik7CisKKyAg
ICBjaGVja0ZhaWwoKCkgPT4gZG9QcmVwKGAKKyAgICAgICAgaW50IGZvbyh0aHJlYWQgaW50W10g
eCwgZmxvYXQgeSkgeyByZXR1cm4geFt5XTsgfQorICAgIGApLCBlID0+IGUgaW5zdGFuY2VvZiBF
cnJvcik7CiB9CiAKIHRlc3RzLnBvaW50ZXJJbmRleEdldHRlciA9IGZ1bmN0aW9uKCkKQEAgLTYw
ODMsNyArNTA5Myw3IEBAIHRlc3RzLmluZGV4QW5kZXJXaXRoTm90aGluZ1dyb25nID0gZnVuY3Rp
b24oKQogICAgICAgICAgICAgcmV0dXJuIHhbNjY2XTsKICAgICAgICAgfQogICAgIGApOwotICAg
IGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFtdKSwg
MTMpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwg
W10pLCAxMyk7CiB9CiAKIHRlc3RzLmluZGV4QW5kZXJXaXRoV3JvbmdOdW1iZXJPZkFyZ3VtZW50
cyA9IGZ1bmN0aW9uKCkKQEAgLTYxNjgsNyArNTE3OCw3IEBAIHRlc3RzLmluZGV4QW5kZXJXaXRo
QXJyYXlSZWYgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICByZXR1cm4gKEB4KVtmbG9hdCgtMSld
OwogICAgICAgICB9CiAgICAgYCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbXSwgW10pLCAxMyk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSksIDEzKTsKIH0KIAogdGVzdHMuZGV2aWNlUHRy
UHRyID0gZnVuY3Rpb24oKQpAQCAtNjIwNywzMDYgKzUyMTcsNiBAQCB0ZXN0cy5jb25zdGFudFB0
clB0ciA9IGZ1bmN0aW9uKCkKICAgICAgICAgZSA9PiBlIGluc3RhbmNlb2YgV1R5cGVFcnJvciAm
JiBlLm1lc3NhZ2UuaW5kZXhPZigiSWxsZWdhbCBwb2ludGVyIHRvIG5vbi1wcmltaXRpdmUgdHlw
ZTogaW50MzIqIGNvbnN0YW50KiBjb25zdGFudCIpICE9IC0xKTsKIH0KIAotdGVzdHMucG9pbnRl
ckluZGV4R2V0dGVySW5Qcm90b2NvbCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBmb3IgKGxldCBhZGRy
ZXNzU3BhY2Ugb2YgYWRkcmVzc1NwYWNlcykgewotICAgICAgICBjaGVja0ZhaWwoCi0gICAgICAg
ICAgICAoKSA9PiBkb1ByZXAoYAotICAgICAgICAgICAgICAgIHByb3RvY29sIEZvbyB7Ci0gICAg
ICAgICAgICAgICAgICAgIGludCBvcGVyYXRvcltdKCR7YWRkcmVzc1NwYWNlfSBGb28qLCB1aW50
KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgc3RydWN0IEJhciB7IH0KLSAg
ICAgICAgICAgICAgICBpbnQgb3BlcmF0b3JbXShCYXIsIHVpbnQpIHsgcmV0dXJuIDQyOyB9Ci0g
ICAgICAgICAgICBgKSwKLSAgICAgICAgICAgIGUgPT4gZSBpbnN0YW5jZW9mIFdUeXBlRXJyb3Ig
JiYgZS5tZXNzYWdlLmluZGV4T2YoIkNhbm5vdCBoYXZlIGdldHRlciBmb3IgcG9pbnRlciB0eXBl
IikgIT0gLTEpOwotICAgIH0KLX0KLQotdGVzdHMubG9uZUluZGV4U2V0dGVySW5Qcm90b2NvbCA9
IGZ1bmN0aW9uKCkKLXsKLSAgICBjaGVja0ZhaWwoCi0gICAgICAgICgpID0+IGRvUHJlcChgCi0g
ICAgICAgICAgICBwcm90b2NvbCBGb28gewotICAgICAgICAgICAgICAgIEZvbyBvcGVyYXRvcltd
PShGb28sIHVpbnQsIGludCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJ1Y3QgQmFy
IHsgfQotICAgICAgICAgICAgaW50IG9wZXJhdG9yW10oQmFyLCB1aW50KSB7IHJldHVybiA0Mjsg
fQotICAgICAgICAgICAgQmFyIG9wZXJhdG9yW109KEJhciwgdWludCwgaW50KSB7IHJldHVybiBC
YXIoKTsgfQotICAgICAgICBgKSwKLSAgICAgICAgZSA9PiBlIGluc3RhbmNlb2YgV1R5cGVFcnJv
ciAmJiBlLm1lc3NhZ2UuaW5kZXhPZigiRXZlcnkgc2V0dGVyIG11c3QgaGF2ZSBhIG1hdGNoaW5n
IGdldHRlciIpICE9IC0xKTsKLX0KLQotdGVzdHMubm90TG9uZUluZGV4U2V0dGVySW5Qcm90b2Nv
bCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBkb1ByZXAoYAotICAgICAgICBwcm90b2NvbCBGb28gewot
ICAgICAgICAgICAgaW50IG9wZXJhdG9yW10oRm9vLCB1aW50KTsKLSAgICAgICAgICAgIEZvbyBv
cGVyYXRvcltdPShGb28sIHVpbnQsIGludCk7Ci0gICAgICAgIH0KLSAgICAgICAgc3RydWN0IEJh
ciB7IH0KLSAgICAgICAgaW50IG9wZXJhdG9yW10oQmFyLCB1aW50KSB7IHJldHVybiA0MjsgfQot
ICAgICAgICBCYXIgb3BlcmF0b3JbXT0oQmFyLCB1aW50LCBpbnQpIHsgcmV0dXJuIEJhcigpOyB9
Ci0gICAgYCk7Ci19Ci0KLXRlc3RzLmluZGV4U2V0dGVyV2l0aE1pc21hdGNoZWRUeXBlSW5Qcm90
b2NvbCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBjaGVja0ZhaWwoCi0gICAgICAgICgpID0+IGRvUHJl
cChgCi0gICAgICAgICAgICBwcm90b2NvbCBGb28gewotICAgICAgICAgICAgICAgIGZsb2F0IG9w
ZXJhdG9yW10oRm9vLCB1aW50KTsKLSAgICAgICAgICAgICAgICBGb28gb3BlcmF0b3JbXT0oRm9v
LCB1aW50LCBpbnQpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RydWN0IEJhciB7IH0K
LSAgICAgICAgICAgIGludCBvcGVyYXRvcltdKEJhciwgdWludCkgeyByZXR1cm4gNDI7IH0KLSAg
ICAgICAgICAgIEJhciBvcGVyYXRvcltdPShCYXIsIHVpbnQsIGludCkgeyByZXR1cm4gQmFyKCk7
IH0KLSAgICAgICAgYCksCi0gICAgICAgIGUgPT4gZSBpbnN0YW5jZW9mIFdUeXBlRXJyb3IgJiYg
ZS5tZXNzYWdlLmluZGV4T2YoIlNldHRlciBhbmQgZ2V0dGVyIG11c3QgYWdyZWUgb24gdmFsdWUg
dHlwZSIpICE9IC0xKTsKLX0KLQotdGVzdHMuaW5kZXhPcGVyYXRvcldyb25nQXJndW1lbnRMZW5n
dGhJblByb3RvY29sID0gZnVuY3Rpb24oKQotewotICAgIGNoZWNrRmFpbCgKLSAgICAgICAgKCkg
PT4gZG9QcmVwKGAKLSAgICAgICAgICAgIHByb3RvY29sIEZvbyB7Ci0gICAgICAgICAgICAgICAg
aW50IG9wZXJhdG9yW10oKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHN0cnVjdCBCYXIg
eyB9Ci0gICAgICAgICAgICBpbnQgb3BlcmF0b3JbXShCYXIsIHVpbnQpIHsgcmV0dXJuIDQyOyB9
Ci0gICAgICAgIGApLAotICAgICAgICBlID0+IGUgaW5zdGFuY2VvZiBXVHlwZUVycm9yICYmIGUu
bWVzc2FnZS5pbmRleE9mKCJQcm90b2NvbCdzIHR5cGUgdmFyaWFibGUgKEZvbykgbm90IG1lbnRp
b25lZCBpbiBzaWduYXR1cmUiKSAhPSAtMSk7Ci0gICAgY2hlY2tGYWlsKAotICAgICAgICAoKSA9
PiBkb1ByZXAoYAotICAgICAgICAgICAgcHJvdG9jb2wgRm9vIHsKLSAgICAgICAgICAgICAgICBp
bnQgb3BlcmF0b3JbXShGb28pOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RydWN0IEJh
ciB7IH0KLSAgICAgICAgICAgIGludCBvcGVyYXRvcltdKEJhciwgdWludCkgeyByZXR1cm4gNDI7
IH0KLSAgICAgICAgYCksCi0gICAgICAgIGUgPT4gZSBpbnN0YW5jZW9mIFdUeXBlRXJyb3IgJiYg
ZS5tZXNzYWdlLmluZGV4T2YoIkluY29ycmVjdCBudW1iZXIgb2YgcGFyYW1ldGVycyIpICE9IC0x
KTsKLSAgICBjaGVja0ZhaWwoCi0gICAgICAgICgpID0+IGRvUHJlcChgCi0gICAgICAgICAgICBw
cm90b2NvbCBGb28gewotICAgICAgICAgICAgICAgIGludCBvcGVyYXRvcltdKEZvbywgaW50LCBp
bnQpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RydWN0IEJhciB7IH0KLSAgICAgICAg
ICAgIGludCBvcGVyYXRvcltdKEJhciwgdWludCkgeyByZXR1cm4gNDI7IH0KLSAgICAgICAgYCks
Ci0gICAgICAgIGUgPT4gZSBpbnN0YW5jZW9mIFdUeXBlRXJyb3IgJiYgZS5tZXNzYWdlLmluZGV4
T2YoIkluY29ycmVjdCBudW1iZXIgb2YgcGFyYW1ldGVycyIpICE9IC0xKTsKLX0KLQotdGVzdHMu
aW5kZXhPcGVyYXRvclNldHRlcldyb25nQXJndW1lbnRMZW5ndGhJblByb3RvY29sID0gZnVuY3Rp
b24oKQotewotICAgIGNoZWNrRmFpbCgKLSAgICAgICAgKCkgPT4gZG9QcmVwKGAKLSAgICAgICAg
ICAgIHByb3RvY29sIEZvbyB7Ci0gICAgICAgICAgICAgICAgaW50IG9wZXJhdG9yW109KCk7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJ1Y3QgQmFyIHsgfQotICAgICAgICAgICAgaW50
IG9wZXJhdG9yW10oQmFyLCB1aW50KSB7IHJldHVybiA0MjsgfQotICAgICAgICAgICAgQmFyIG9w
ZXJhdG9yW109KEJhciwgdWludCwgaW50KSB7IHJldHVybiBCYXIoKTsgfQotICAgICAgICBgKSwK
LSAgICAgICAgZSA9PiBlIGluc3RhbmNlb2YgV1R5cGVFcnJvciAmJiBlLm1lc3NhZ2UuaW5kZXhP
ZigiUHJvdG9jb2wncyB0eXBlIHZhcmlhYmxlIChGb28pIG5vdCBtZW50aW9uZWQgaW4gc2lnbmF0
dXJlIikgIT0gLTEpOwotICAgIGNoZWNrRmFpbCgKLSAgICAgICAgKCkgPT4gZG9QcmVwKGAKLSAg
ICAgICAgICAgIHByb3RvY29sIEZvbyB7Ci0gICAgICAgICAgICAgICAgaW50IG9wZXJhdG9yW109
KEZvbyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJ1Y3QgQmFyIHsgfQotICAgICAg
ICAgICAgaW50IG9wZXJhdG9yW10oQmFyLCB1aW50KSB7IHJldHVybiA0MjsgfQotICAgICAgICAg
ICAgQmFyIG9wZXJhdG9yW109KEJhciwgdWludCwgaW50KSB7IHJldHVybiBCYXIoKTsgfQotICAg
ICAgICBgKSwKLSAgICAgICAgZSA9PiBlIGluc3RhbmNlb2YgV1R5cGVFcnJvciAmJiBlLm1lc3Nh
Z2UuaW5kZXhPZigiSW5jb3JyZWN0IG51bWJlciBvZiBwYXJhbWV0ZXJzIikgIT0gLTEpOwotICAg
IGNoZWNrRmFpbCgKLSAgICAgICAgKCkgPT4gZG9QcmVwKGAKLSAgICAgICAgICAgIHByb3RvY29s
IEZvbyB7Ci0gICAgICAgICAgICAgICAgaW50IG9wZXJhdG9yW109KEZvbywgaW50KTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIHN0cnVjdCBCYXIgeyB9Ci0gICAgICAgICAgICBpbnQgb3Bl
cmF0b3JbXShCYXIsIHVpbnQpIHsgcmV0dXJuIDQyOyB9Ci0gICAgICAgICAgICBCYXIgb3BlcmF0
b3JbXT0oQmFyLCB1aW50LCBpbnQpIHsgcmV0dXJuIEJhcigpOyB9Ci0gICAgICAgIGApLAotICAg
ICAgICBlID0+IGUgaW5zdGFuY2VvZiBXVHlwZUVycm9yICYmIGUubWVzc2FnZS5pbmRleE9mKCJJ
bmNvcnJlY3QgbnVtYmVyIG9mIHBhcmFtZXRlcnMiKSAhPSAtMSk7Ci0gICAgY2hlY2tGYWlsKAot
ICAgICAgICAoKSA9PiBkb1ByZXAoYAotICAgICAgICAgICAgcHJvdG9jb2wgRm9vIHsKLSAgICAg
ICAgICAgICAgICBpbnQgb3BlcmF0b3JbXT0oRm9vLCBpbnQsIGludCwgaW50KTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIHN0cnVjdCBCYXIgeyB9Ci0gICAgICAgICAgICBpbnQgb3BlcmF0
b3JbXShCYXIsIHVpbnQpIHsgcmV0dXJuIDQyOyB9Ci0gICAgICAgICAgICBCYXIgb3BlcmF0b3Jb
XT0oQmFyLCB1aW50LCBpbnQpIHsgcmV0dXJuIEJhcigpOyB9Ci0gICAgICAgIGApLAotICAgICAg
ICBlID0+IGUgaW5zdGFuY2VvZiBXVHlwZUVycm9yICYmIGUubWVzc2FnZS5pbmRleE9mKCJJbmNv
cnJlY3QgbnVtYmVyIG9mIHBhcmFtZXRlcnMiKSAhPSAtMSk7Ci19Ci0KLXRlc3RzLmxvbmVJbmRl
eFNldHRlclBvaW50ZXJJblByb3RvY29sID0gZnVuY3Rpb24oKQotewotICAgIGNoZWNrRmFpbCgK
LSAgICAgICAgKCkgPT4gZG9QcmVwKGAKLSAgICAgICAgICAgIHByb3RvY29sIEZvbyB7Ci0gICAg
ICAgICAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3JbXT0odGhyZWFkIEZvbyogcHRyLCB1aW50
LCBpbnQpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RydWN0IEJhciB7IH0KLSAgICAg
ICAgICAgIGludCBvcGVyYXRvcltdKEJhciwgdWludCkgeyByZXR1cm4gNDI7IH0KLSAgICAgICAg
ICAgIEJhciBvcGVyYXRvcltdPShCYXIsIHVpbnQsIGludCkgeyByZXR1cm4gQmFyKCk7IH0KLSAg
ICAgICAgYCksCi0gICAgICAgIGUgPT4gZSBpbnN0YW5jZW9mIFdUeXBlRXJyb3IgJiYgZS5tZXNz
YWdlLmluZGV4T2YoIkNhbm5vdCBoYXZlIHNldHRlciBmb3IgcG9pbnRlciB0eXBlIikgIT0gLTEp
OwotfQotCi10ZXN0cy5pbmRleFNldHRlcldpdGhOb0dldHRlck92ZXJsb2FkSW5Qcm90b2NvbCA9
IGZ1bmN0aW9uKCkKLXsKLSAgICBjaGVja0ZhaWwoCi0gICAgICAgICgpID0+IGRvUHJlcChgCi0g
ICAgICAgICAgICBwcm90b2NvbCBGb28gewotICAgICAgICAgICAgICAgIGludCBvcGVyYXRvcltd
KGludCwgRm9vKTsKLSAgICAgICAgICAgICAgICBGb28gb3BlcmF0b3JbXT0oRm9vLCB1aW50LCBp
bnQpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RydWN0IEJhciB7IH0KLSAgICAgICAg
ICAgIGludCBvcGVyYXRvcltdKEJhciwgdWludCkgeyByZXR1cm4gNDI7IH0KLSAgICAgICAgICAg
IEJhciBvcGVyYXRvcltdPShCYXIsIHVpbnQsIGludCkgeyByZXR1cm4gQmFyKCk7IH0KLSAgICAg
ICAgYCksCi0gICAgICAgIGUgPT4gZSBpbnN0YW5jZW9mIFdUeXBlRXJyb3IgJiYgZS5tZXNzYWdl
LmluZGV4T2YoIkRpZCBub3QgZmluZCBmdW5jdGlvbiBuYW1lZCBvcGVyYXRvcltdPSB3aXRoIGFy
Z3VtZW50cyBGb28sdWludDMyIikgIT0gLTEpOwotfQotCi10ZXN0cy5pbmRleFNldHRlcldpdGhO
b0dldHRlck92ZXJsb2FkRml4ZWRJblByb3RvY29sID0gZnVuY3Rpb24oKQotewotICAgIGRvUHJl
cChgCi0gICAgICAgIHByb3RvY29sIEZvbyB7Ci0gICAgICAgICAgICBpbnQgb3BlcmF0b3JbXShG
b28sIHVpbnQpOwotICAgICAgICAgICAgRm9vIG9wZXJhdG9yW109KEZvbywgdWludCwgaW50KTsK
LSAgICAgICAgfQotICAgICAgICBzdHJ1Y3QgQmFyIHsgfQotICAgICAgICBpbnQgb3BlcmF0b3Jb
XShCYXIsIHVpbnQpIHsgcmV0dXJuIDQyOyB9Ci0gICAgICAgIEJhciBvcGVyYXRvcltdPShCYXIs
IHVpbnQsIGludCkgeyByZXR1cm4gQmFyKCk7IH0KLSAgICBgKTsKLX0KLQotdGVzdHMuaW5kZXhB
bmRlcldpdGhOb3RoaW5nV3JvbmdJblByb3RvY29sID0gZnVuY3Rpb24oKQotewotICAgIGxldCBw
cm9ncmFtID0gZG9QcmVwKGAKLSAgICAgICAgcHJvdG9jb2wgRm9vIHsKLSAgICAgICAgICAgIHRo
cmVhZCBpbnQqIG9wZXJhdG9yJltdKHRocmVhZCBGb28qIGZvbywgdWludCk7Ci0gICAgICAgIH0K
LSAgICAgICAgaW50IGJhcjxUOkZvbz4oVCB4KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1
cm4geFs0Ml07Ci0gICAgICAgIH0KLSAgICAgICAgc3RydWN0IEJhciB7IH0KLSAgICAgICAgdGhy
ZWFkIGludCogb3BlcmF0b3ImW10odGhyZWFkIEJhciosIHVpbnQpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIGludCByZXN1bHQgPSAxMjM0OwotICAgICAgICAgICAgcmV0dXJuICZyZXN1bHQ7Ci0g
ICAgICAgIH0KLSAgICAgICAgaW50IGZvbygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVy
biBiYXIoQmFyKCkpOwotICAgICAgICB9Ci0gICAgYCk7Ci0gICAgY2hlY2tJbnQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW10pLCAxMjM0KTsKLX0KLQotdGVzdHMu
aW5kZXhBbmRlcldpdGhXcm9uZ051bWJlck9mQXJndW1lbnRzSW5Qcm90b2NvbCA9IGZ1bmN0aW9u
KCkKLXsKLSAgICBjaGVja0ZhaWwoCi0gICAgICAgICgpID0+IGRvUHJlcChgCi0gICAgICAgICAg
ICBwcm90b2NvbCBGb28gewotICAgICAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltd
KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJ1Y3QgQmFyIHsgfQotICAgICAgICAg
ICAgdGhyZWFkIGludCogb3BlcmF0b3ImW10odGhyZWFkIEJhciosIHVpbnQpCi0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgaW50IHJlc3VsdCA9IDEyMzQ7Ci0gICAgICAgICAgICAgICAg
cmV0dXJuICZyZXN1bHQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGApLAotICAgICAgICBlID0+
IGUgaW5zdGFuY2VvZiBXVHlwZUVycm9yICYmIGUubWVzc2FnZS5pbmRleE9mKCJQcm90b2NvbCdz
IHR5cGUgdmFyaWFibGUgKEZvbykgbm90IG1lbnRpb25lZCBpbiBzaWduYXR1cmUiKSAhPSAtMSk7
Ci0gICAgY2hlY2tGYWlsKAotICAgICAgICAoKSA9PiBkb1ByZXAoYAotICAgICAgICAgICAgcHJv
dG9jb2wgRm9vIHsKLSAgICAgICAgICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZbXSh0aHJl
YWQgRm9vKiBmb28pOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RydWN0IEJhciB7IH0K
LSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRocmVhZCBCYXIqLCB1aW50KQot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGludCByZXN1bHQgPSAxMjM0OwotICAgICAg
ICAgICAgICAgIHJldHVybiAmcmVzdWx0OwotICAgICAgICAgICAgfQotICAgICAgICBgKSwKLSAg
ICAgICAgZSA9PiBlIGluc3RhbmNlb2YgV1R5cGVFcnJvciAmJiBlLm1lc3NhZ2UuaW5kZXhPZigi
SW5jb3JyZWN0IG51bWJlciBvZiBwYXJhbWV0ZXJzIGZvciBvcGVyYXRvciZbXSIpICE9IC0xKTsK
LSAgICBjaGVja0ZhaWwoCi0gICAgICAgICgpID0+IGRvUHJlcChgCi0gICAgICAgICAgICBwcm90
b2NvbCBGb28gewotICAgICAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRocmVh
ZCBGb28qIGZvbywgdWludCwgdWludCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJ1
Y3QgQmFyIHsgfQotICAgICAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImW10odGhyZWFkIEJh
ciosIHVpbnQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgaW50IHJlc3VsdCA9IDEy
MzQ7Ci0gICAgICAgICAgICAgICAgcmV0dXJuICZyZXN1bHQ7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIGApLAotICAgICAgICBlID0+IGUgaW5zdGFuY2VvZiBXVHlwZUVycm9yICYmIGUubWVzc2Fn
ZS5pbmRleE9mKCJJbmNvcnJlY3QgbnVtYmVyIG9mIHBhcmFtZXRlcnMgZm9yIG9wZXJhdG9yJltd
IikgIT0gLTEpOwotfQotCi10ZXN0cy5pbmRleEFuZGVyRG9lc250UmV0dXJuUG9pbnRlckluUHJv
dG9jb2wgPSBmdW5jdGlvbigpCi17Ci0gICAgY2hlY2tGYWlsKAotICAgICAgICAoKSA9PiBkb1By
ZXAoYAotICAgICAgICAgICAgcHJvdG9jb2wgRm9vIHsKLSAgICAgICAgICAgICAgICBpbnQgb3Bl
cmF0b3ImW10odGhyZWFkIEZvbyogZm9vLCB1aW50KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIHN0cnVjdCBCYXIgeyB9Ci0gICAgICAgICAgICB0aHJlYWQgaW50KiBvcGVyYXRvciZbXSh0
aHJlYWQgQmFyKiwgdWludCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBpbnQgcmVz
dWx0ID0gMTIzNDsKLSAgICAgICAgICAgICAgICByZXR1cm4gJnJlc3VsdDsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgYCksCi0gICAgICAgIGUgPT4gZSBpbnN0YW5jZW9mIFdUeXBlRXJyb3IgJiYg
ZS5tZXNzYWdlLmluZGV4T2YoIlJldHVybiB0eXBlIG9mIGFuZGVyIGlzIG5vdCBhIHBvaW50ZXIi
KSAhPSAtMSk7Ci19Ci0KLXRlc3RzLmluZGV4QW5kZXJEb2VzbnRUYWtlUmVmZXJlbmNlSW5Qcm90
b2NvbCA9IGZ1bmN0aW9uKCkKLXsKLSAgICBjaGVja0ZhaWwoCi0gICAgICAgICgpID0+IGRvUHJl
cChgCi0gICAgICAgICAgICBwcm90b2NvbCBGb28gewotICAgICAgICAgICAgICAgIHRocmVhZCBp
bnQqIG9wZXJhdG9yJltdKEZvbyBmb28sIHVpbnQpOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgc3RydWN0IEJhciB7IH0KLSAgICAgICAgICAgIHRocmVhZCBpbnQqIG9wZXJhdG9yJltdKHRo
cmVhZCBCYXIqLCB1aW50KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGludCByZXN1
bHQgPSAxMjM0OwotICAgICAgICAgICAgICAgIHJldHVybiAmcmVzdWx0OwotICAgICAgICAgICAg
fQotICAgICAgICBgKSwKLSAgICAgICAgZSA9PiBlIGluc3RhbmNlb2YgV1R5cGVFcnJvciAmJiBl
Lm1lc3NhZ2UuaW5kZXhPZigiUGFyYW1ldGVyIHRvIGFuZGVyIGlzIG5vdCBhIHJlZmVyZW5jZSIp
ICE9IC0xKTsKLX0KLQotdGVzdHMuaW5kZXhBbmRlcldpdGhBcnJheVJlZkluUHJvdG9jb2wgPSBm
dW5jdGlvbigpCi17Ci0gICAgbGV0IHByb2dyYW0gPSBkb1ByZXAoYAotICAgICAgICBwcm90b2Nv
bCBGb28gewotICAgICAgICAgICAgdGhyZWFkIGludCogb3BlcmF0b3ImW10odGhyZWFkIEZvb1td
IGFycmF5LCBmbG9hdCBpbmRleCk7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGJhcjxUOkZvbz4o
dGhyZWFkIFRbXSB4KQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4geFsxLjVdOwotICAg
ICAgICB9Ci0gICAgICAgIHN0cnVjdCBCYXIgeyB9Ci0gICAgICAgIHRocmVhZCBpbnQqIG9wZXJh
dG9yJltdKHRocmVhZCBCYXJbXSwgZmxvYXQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGludCBy
ZXN1bHQgPSAxMjM0OwotICAgICAgICAgICAgcmV0dXJuICZyZXN1bHQ7Ci0gICAgICAgIH0KLSAg
ICAgICAgaW50IGZvbygpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEJhciB4OwotICAgICAgICAg
ICAgcmV0dXJuIGJhcihAeCk7Ci0gICAgICAgIH0KLSAgICBgKTsKLSAgICBjaGVja0ludChwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbXSksIDEyMzQpOwotfQotCiB0
ZXN0cy5hbmRSZXR1cm5lZEFycmF5UmVmID0gZnVuY3Rpb24oKQogewogICAgIGxldCBwcm9ncmFt
ID0gZG9QcmVwKGAKQEAgLTY1MjIsNyArNTIzMiw3IEBAIHRlc3RzLmFuZFJldHVybmVkQXJyYXlS
ZWYgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICByZXR1cm4gKnB0cjsKICAgICAgICAgfQogICAg
IGApOwotICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwg
W10sIFtdKSwgMzU0KTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbyIsIFtdKSwgMzU0KTsKIH0KIAogb2tUb1Rlc3QgPSB0cnVlOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVHlwZS5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRp
bmdMYW5ndWFnZVJJL1R5cGUuanMKaW5kZXggN2MyODc5MTg5NTNhNWIxZDVlMzVlODUwZTMzMGYz
ODlkZjZlNzZlOC4uMjFhMzMxOTU4ZTEzNGJkOTk1ODAzYmRhODFmY2NjYzFlZmI0NGM2ZCAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVHlwZS5qcworKysgYi9Ub29s
cy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UeXBlLmpzCkBAIC0yNSw3ICsyNSw2IEBACiAidXNl
IHN0cmljdCI7CiAKIGNsYXNzIFR5cGUgZXh0ZW5kcyBOb2RlIHsKLSAgICBnZXQgdHlwZVBhcmFt
ZXRlcnMoKSB7IHJldHVybiBbXTsgfQogICAgIGdldCBraW5kKCkgeyByZXR1cm4gVHlwZTsgfQog
ICAgIGdldCBpc1B0cigpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgZ2V0IGlzQXJyYXkoKSB7IHJl
dHVybiBmYWxzZTsgfQpAQCAtMzcsMTUgKzM2LDYgQEAgY2xhc3MgVHlwZSBleHRlbmRzIE5vZGUg
ewogICAgIGdldCBpc0VudW0oKSB7IHJldHVybiBmYWxzZTsgfQogICAgIGdldCBpc1ByaW1pdGl2
ZSgpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgCi0gICAgaW5oZXJpdHMocHJvdG9jb2wpCi0gICAg
ewotICAgICAgICBpZiAoIXByb3RvY29sKQotICAgICAgICAgICAgcmV0dXJuIHtyZXN1bHQ6IHRy
dWV9OwotICAgICAgICByZXR1cm4gcHJvdG9jb2wuaGFzSGVpcih0aGlzKTsKLSAgICB9Ci0gICAg
Ci0gICAgZ2V0IGluc3RhbnRpYXRlZFR5cGUoKSB7IHJldHVybiB0aGlzLnZpc2l0KG5ldyBJbnN0
YW50aWF0ZUltbWVkaWF0ZXMoKSk7IH0KLSAgICAKICAgICAvLyBIYXZlIHRvIGNhbGwgdGhlc2Ug
b24gdGhlIHVuaWZ5Tm9kZS4KICAgICBhcmd1bWVudEZvckFuZE92ZXJsb2FkKG9yaWdpbiwgdmFs
dWUpCiAgICAgewpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVHlw
ZURlZi5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1R5cGVEZWYuanMKaW5kZXgg
NmMwZjljMTc0ZjUzMjM1NjQxZjRjZDMwMmNhYjRjM2FhYjI3YzE0My4uMWRlMmQ3NGViYzY2MGRi
NzdmMzVjYzQ2ZDZlYjhmZDM2YzU4N2YxNiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGlu
Z0xhbmd1YWdlUkkvVHlwZURlZi5qcworKysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VS
SS9UeXBlRGVmLmpzCkBAIC0yNSwyMyArMjUsMjIgQEAKICJ1c2Ugc3RyaWN0IjsKIAogY2xhc3Mg
VHlwZURlZiBleHRlbmRzIFR5cGUgewotICAgIGNvbnN0cnVjdG9yKG9yaWdpbiwgbmFtZSwgdHlw
ZVBhcmFtZXRlcnMsIHR5cGUpCisgICAgY29uc3RydWN0b3Iob3JpZ2luLCBuYW1lLCB0eXBlKQog
ICAgIHsKICAgICAgICAgc3VwZXIoKTsKICAgICAgICAgdGhpcy5fb3JpZ2luID0gb3JpZ2luOwog
ICAgICAgICB0aGlzLl9uYW1lID0gbmFtZTsKLSAgICAgICAgdGhpcy5fdHlwZVBhcmFtZXRlcnMg
PSB0eXBlUGFyYW1ldGVyczsKICAgICAgICAgdGhpcy5fdHlwZSA9IHR5cGU7CiAgICAgfQogICAg
IAorICAgIGdldCB1bmlmeU5vZGUoKSB7IHJldHVybiB0aGlzLnR5cGUudW5pZnlOb2RlOyB9CiAg
ICAgZ2V0IG9yaWdpbigpIHsgcmV0dXJuIHRoaXMuX29yaWdpbjsgfQogICAgIGdldCBuYW1lKCkg
eyByZXR1cm4gdGhpcy5fbmFtZTsgfQotICAgIGdldCB0eXBlUGFyYW1ldGVycygpIHsgcmV0dXJu
IHRoaXMuX3R5cGVQYXJhbWV0ZXJzOyB9CiAgICAgZ2V0IHR5cGUoKSB7IHJldHVybiB0aGlzLl90
eXBlOyB9CiAgICAgCiAgICAgdG9TdHJpbmcoKQogICAgIHsKLSAgICAgICAgcmV0dXJuICJ0eXBl
ZGVmICIgKyB0aGlzLm5hbWUgKyAiPCIgKyB0aGlzLnR5cGVQYXJhbWV0ZXJzICsgIj4gPSAiICsg
dGhpcy50eXBlOworICAgICAgICByZXR1cm4gYHR5cGVkZWYgJHt0aGlzLm5hbWV9ID0gJHt0aGlz
LnR5cGV9YDsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5n
dWFnZVJJL1R5cGVEZWZSZXNvbHZlci5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJ
L1R5cGVEZWZSZXNvbHZlci5qcwppbmRleCBhODFlYWI0MmQ5NDhmY2EzZTkzMGM2ODU3YTk2NGRk
Y2NmY2VlNTdmLi41M2Y5NWM0MDlkMDZhYmIxODcyZWJiMDRmMDZmMWU0NmE4YmIxMjA4IDEwMDY0
NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UeXBlRGVmUmVzb2x2ZXIuanMK
KysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVHlwZURlZlJlc29sdmVyLmpzCkBA
IC0zNCwxOSArMzQsOCBAQCBjbGFzcyBUeXBlRGVmUmVzb2x2ZXIgZXh0ZW5kcyBWaXNpdG9yIHsK
ICAgICB2aXNpdFR5cGVSZWYobm9kZSkKICAgICB7CiAgICAgICAgIHRoaXMuX3Zpc2l0aW5nLmRv
VmlzaXQobm9kZSwgKCkgPT4gewotICAgICAgICAgICAgZm9yIChsZXQgdHlwZUFyZ3VtZW50IG9m
IG5vZGUudHlwZUFyZ3VtZW50cykKLSAgICAgICAgICAgICAgICB0eXBlQXJndW1lbnQudmlzaXQo
dGhpcyk7CiAgICAgICAgICAgICBpZiAobm9kZS50eXBlIGluc3RhbmNlb2YgVHlwZURlZikgewot
ICAgICAgICAgICAgICAgIGxldCB1bmlmaWNhdGlvbkNvbnRleHQgPSBuZXcgVW5pZmljYXRpb25D
b250ZXh0KG5vZGUudHlwZS50eXBlUGFyYW1ldGVycyk7Ci0gICAgICAgICAgICAgICAgaWYgKG5v
ZGUudHlwZUFyZ3VtZW50cy5sZW5ndGggIT0gbm9kZS50eXBlLnR5cGVQYXJhbWV0ZXJzLmxlbmd0
aCkKLSAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJhcmd1bWVudC9wYXJhbWV0
ZXIgbWlzbWF0Y2ggKHNob3VsZCBoYXZlIGJlZW4gY2F1Z2h0IGVhcmxpZXIpIik7Ci0gICAgICAg
ICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBub2RlLnR5cGVBcmd1bWVudHMubGVuZ3RoOyAr
K2kpCi0gICAgICAgICAgICAgICAgICAgIG5vZGUudHlwZUFyZ3VtZW50c1tpXS51bmlmeSh1bmlm
aWNhdGlvbkNvbnRleHQsIG5vZGUudHlwZS50eXBlUGFyYW1ldGVyc1tpXSk7Ci0gICAgICAgICAg
ICAgICAgbGV0IHZlcmlmaWNhdGlvblJlc3VsdCA9IHVuaWZpY2F0aW9uQ29udGV4dC52ZXJpZnko
KTsKLSAgICAgICAgICAgICAgICBpZiAoIXZlcmlmaWNhdGlvblJlc3VsdC5yZXN1bHQpCi0gICAg
ICAgICAgICAgICAgICAgIHRocm93IG5ldyBXVHlwZUVycm9yKG5vZGUub3JpZ2luLm9yaWdpblN0
cmluZywgIlR5cGUgcmVmZXJlbmNlIHRvIGEgdHlwZSBkZWZpbml0aW9uIHZpb2xhdGVzIHByb3Rv
Y29sIGNvbnN0cmFpbnRzOiAiICsgdmVyaWZpY2F0aW9uUmVzdWx0LnJlYXNvbik7Ci0gICAgICAg
ICAgICAgICAgCi0gICAgICAgICAgICAgICAgbGV0IG5ld1R5cGUgPSBub2RlLnR5cGUudHlwZS5z
dWJzdGl0dXRlVG9VbmlmaWNhdGlvbihub2RlLnR5cGUudHlwZVBhcmFtZXRlcnMsIHVuaWZpY2F0
aW9uQ29udGV4dCk7CisgICAgICAgICAgICAgICAgbGV0IG5ld1R5cGUgPSBub2RlLnR5cGUudHlw
ZTsKICAgICAgICAgICAgICAgICBuZXdUeXBlLnZpc2l0KHRoaXMpOwogICAgICAgICAgICAgICAg
IG5vZGUuc2V0VHlwZUFuZEFyZ3VtZW50cyhuZXdUeXBlLCBbXSk7CiAgICAgICAgICAgICB9CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UeXBlT3JWYXJpYWJsZVJl
Zi5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1R5cGVPclZhcmlhYmxlUmVmLmpz
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNWY1OWY5MDA2NmZkYjBiN2M3YmI3MmVh
NjE4YTcxMTIzMGQxZTZlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1R5cGVPclZhcmlhYmxlUmVmLmpz
CisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBzdHJpY3QiOwotCi1jbGFzcyBUeXBlT3JWYXJpYWJs
ZVJlZiBleHRlbmRzIE5vZGUgewotICAgIGNvbnN0cnVjdG9yKG9yaWdpbiwgbmFtZSkKLSAgICB7
Ci0gICAgICAgIHN1cGVyKCk7Ci0gICAgICAgIHRoaXMuX29yaWdpbiA9IG9yaWdpbjsKLSAgICAg
ICAgdGhpcy5fbmFtZSA9IG5hbWU7Ci0gICAgfQotICAgIAotICAgIGdldCBvcmlnaW4oKSB7IHJl
dHVybiB0aGlzLl9vcmlnaW47IH0KLSAgICBnZXQgbmFtZSgpIHsgcmV0dXJuIHRoaXMuX25hbWU7
IH0KLQotICAgIHRvU3RyaW5nKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLm5hbWU7Ci0g
ICAgfQotfQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVHlwZVBh
cmFtZXRlclJld3JpdGVyLmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVHlwZVBh
cmFtZXRlclJld3JpdGVyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYmQwMzdj
OTI3Mjc1MTYwZmM0NWViMmY5YTg2NjkxNzc3MTE2YmEwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1R5
cGVQYXJhbWV0ZXJSZXdyaXRlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsK
LQotY2xhc3MgVHlwZVBhcmFtZXRlclJld3JpdGVyIHsKLSAgICB2aXNpdENvbnN0ZXhwclR5cGVQ
YXJhbWV0ZXIobm9kZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBuZXcgQ29uc3RleHByVHlwZVBh
cmFtZXRlcihub2RlLm9yaWdpbiwgbm9kZS5uYW1lLCBub2RlLnR5cGUudmlzaXQobmV3IFJld3Jp
dGVyKCkpKTsKLSAgICB9Ci0gICAgCi0gICAgdmlzaXRUeXBlVmFyaWFibGUobm9kZSkKLSAgICB7
Ci0gICAgICAgIHJldHVybiBuZXcgVHlwZVZhcmlhYmxlKG5vZGUub3JpZ2luLCBub2RlLm5hbWUs
IG5vZGUucHJvdG9jb2wpOwotICAgIH0KLX0KLQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hh
ZGluZ0xhbmd1YWdlUkkvVHlwZVJlZi5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJ
L1R5cGVSZWYuanMKaW5kZXggZjJiMzIyZjNhZjZhNzMwODYxNDFlNTZkNjkzZWZjZTFjMzUxZGFm
Yy4uN2QyZDg2OTBiYTE4OGYxMjQxZDY5MDIxMWE0OGI3MjE2NTg5ZmE1MSAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVHlwZVJlZi5qcworKysgYi9Ub29scy9XZWJH
UFVTaGFkaW5nTGFuZ3VhZ2VSSS9UeXBlUmVmLmpzCkBAIC0yNSw2OSArMjUsNTggQEAKICJ1c2Ug
c3RyaWN0IjsKIAogY2xhc3MgVHlwZVJlZiBleHRlbmRzIFR5cGUgewotICAgIGNvbnN0cnVjdG9y
KG9yaWdpbiwgbmFtZSwgdHlwZUFyZ3VtZW50cykKKyAgICBjb25zdHJ1Y3RvcihvcmlnaW4sIG5h
bWUpCiAgICAgewogICAgICAgICBzdXBlcigpOwogICAgICAgICB0aGlzLl9vcmlnaW4gPSBvcmln
aW47CiAgICAgICAgIHRoaXMuX25hbWUgPSBuYW1lOwogICAgICAgICB0aGlzLnR5cGUgPSBudWxs
OwotICAgICAgICB0aGlzLl90eXBlQXJndW1lbnRzID0gdHlwZUFyZ3VtZW50czsKICAgICB9CiAg
ICAgCiAgICAgc3RhdGljIHdyYXAodHlwZSkKICAgICB7Ci0gICAgICAgIGlmICh0eXBlIGluc3Rh
bmNlb2YgVHlwZVJlZiAmJiAhdHlwZS50eXBlQXJndW1lbnRzKQorICAgICAgICBpZiAodHlwZSBp
bnN0YW5jZW9mIFR5cGVSZWYpCiAgICAgICAgICAgICByZXR1cm4gdHlwZTsKICAgICAgICAgbGV0
IG5hbWUgPSB0eXBlLm5hbWU7Ci0gICAgICAgIGxldCByZXN1bHQgPSBuZXcgVHlwZVJlZih0eXBl
Lm9yaWdpbiwgbmFtZSwgW10pOworICAgICAgICBsZXQgcmVzdWx0ID0gbmV3IFR5cGVSZWYodHlw
ZS5vcmlnaW4sIG5hbWUpOwogICAgICAgICByZXN1bHQudHlwZSA9IHR5cGU7CiAgICAgICAgIHJl
dHVybiByZXN1bHQ7CiAgICAgfQogICAgIAotICAgIHN0YXRpYyBpbnN0YW50aWF0ZSh0eXBlLCB0
eXBlQXJndW1lbnRzKQorICAgIHN0YXRpYyBpbnN0YW50aWF0ZSh0eXBlKQogICAgIHsKLSAgICAg
ICAgbGV0IHJlc3VsdCA9IG5ldyBUeXBlUmVmKHR5cGUub3JpZ2luLCB0eXBlLm5hbWUsIHR5cGVB
cmd1bWVudHMpOworICAgICAgICBsZXQgcmVzdWx0ID0gbmV3IFR5cGVSZWYodHlwZS5vcmlnaW4s
IHR5cGUubmFtZSwgW10pOwogICAgICAgICByZXN1bHQudHlwZSA9IHR5cGU7CiAgICAgICAgIHJl
dHVybiByZXN1bHQ7CiAgICAgfQogIAogICAgIGdldCBvcmlnaW4oKSB7IHJldHVybiB0aGlzLl9v
cmlnaW47IH0KICAgICBnZXQgbmFtZSgpIHsgcmV0dXJuIHRoaXMuX25hbWU7IH0KLSAgICBnZXQg
dHlwZUFyZ3VtZW50cygpIHsgcmV0dXJuIHRoaXMuX3R5cGVBcmd1bWVudHM7IH0KICAgICAKICAg
ICBnZXQgdW5pZnlOb2RlKCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy50eXBlQXJndW1lbnRz
Lmxlbmd0aCkKLSAgICAgICAgICAgIHJldHVybiB0aGlzLnR5cGUudW5pZnlOb2RlOwotICAgICAg
ICByZXR1cm4gdGhpczsKKyAgICAgICAgcmV0dXJuIHRoaXMudHlwZS51bmlmeU5vZGU7CiAgICAg
fQogICAgIAogICAgIHBvcHVsYXRlRGVmYXVsdFZhbHVlKGJ1ZmZlciwgb2Zmc2V0KQogICAgIHsK
LSAgICAgICAgaWYgKCF0aGlzLnR5cGVBcmd1bWVudHMubGVuZ3RoKQotICAgICAgICAgICAgcmV0
dXJuIHRoaXMudHlwZS5wb3B1bGF0ZURlZmF1bHRWYWx1ZShidWZmZXIsIG9mZnNldCk7Ci0gICAg
ICAgIHRocm93IG5ldyBFcnJvcigiQ2Fubm90IGdldCBkZWZhdWx0IHZhbHVlIG9mIGEgdHlwZSBp
bnN0YW50aWF0aW9uIik7CisgICAgICAgIHJldHVybiB0aGlzLnR5cGUucG9wdWxhdGVEZWZhdWx0
VmFsdWUoYnVmZmVyLCBvZmZzZXQpOwogICAgIH0KICAgICAKICAgICBnZXQgc2l6ZSgpCiAgICAg
ewotICAgICAgICBpZiAoIXRoaXMudHlwZUFyZ3VtZW50cy5sZW5ndGgpCi0gICAgICAgICAgICBy
ZXR1cm4gdGhpcy50eXBlLnNpemU7Ci0gICAgICAgIHRocm93IG5ldyBFcnJvcigiQ2Fubm90IGdl
dCBzaXplIG9mIGEgdHlwZSBpbnN0YW50aWF0aW9uIik7CisgICAgICAgIHJldHVybiB0aGlzLnR5
cGUuc2l6ZTsKICAgICB9CiAgICAgCiAgICAgZ2V0IGlzUHJpbWl0aXZlKCkKICAgICB7Ci0gICAg
ICAgIGlmICghdGhpcy50eXBlQXJndW1lbnRzLmxlbmd0aCkKLSAgICAgICAgICAgIHJldHVybiB0
aGlzLnR5cGUuaXNQcmltaXRpdmU7Ci0gICAgICAgIHRocm93IG5ldyBFcnJvcigiQ2Fubm90IGRl
dGVybWluZSBpZiBhbiB1bmluc3RhbnRpYXRlZCB0eXBlIGlzIHByaW1pdGl2ZTogIiArIHRoaXMp
OworICAgICAgICByZXR1cm4gdGhpcy50eXBlLmlzUHJpbWl0aXZlOwogICAgIH0KICAgICAKLSAg
ICBzZXRUeXBlQW5kQXJndW1lbnRzKHR5cGUsIHR5cGVBcmd1bWVudHMpCisgICAgc2V0VHlwZSh0
eXBlKQogICAgIHsKICAgICAgICAgdGhpcy5fbmFtZSA9IG51bGw7CiAgICAgICAgIHRoaXMudHlw
ZSA9IHR5cGU7Ci0gICAgICAgIHRoaXMuX3R5cGVBcmd1bWVudHMgPSB0eXBlQXJndW1lbnRzOwog
ICAgIH0KICAgICAKICAgICB1bmlmeUltcGwodW5pZmljYXRpb25Db250ZXh0LCBvdGhlcikKQEAg
LTk2LDEyICs4NSw2IEBAIGNsYXNzIFR5cGVSZWYgZXh0ZW5kcyBUeXBlIHsKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgaWYgKCF0aGlzLnR5cGUudW5pZnkodW5pZmljYXRpb25D
b250ZXh0LCBvdGhlci50eXBlKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
aWYgKHRoaXMudHlwZUFyZ3VtZW50cy5sZW5ndGggIT0gb3RoZXIudHlwZUFyZ3VtZW50cy5sZW5n
dGgpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGZvciAobGV0IGkgPSAwOyBp
IDwgdGhpcy50eXBlQXJndW1lbnRzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICBpZiAoIXRo
aXMudHlwZUFyZ3VtZW50c1tpXS51bmlmeSh1bmlmaWNhdGlvbkNvbnRleHQsIG90aGVyLnR5cGVB
cmd1bWVudHNbaV0pKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgCkBAIC0xMDksOSArOTIsNyBAQCBjbGFz
cyBUeXBlUmVmIGV4dGVuZHMgVHlwZSB7CiAgICAgewogICAgICAgICBpZiAoIXRoaXMubmFtZSkK
ICAgICAgICAgICAgIHJldHVybiB0aGlzLnR5cGUudG9TdHJpbmcoKTsKLSAgICAgICAgaWYgKCF0
aGlzLnR5cGVBcmd1bWVudHMubGVuZ3RoKQotICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFtZTsK
LSAgICAgICAgcmV0dXJuIHRoaXMubmFtZSArICI8IiArIHRoaXMudHlwZUFyZ3VtZW50cyArICI+
IjsKKyAgICAgICAgcmV0dXJuIHRoaXMubmFtZTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1R5cGVWYXJpYWJsZS5qcyBiL1Rvb2xzL1dlYkdQ
VVNoYWRpbmdMYW5ndWFnZVJJL1R5cGVWYXJpYWJsZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMzMyMThhOTU5ZjUxZDFlZWI5ZDA1MTRiOTUwZGVjOTY3MmZhMGI3ZS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9XZWJHUFVTaGFk
aW5nTGFuZ3VhZ2VSSS9UeXBlVmFyaWFibGUuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMDYgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgot
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBz
dHJpY3QiOwotCi1jbGFzcyBUeXBlVmFyaWFibGUgZXh0ZW5kcyBUeXBlIHsKLSAgICBjb25zdHJ1
Y3RvcihvcmlnaW4sIG5hbWUsIHByb3RvY29sKQotICAgIHsKLSAgICAgICAgc3VwZXIoKTsKLSAg
ICAgICAgdGhpcy5fb3JpZ2luID0gb3JpZ2luOwotICAgICAgICB0aGlzLl9uYW1lID0gbmFtZTsK
LSAgICAgICAgdGhpcy5fcHJvdG9jb2wgPSBwcm90b2NvbDsKLSAgICB9Ci0gICAgCi0gICAgZ2V0
IG9yaWdpbigpIHsgcmV0dXJuIHRoaXMuX29yaWdpbjsgfQotICAgIGdldCBuYW1lKCkgeyByZXR1
cm4gdGhpcy5fbmFtZTsgfQotICAgIGdldCBwcm90b2NvbCgpIHsgcmV0dXJuIHRoaXMuX3Byb3Rv
Y29sOyB9Ci0gICAgCi0gICAgZ2V0IGlzUHJpbWl0aXZlKCkKLSAgICB7Ci0gICAgICAgIHJldHVy
biB0aGlzLl9wcm90b2NvbCAmJiB0aGlzLl9wcm90b2NvbC5pc1ByaW1pdGl2ZTsKLSAgICB9Ci0g
ICAgCi0gICAgZ2V0IGlzVW5pZmlhYmxlKCkgeyByZXR1cm4gdHJ1ZTsgfQotICAgIAotICAgIGlu
aGVyaXRzKHByb3RvY29sKQotICAgIHsKLSAgICAgICAgaWYgKCFwcm90b2NvbCkKLSAgICAgICAg
ICAgIHJldHVybiB7cmVzdWx0OiB0cnVlfTsKLSAgICAgICAgaWYgKCF0aGlzLnByb3RvY29sKQot
ICAgICAgICAgICAgcmV0dXJuIHtyZXN1bHQ6IGZhbHNlLCByZWFzb246ICJUeXBlIHZhcmlhYmxl
ICIgKyB0aGlzICsgIiBkb2VzIG5vdCBoYXZlIGEgcHJvdG9jb2wifTsKLSAgICAgICAgcmV0dXJu
IHRoaXMucHJvdG9jb2wuaW5oZXJpdHMocHJvdG9jb2wpOwotICAgIH0KLSAgICAKLSAgICB0eXBl
VmFyaWFibGVVbmlmeSh1bmlmaWNhdGlvbkNvbnRleHQsIG90aGVyKQotICAgIHsKLSAgICAgICAg
aWYgKCEob3RoZXIgaW5zdGFuY2VvZiBUeXBlKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICAgICAgCi0gICAgICAgIHJldHVybiB0aGlzLl90eXBlVmFyaWFibGVVbmlmeUltcGwodW5p
ZmljYXRpb25Db250ZXh0LCBvdGhlcik7Ci0gICAgfQotICAgIAotICAgIHVuaWZ5SW1wbCh1bmlm
aWNhdGlvbkNvbnRleHQsIG90aGVyKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMudHlwZVZh
cmlhYmxlVW5pZnkodW5pZmljYXRpb25Db250ZXh0LCBvdGhlcik7Ci0gICAgfQotICAgIAotICAg
IHZlcmlmeUFzQXJndW1lbnQodW5pZmljYXRpb25Db250ZXh0KQotICAgIHsKLSAgICAgICAgbGV0
IHJlYWxUaGlzID0gdW5pZmljYXRpb25Db250ZXh0LmZpbmQodGhpcyk7Ci0gICAgICAgIAotICAg
ICAgICAvLyBUaGUgdGhpbmcgd2UgZ2V0IHVuaWZpZWQgd2l0aCBtdXN0IGJlIGEgdHlwZSB2YXJp
YWJsZSB0aGF0IGFjY2VwdHMgYSBicm9hZGVyIHNldCBvZgotICAgICAgICAvLyB0aGluZ3MgdGhh
biB3ZSBkby4KLSAgICAgICAgaWYgKCEocmVhbFRoaXMgaW5zdGFuY2VvZiBUeXBlVmFyaWFibGUp
KQotICAgICAgICAgICAgcmV0dXJuIHtyZXN1bHQ6IGZhbHNlLCByZWFzb246ICJUeXBlIHZhcmlh
YmxlIGFyZ3VtZW50ICIgKyB0aGlzICsgIiBjYW5ub3QgYmUgcGFzc2VkIHRvIG5vbi10eXBlLXZh
cmlhYmxlIHBhcmFtZXRlciB0eXBlICIgKyByZWFsVGhpc307Ci0gICAgICAgIAotICAgICAgICBp
ZiAoIXRoaXMucHJvdG9jb2wpIHsKLSAgICAgICAgICAgIGlmIChyZWFsVGhpcy5wcm90b2NvbCkK
LSAgICAgICAgICAgICAgICByZXR1cm4ge3Jlc3VsdDogZmFsc2UsIHJlYXNvbjogIlR5cGUgdmFy
aWFibGUgd2l0aG91dCBwcm90b2NvbCAiICsgdGhpcyArICIgY2Fubm90IGJlIHBhc3NlZCB0byBw
YXJhbWV0ZXIgdHlwZSB2YXJpYWJsZSB3aXRoIHByb3RvY29sICIgKyByZWFsVGhpcy5wcm90b2Nv
bH07Ci0gICAgICAgICAgICByZXR1cm4ge3Jlc3VsdDogdHJ1ZX07Ci0gICAgICAgIH0KLSAgICAg
ICAgCi0gICAgICAgIGxldCByZXN1bHQgPSB0aGlzLnByb3RvY29sLmluaGVyaXRzKHJlYWxUaGlz
LnByb3RvY29sKTsKLSAgICAgICAgaWYgKCFyZXN1bHQucmVzdWx0KQotICAgICAgICAgICAgcmV0
dXJuIHtyZXN1bHQ6IGZhbHNlLCByZWFzb246ICJQcm90b2NvbCAiICsgdGhpcy5wcm90b2NvbCAr
ICIgZG9lcyBub3Qgc3Vic3VtZSBwcm90b2NvbCAiICsgcmVhbFRoaXMucHJvdG9jb2wgKyAiIChw
YXNzaW5nIHR5cGUgIiArIHRoaXMgKyAiIHRvIHR5cGUgIiArIHJlYWxUaGlzICsgIik6ICIgKyBy
ZXN1bHQucmVhc29ufTsKLSAgICAgICAgcmV0dXJuIHtyZXN1bHQ6IHRydWV9OwotICAgIH0KLSAg
ICAKLSAgICB2ZXJpZnlBc1BhcmFtZXRlcih1bmlmaWNhdGlvbkNvbnRleHQpCi0gICAgewotICAg
ICAgICBpZiAoIXRoaXMucHJvdG9jb2wpCi0gICAgICAgICAgICByZXR1cm4ge3Jlc3VsdDogdHJ1
ZX07Ci0gICAgICAgIGxldCByZWFsVGhpcyA9IHVuaWZpY2F0aW9uQ29udGV4dC5maW5kKHRoaXMp
OwotICAgICAgICBsZXQgcmVzdWx0ID0gcmVhbFRoaXMuaW5oZXJpdHModGhpcy5wcm90b2NvbCk7
Ci0gICAgICAgIGlmICghcmVzdWx0LnJlc3VsdCkKLSAgICAgICAgICAgIHJldHVybiB7cmVzdWx0
OiBmYWxzZSwgcmVhc29uOiAiVHlwZSAiICsgcmVhbFRoaXMgKyAiIGRvZXMgbm90IGluaGVyaXQg
cHJvdG9jb2wgIiArIHRoaXMucHJvdG9jb2wgKyAiIChwYXNzaW5nIHR5cGUgIiArIHJlYWxUaGlz
ICsgIiB0byB0eXBlICIgKyB0aGlzICsgIik6ICIgKyByZXN1bHQucmVhc29ufTsKLSAgICAgICAg
cmV0dXJuIHtyZXN1bHQ6IHRydWV9OwotICAgIH0KLSAgICAKLSAgICB0b1N0cmluZygpCi0gICAg
ewotICAgICAgICByZXR1cm4gdGhpcy5uYW1lICsgKHRoaXMucHJvdG9jb2wgPyAiOiIgKyB0aGlz
LnByb3RvY29sLm5hbWUgOiAiIik7Ci0gICAgfQotfQotCmRpZmYgLS1naXQgYS9Ub29scy9XZWJH
UFVTaGFkaW5nTGFuZ3VhZ2VSSS9UeXBlVmFyaWFibGVUcmFja2VyLmpzIGIvVG9vbHMvV2ViR1BV
U2hhZGluZ0xhbmd1YWdlUkkvVHlwZVZhcmlhYmxlVHJhY2tlci5qcwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMmU5ZTI5YWFlMTQ1NDkyN2NkMGQ1MTM5YzA4NTIzOTFmODM1ZjdjNy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9XZWJH
UFVTaGFkaW5nTGFuZ3VhZ2VSSS9UeXBlVmFyaWFibGVUcmFja2VyLmpzCisrKyAvZGV2L251bGwK
QEAgLTEsNTcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
LSAqLwotInVzZSBzdHJpY3QiOwotCi1jbGFzcyBUeXBlVmFyaWFibGVUcmFja2VyIGV4dGVuZHMg
VmlzaXRvciB7Ci0gICAgY29uc3RydWN0b3IoKQotICAgIHsKLSAgICAgICAgc3VwZXIoKTsKLSAg
ICAgICAgdGhpcy5fc2V0ID0gbmV3IFNldCgpOwotICAgIH0KLSAgICAKLSAgICBnZXQgc2V0KCkg
eyByZXR1cm4gdGhpcy5fc2V0OyB9Ci0gICAgCi0gICAgX2NvbnNpZGVyKHRoaW5nKQotICAgIHsK
LSAgICAgICAgaWYgKHRoaW5nLmlzVW5pZmlhYmxlKQotICAgICAgICAgICAgdGhpcy5fc2V0LmFk
ZCh0aGluZyk7Ci0gICAgfQotICAgIAotICAgIHZpc2l0VHlwZVJlZihub2RlKQotICAgIHsKLSAg
ICAgICAgaWYgKG5vZGUudHlwZUFyZ3VtZW50cy5sZW5ndGgpIHsKLSAgICAgICAgICAgIGZvciAo
bGV0IHR5cGVBcmd1bWVudCBvZiBub2RlLnR5cGVBcmd1bWVudHMpCi0gICAgICAgICAgICAgICAg
dHlwZUFyZ3VtZW50LnZpc2l0KHRoaXMpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9
Ci0gICAgICAgIHRoaXMuX2NvbnNpZGVyKG5vZGUudHlwZSk7Ci0gICAgfQotICAgIAotICAgIHZp
c2l0VmFyaWFibGVSZWYobm9kZSkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2NvbnNpZGVyKG5vZGUu
dmFyaWFibGUpOwotICAgIH0KLX0KLQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xh
bmd1YWdlUkkvVW5pZmljYXRpb25Db250ZXh0LmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1
YWdlUkkvVW5pZmljYXRpb25Db250ZXh0LmpzCmluZGV4IDBhMTNkZTQzZDUzMjZlMTM1N2M4N2Y4
ODU5ZDlkNjAxNWUwY2FkNDcuLjMwN2Y1ZDZhYjRkNjM3ZWZjYjIxZjEyZTA1MDhiMDhlYTA1ZTEw
MWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1VuaWZpY2F0aW9u
Q29udGV4dC5qcworKysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9VbmlmaWNhdGlv
bkNvbnRleHQuanMKQEAgLTI1LDkgKzI1LDggQEAKICJ1c2Ugc3RyaWN0IjsKIAogY2xhc3MgVW5p
ZmljYXRpb25Db250ZXh0IHsKLSAgICBjb25zdHJ1Y3Rvcih0eXBlUGFyYW1ldGVycykKKyAgICBj
b25zdHJ1Y3RvcigpCiAgICAgewotICAgICAgICB0aGlzLl90eXBlUGFyYW1ldGVycyA9IG5ldyBT
ZXQodHlwZVBhcmFtZXRlcnMpOwogICAgICAgICB0aGlzLl9uZXh0TWFwID0gbmV3IE1hcCgpOwog
ICAgICAgICB0aGlzLl9leHRyYU5vZGVzID0gbmV3IFNldCgpOwogICAgIH0KQEAgLTQ1LDEwICs0
NCw2IEBAIGNsYXNzIFVuaWZpY2F0aW9uQ29udGV4dCB7CiAgICAgICAgICAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCJDYW5ub3QgdW5pZnkgbm9uLXVuaWZpYWJsZSB0aGluZ3MgIiArIGEgKyAiIGFu
ZCAiICsgYik7CiAgICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0
IHR5cGUgcGFyYW1ldGVycyBkb24ndCBlbmQgdXAgYmVpbmcgcm9vdHMuCi0gICAgICAgIGlmIChh
LmlzVW5pZmlhYmxlICYmIGIuaXNVbmlmaWFibGUgJiYgdGhpcy5fdHlwZVBhcmFtZXRlcnMuaGFz
KGIpKQotICAgICAgICAgICAgW2EsIGJdID0gW2IsIGFdOwotICAgICAgICAKICAgICAgICAgdGhp
cy5fbmV4dE1hcC5zZXQoYSwgYik7CiAgICAgfQogICAgIApAQCAtODUsMTQgKzgwLDExIEBAIGNs
YXNzIFVuaWZpY2F0aW9uQ29udGV4dCB7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQog
ICAgIAotICAgIHR5cGVQYXJhbWV0ZXJzKCkgeyByZXR1cm4gdGhpcy5fdHlwZVBhcmFtZXRlcnM7
IH0KICAgICAqdHlwZUFyZ3VtZW50cygpCiAgICAgewogICAgICAgICBmb3IgKGxldCB0eXBlQXJn
dW1lbnQgb2YgdGhpcy5ub2RlcykgewogICAgICAgICAgICAgaWYgKCF0eXBlQXJndW1lbnQuaXNV
bmlmaWFibGUpCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBpZiAodGhp
cy5fdHlwZVBhcmFtZXRlcnMuaGFzKHR5cGVBcmd1bWVudCkpCi0gICAgICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgICAgICB5aWVsZCB0eXBlQXJndW1lbnQ7CiAgICAgICAgIH0KICAgICB9
CkBAIC0xMTEsMjggKzEwMyw5IEBAIGNsYXNzIFVuaWZpY2F0aW9uQ29udGV4dCB7CiAgICAgICAg
ICAgICBpZiAoIXJlc3VsdC5yZXN1bHQpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsK
ICAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZm9yIChsZXQgdHlwZVBhcmFtZXRlciBvZiB0
aGlzLl90eXBlUGFyYW1ldGVycykgewotICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHR5cGVQYXJh
bWV0ZXIudmVyaWZ5QXNQYXJhbWV0ZXIodGhpcyk7Ci0gICAgICAgICAgICBpZiAoIXJlc3VsdC5y
ZXN1bHQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICAgICAgfQotICAgICAg
ICBsZXQgbnVtVHlwZVZhcmlhYmxlQXJndW1lbnRzID0gMDsKLSAgICAgICAgbGV0IGFyZ3VtZW50
U2V0ID0gbmV3IFNldCgpOwotICAgICAgICBmb3IgKGxldCB0eXBlQXJndW1lbnQgb2YgdGhpcy50
eXBlQXJndW1lbnRzKCkpIHsKLSAgICAgICAgICAgIGxldCByZXN1bHQgPSB0eXBlQXJndW1lbnQu
dmVyaWZ5QXNBcmd1bWVudCh0aGlzKTsKLSAgICAgICAgICAgIGlmICghcmVzdWx0LnJlc3VsdCkK
LSAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgICAgICAgICAgaWYgKHR5cGVBcmd1
bWVudC5pc0xpdGVyYWwpCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBh
cmd1bWVudFNldC5hZGQodGhpcy5maW5kKHR5cGVBcmd1bWVudCkpOwotICAgICAgICAgICAgbnVt
VHlwZVZhcmlhYmxlQXJndW1lbnRzKys7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGFyZ3VtZW50
U2V0LnNpemUgPT0gbnVtVHlwZVZhcmlhYmxlQXJndW1lbnRzKQotICAgICAgICAgICAgcmV0dXJu
IHtyZXN1bHQ6IHRydWV9OwotICAgICAgICByZXR1cm4ge3Jlc3VsdDogZmFsc2UsIHJlYXNvbjog
IlR5cGUgdmFyaWFibGVzIHVzZWQgYXMgYXJndW1lbnRzIGdvdCB1bmlmaWVkIHdpdGggZWFjaCBv
dGhlciJ9OworICAgICAgICByZXR1cm4ge3Jlc3VsdDogdHJ1ZX07CiAgICAgfQotICAgIAorCiAg
ICAgZ2V0IGNvbnZlcnNpb25Db3N0KCkKICAgICB7CiAgICAgICAgIGxldCByZXN1bHQgPSAwOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVmFyaWFibGVSZWYuanMg
Yi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9WYXJpYWJsZVJlZi5qcwppbmRleCAwMDc1
OTY5M2YzNzYzYzg5MTE3ZGQ0MTFjZjA2M2EyNmEyMjU4ZGRhLi5jOWZhYTE1NmY5NzQ3NzRmZjhl
NDhkZGZhMWM3ODhmMGQ5ODZhYWI5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFu
Z3VhZ2VSSS9WYXJpYWJsZVJlZi5qcworKysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VS
SS9WYXJpYWJsZVJlZi5qcwpAQCAtNDAsNyArNDAsNyBAQCBjbGFzcyBWYXJpYWJsZVJlZiBleHRl
bmRzIEV4cHJlc3Npb24gewogICAgIH0KICAgICAKICAgICBnZXQgbmFtZSgpIHsgcmV0dXJuIHRo
aXMuX25hbWU7IH0KLSAgICBnZXQgaXNDb25zdGV4cHIoKSB7IHJldHVybiB0aGlzLnZhcmlhYmxl
LmlzQ29uc3RleHByOyB9CisgICAgZ2V0IGlzQ29uc3RleHByKCkgeyByZXR1cm4gdGhpcy52YXJp
YWJsZSAmJiB0aGlzLnZhcmlhYmxlLmlzQ29uc3RleHByOyB9CiAgICAgZ2V0IHVuaWZ5Tm9kZSgp
IHsgcmV0dXJuIHRoaXMudmFyaWFibGUudW5pZnlOb2RlOyB9IC8vIFRoaXMgb25seSBtYWtlcyBz
ZW5zZSB3aGVuIHRoaXMgaXMgYSBjb25zdGV4cHIuCiAgICAgZ2V0IGlzTFZhbHVlKCkgeyByZXR1
cm4gdGhpcy52YXJpYWJsZS52YXJJc0xWYWx1ZTsgfQogICAgIGdldCBhZGRyZXNzU3BhY2UoKSB7
IHJldHVybiAidGhyZWFkIjsgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1
YWdlUkkvVmVjdG9yVHlwZS5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1ZlY3Rv
clR5cGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNWNkYWNkYTRkYTNmYzg5MGJjYjdhNWYyMjhjNjNmYTQ4NmEz
YWJkYwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Zl
Y3RvclR5cGUuanMKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisidXNlIHN0cmljdCI7CisKK2NsYXNzIFZlY3RvclR5cGUgZXh0ZW5k
cyBOYXRpdmVQYXJhbWV0ZXJpemVkVHlwZSB7CisgICAgY29uc3RydWN0b3Iob3JpZ2luLCBuYW1l
LCB0eXBlQXJndW1lbnRzKQorICAgIHsKKyAgICAgICAgc3VwZXIob3JpZ2luLCBuYW1lLCB0eXBl
QXJndW1lbnRzKTsKKyAgICAgICAgaWYgKHR5cGVBcmd1bWVudHMubGVuZ3RoICE9IDIpCisgICAg
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFZlY3RvciB0eXBlIHRha2VzIDIgYXJndW1lbnRzLCAk
e3R5cGVBcmd1bWVudHMubGVuZ3RofSBnaXZlbi5gKTsKKyAgICB9CisKKyAgICBnZXQgZWxlbWVu
dFR5cGUoKSB7IHJldHVybiB0aGlzLl90eXBlQXJndW1lbnRzWzBdOyB9CisgICAgZ2V0IG51bUVs
ZW1lbnRzKCkgeyByZXR1cm4gdGhpcy5fdHlwZUFyZ3VtZW50c1sxXTsgfQorCisgICAgZ2V0IG51
bUVsZW1lbnRzVmFsdWUoKSB7IHJldHVybiB0aGlzLm51bUVsZW1lbnRzLnZhbHVlOyB9CisgICAg
Z2V0IHNpemUoKSB7IHJldHVybiB0aGlzLmVsZW1lbnRUeXBlLnNpemUgKiB0aGlzLm51bUVsZW1l
bnRzVmFsdWU7IH0KKworICAgIHVuaWZ5SW1wbCh1bmlmaWNhdGlvbkNvbnRleHQsIG90aGVyKQor
ICAgIHsKKyAgICAgICAgaWYgKCEob3RoZXIgaW5zdGFuY2VvZiBWZWN0b3JUeXBlKSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBpZiAoIXRoaXMubnVtRWxlbWVudHMudW5p
ZnkodW5pZmljYXRpb25Db250ZXh0LCBvdGhlci5udW1FbGVtZW50cykpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFR5cGUudW5pZnkodW5p
ZmljYXRpb25Db250ZXh0LCBvdGhlci5lbGVtZW50VHlwZSk7CisgICAgfQorCisgICAgcG9wdWxh
dGVEZWZhdWx0VmFsdWUoYnVmZmVyLCBvZmZzZXQpCisgICAgeworICAgICAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IHRoaXMubnVtRWxlbWVudHNWYWx1ZTsgKytpKQorICAgICAgICAgICAgdGhpcy5l
bGVtZW50VHlwZS5wb3B1bGF0ZURlZmF1bHRWYWx1ZShidWZmZXIsIG9mZnNldCArIGkgKiB0aGlz
LmVsZW1lbnRUeXBlLnNpemUpOworICAgIH0KKworICAgIHRvU3RyaW5nKCkKKyAgICB7CisgICAg
ICAgIHJldHVybiBgbmF0aXZlIHR5cGVkZWYgJHt0aGlzLm5hbWV9PCR7dGhpcy5lbGVtZW50VHlw
ZX0sICR7dGhpcy5udW1FbGVtZW50c1ZhbHVlfT5gOworICAgIH0KK30KKwpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVmlzaXRvci5qcyBiL1Rvb2xzL1dlYkdQVVNo
YWRpbmdMYW5ndWFnZVJJL1Zpc2l0b3IuanMKaW5kZXggNGJmMDUzMTNlMjg1N2Q3MWVmZTUxM2Vl
MWUzNWYwNTBkZWY1MzM2ZC4uM2JmOWExNjk2ZTg2NTAyNjUyNjEwOTU3NTc0MjNhYjg5YmU1OTlh
MCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVmlzaXRvci5qcwor
KysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9WaXNpdG9yLmpzCkBAIC0zNCwxNyAr
MzQsMTAgQEAgY2xhc3MgVmlzaXRvciB7CiAgICAgdmlzaXRGdW5jKG5vZGUpCiAgICAgewogICAg
ICAgICBub2RlLnJldHVyblR5cGUudmlzaXQodGhpcyk7Ci0gICAgICAgIGZvciAobGV0IHR5cGVQ
YXJhbWV0ZXIgb2Ygbm9kZS50eXBlUGFyYW1ldGVycykKLSAgICAgICAgICAgIHR5cGVQYXJhbWV0
ZXIudmlzaXQodGhpcyk7CiAgICAgICAgIGZvciAobGV0IHBhcmFtZXRlciBvZiBub2RlLnBhcmFt
ZXRlcnMpCiAgICAgICAgICAgICBwYXJhbWV0ZXIudmlzaXQodGhpcyk7CiAgICAgfQogICAgIAot
ICAgIHZpc2l0UHJvdG9jb2xGdW5jRGVjbChub2RlKQotICAgIHsKLSAgICAgICAgdGhpcy52aXNp
dEZ1bmMobm9kZSk7Ci0gICAgfQotICAgIAogICAgIHZpc2l0RnVuY1BhcmFtZXRlcihub2RlKQog
ICAgIHsKICAgICAgICAgbm9kZS50eXBlLnZpc2l0KHRoaXMpOwpAQCAtNjEsMTIgKzU0LDYgQEAg
Y2xhc3MgVmlzaXRvciB7CiAgICAgICAgIHRoaXMudmlzaXRGdW5jKG5vZGUpOwogICAgIH0KICAg
ICAKLSAgICB2aXNpdE5hdGl2ZUZ1bmNJbnN0YW5jZShub2RlKQotICAgIHsKLSAgICAgICAgdGhp
cy52aXNpdEZ1bmMobm9kZSk7Ci0gICAgICAgIG5vZGUuZnVuYy52aXNpdEltcGxlbWVudGF0aW9u
RGF0YShub2RlLmltcGxlbWVudGF0aW9uRGF0YSwgdGhpcyk7Ci0gICAgfQotICAgIAogICAgIHZp
c2l0QmxvY2sobm9kZSkKICAgICB7CiAgICAgICAgIGZvciAobGV0IHN0YXRlbWVudCBvZiBub2Rl
LnN0YXRlbWVudHMpCkBAIC03OSw2MiArNjYsMjEgQEAgY2xhc3MgVmlzaXRvciB7CiAgICAgICAg
ICAgICBleHByZXNzaW9uLnZpc2l0KHRoaXMpOwogICAgIH0KICAgICAKLSAgICB2aXNpdFByb3Rv
Y29sUmVmKG5vZGUpCi0gICAgewotICAgIH0KLSAgICAKLSAgICB2aXNpdFByb3RvY29sRGVjbChu
b2RlKQotICAgIHsKLSAgICAgICAgZm9yIChsZXQgcHJvdG9jb2wgb2Ygbm9kZS5leHRlbmRzKQot
ICAgICAgICAgICAgcHJvdG9jb2wudmlzaXQodGhpcyk7Ci0gICAgICAgIGZvciAobGV0IHNpZ25h
dHVyZSBvZiBub2RlLnNpZ25hdHVyZXMpCi0gICAgICAgICAgICBzaWduYXR1cmUudmlzaXQodGhp
cyk7Ci0gICAgfQotICAgIAotICAgIHZpc2l0VHlwZVJlZihub2RlKQotICAgIHsKLSAgICAgICAg
Zm9yIChsZXQgdHlwZUFyZ3VtZW50IG9mIG5vZGUudHlwZUFyZ3VtZW50cykKLSAgICAgICAgICAg
IHR5cGVBcmd1bWVudC52aXNpdCh0aGlzKTsKLSAgICB9CisgICAgdmlzaXRUeXBlUmVmKG5vZGUp
IHt9CiAgICAgCi0gICAgdmlzaXROYXRpdmVUeXBlKG5vZGUpCi0gICAgewotICAgICAgICBmb3Ig
KGxldCB0eXBlUGFyYW1ldGVyIG9mIG5vZGUudHlwZVBhcmFtZXRlcnMpCi0gICAgICAgICAgICB0
eXBlUGFyYW1ldGVyLnZpc2l0KHRoaXMpOwotICAgIH0KLSAgICAKLSAgICB2aXNpdE5hdGl2ZVR5
cGVJbnN0YW5jZShub2RlKQotICAgIHsKLSAgICAgICAgbm9kZS50eXBlLnZpc2l0KHRoaXMpOwot
ICAgICAgICBmb3IgKGxldCB0eXBlQXJndW1lbnQgb2Ygbm9kZS50eXBlQXJndW1lbnRzKQotICAg
ICAgICAgICAgdHlwZUFyZ3VtZW50LnZpc2l0KHRoaXMpOwotICAgIH0KKyAgICB2aXNpdE5hdGl2
ZVR5cGUobm9kZSkge30KICAgICAKICAgICB2aXNpdFR5cGVEZWYobm9kZSkKICAgICB7Ci0gICAg
ICAgIGZvciAobGV0IHR5cGVQYXJhbWV0ZXIgb2Ygbm9kZS50eXBlUGFyYW1ldGVycykKLSAgICAg
ICAgICAgIHR5cGVQYXJhbWV0ZXIudmlzaXQodGhpcyk7CiAgICAgICAgIG5vZGUudHlwZS52aXNp
dCh0aGlzKTsKICAgICB9CiAgICAgCiAgICAgdmlzaXRTdHJ1Y3RUeXBlKG5vZGUpCiAgICAgewot
ICAgICAgICBmb3IgKGxldCB0eXBlUGFyYW1ldGVyIG9mIG5vZGUudHlwZVBhcmFtZXRlcnMpCi0g
ICAgICAgICAgICB0eXBlUGFyYW1ldGVyLnZpc2l0KHRoaXMpOwogICAgICAgICBmb3IgKGxldCBm
aWVsZCBvZiBub2RlLmZpZWxkcykKICAgICAgICAgICAgIGZpZWxkLnZpc2l0KHRoaXMpOwogICAg
IH0KICAgICAKLSAgICB2aXNpdFR5cGVWYXJpYWJsZShub2RlKQotICAgIHsKLSAgICAgICAgTm9k
ZS52aXNpdChub2RlLnByb3RvY29sLCB0aGlzKTsKLSAgICB9Ci0gICAgCi0gICAgdmlzaXRDb25z
dGV4cHJUeXBlUGFyYW1ldGVyKG5vZGUpCi0gICAgewotICAgICAgICBub2RlLnR5cGUudmlzaXQo
dGhpcyk7Ci0gICAgfQotICAgIAogICAgIHZpc2l0RmllbGQobm9kZSkKICAgICB7CiAgICAgICAg
IG5vZGUudHlwZS52aXNpdCh0aGlzKTsKQEAgLTIwOCw2ICsxNTQsMTMgQEAgY2xhc3MgVmlzaXRv
ciB7CiAgICAgewogICAgICAgICBub2RlLnB0ci52aXNpdCh0aGlzKTsKICAgICB9CisKKyAgICB2
aXNpdFRlcm5hcnlFeHByZXNzaW9uKG5vZGUpCisgICAgeworICAgICAgICBub2RlLnByZWRpY2F0
ZS52aXNpdCh0aGlzKTsKKyAgICAgICAgbm9kZS5ib2R5RXhwcmVzc2lvbi52aXNpdCh0aGlzKTsK
KyAgICAgICAgbm9kZS5lbHNlRXhwcmVzc2lvbi52aXNpdCh0aGlzKTsKKyAgICB9CiAgICAgCiAg
ICAgX2hhbmRsZVByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbihub2RlKQogICAgIHsKQEAgLTMzNiwx
OCArMjg5LDggQEAgY2xhc3MgVmlzaXRvciB7CiAgICAgCiAgICAgdmlzaXRDYWxsRXhwcmVzc2lv
bihub2RlKQogICAgIHsKLSAgICAgICAgZm9yIChsZXQgdHlwZUFyZ3VtZW50IG9mIG5vZGUudHlw
ZUFyZ3VtZW50cykKLSAgICAgICAgICAgIHR5cGVBcmd1bWVudC52aXNpdCh0aGlzKTsKICAgICAg
ICAgZm9yIChsZXQgYXJndW1lbnQgb2Ygbm9kZS5hcmd1bWVudExpc3QpCiAgICAgICAgICAgICBO
b2RlLnZpc2l0KGFyZ3VtZW50LCB0aGlzKTsKLSAgICAgICAgbGV0IGhhbmRsZVR5cGVBcmd1bWVu
dHMgPSBhY3R1YWxUeXBlQXJndW1lbnRzID0+IHsKLSAgICAgICAgICAgIGlmIChhY3R1YWxUeXBl
QXJndW1lbnRzKSB7Ci0gICAgICAgICAgICAgICAgZm9yIChsZXQgYXJndW1lbnQgb2YgYWN0dWFs
VHlwZUFyZ3VtZW50cykKLSAgICAgICAgICAgICAgICAgICAgYXJndW1lbnQudmlzaXQodGhpcyk7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH07Ci0gICAgICAgIGhhbmRsZVR5cGVBcmd1bWVudHMo
bm9kZS5hY3R1YWxUeXBlQXJndW1lbnRzKTsKLSAgICAgICAgaGFuZGxlVHlwZUFyZ3VtZW50cyhu
b2RlLmluc3RhbnRpYXRlZEFjdHVhbFR5cGVBcmd1bWVudHMpOwogICAgICAgICBOb2RlLnZpc2l0
KG5vZGUubmF0aXZlRnVuY0luc3RhbmNlLCB0aGlzKTsKICAgICAgICAgTm9kZS52aXNpdChub2Rl
LnJldHVyblR5cGUsIHRoaXMpOwogICAgICAgICBOb2RlLnZpc2l0KG5vZGUucmVzdWx0VHlwZSwg
dGhpcyk7CkBAIC0zODQsNSArMzI3LDE2IEBAIGNsYXNzIFZpc2l0b3IgewogICAgIHsKICAgICAg
ICAgbm9kZS50YXJnZXQudmlzaXQodGhpcyk7CiAgICAgfQorCisgICAgdmlzaXROYXRpdmVQYXJh
bWV0ZXJpemVkVHlwZShub2RlKQorICAgIHsKKyAgICAgICAgZm9yIChsZXQgdHlwZUFyZyBvZiBu
b2RlLnR5cGVBcmd1bWVudHMpCisgICAgICAgICAgICB0eXBlQXJnLnZpc2l0KHRoaXMpOworICAg
IH0KKworICAgIHZpc2l0VmVjdG9yVHlwZShub2RlKQorICAgIHsKKyAgICAgICAgbm9kZS5lbGVt
ZW50VHlwZS52aXNpdCh0aGlzKTsKKyAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQ
VVNoYWRpbmdMYW5ndWFnZVJJL1dTTC5tZCBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJ
L1dTTC5tZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDNiNjY1Njc4MjZhNTFkZDZj
NzU0ZDRlOWIyNGQ3NTc4OTcyYmIzZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9XU0wubWQKKysrIC9k
ZXYvbnVsbApAQCAtMSw0NzkgKzAsMCBAQAotIyBXZWJHUFUgU2hhZGluZyBMYW5ndWFnZQotCi1X
ZWJHUFUgU2hhZGluZyBMYW5ndWFnZSwgb3IgV1NMIGZvciBzaG9ydCwgaXMgYSB0eXBlLXNhZmUg
bG93LW92ZXJoZWFkIHByb2dyYW1taW5nIGxhbmd1YWdlIGZvciBHUFVzIChncmFwaGljcyBwcm9j
ZXNzaW5nIHVuaXRzKS4gVGhpcyBkb2N1bWVudCBleHBsYWlucyBob3cgV1NMIHdvcmtzLgotCi0j
IEdvYWxzCi0KLVdTTCBpcyBkZXNpZ25lZCB0byBhY2hpZXZlIHRoZSBmb2xsb3dpbmcgZ29hbHM6
Ci0KLS0gV1NMIHNob3VsZCBmZWVsICpmYW1pbGlhciogdG8gQysrIHByb2dyYW1tZXJzLgotLSBX
U0wgc2hvdWxkIGJlIGhhdmUgYSAqc291bmQqIGFuZCAqZGVjaWRhYmxlKiB0eXBlIHN5c3RlbS4K
LS0gV1NMIHNob3VsZCBub3QgcGVybWl0ICpvdXQtb2YtYm91bmRzKiBtZW1vcnkgYWNjZXNzZXMu
Ci0tIFdTTCBzaG91bGQgYmUgaGF2ZSAqbG93IG92ZXJoZWFkKi4KLQotVGhlIGNvbWJpbmF0aW9u
IG9mIGEgc291bmQgdHlwZSBzeXN0ZW0gYW5kIGJvdW5kcyBjaGVja2luZyBtYWtlcyBXU0wgYSBz
ZWN1cmUgc2hhZGVyIGxhbmd1YWdlOiB0aGUgbGFuZ3VhZ2UgaXRzZWxmIGlzIHJlc3BvbnNpYmxl
IGZvciBpc29sYXRpbmcgdGhlIHNoYWRlciBmcm9tIHRoZSByZXN0IG9mIHRoZSBHUFUuCi0KLSMg
RmFtaWxpYXIgU3ludGF4Ci0KLVdTTCBpcyBiYXNlZCBvbiBDIHN5bnRheCwgYnV0IGV4Y2x1ZGVz
IGZlYXR1cmVzIHRoYXQgYXJlIGVpdGhlciB1bm5lY2Vzc2FyeSwgaW5zZWN1cmUsIG9yIHJlcGxh
Y2VkIGJ5IG90aGVyIFdTTCBmZWF0dXJlczoKLQotLSBObyBzdHJpbmdzLgotLSBObyBgcmVnaXN0
ZXJgLCBgdm9sYXRpbGVgLCBgY29uc3RgLCBgcmVzdHJpY3RgLCBvciBgZXh0ZXJuYCBrZXl3b3Jk
cy4KLS0gTm8gdW5pb25zLiBgdW5pb25gIGlzIG5vdCBhIGtleXdvcmQuCi0tIE5vIGdvdG8gb3Ig
bGFiZWxzLiBgZ290b2AgaXMgbm90IGEga2V5d29yZC4KLS0gTm8gYCpgIHBvaW50ZXJzLgotLSBF
ZmZlY3RsZXNzIGV4cHJlc3Npb25zIGFyZSBub3Qgc3RhdGVtZW50cyAoYGEgKyBiO2AgaXMgYSBw
YXJzZSBlcnJvcikuCi0tIE5vIHVuZGVmaW5lZCB2YWx1ZXMgKGBpbnQgeDtgIGluaXRpYWxpemVz
IHggdG8gMCkuCi0tIE5vIGF1dG9tYXRpYyB0eXBlIGNvbnZlcnNpb25zIChgaW50IHg7IHVpbnQg
eSA9IHg7YCBpcyBhIHR5cGUgZXJyb3IpLgotLSBObyByZWN1cnNpb24uCi0tIE5vIGR5bmFtaWMg
bWVtb3J5IGFsbG9jYXRpb24uCi0tIE5vIG1vZHVsYXJpdHkuIFRoZSB3aG9sZSBwcm9ncmFtIGlz
IG9uZSBmaWxlLgotCi1PbiB0b3Agb2YgdGhpcyBiYXJlIEMtbGlrZSBmb3VuZGF0aW9uLCBXU0wg
YWRkcyBzZWN1cmUgdmVyc2lvbnMgb2YgZmFtaWxpYXIgQysrIGZlYXR1cmVzOgotCi0tIFR5cGUt
c2FmZSBwb2ludGVycyAoYF5gKSBhbmQgYXJyYXkgcmVmZXJlbmNlcyAoYFtdYCkuCi0tIEdlbmVy
aWNzIHRvIHJlcGxhY2UgdGVtcGxhdGVzLgotLSBPcGVyYXRvciBvdmVybG9hZGluZy4gQnVpbHQt
aW4gb3BlcmF0aW9ucyBsaWtlIGBpbnQgb3BlcmF0b3IrKGludCwgaW50KWAgYXJlIGp1c3QgbmF0
aXZlIGZ1bmN0aW9ucy4KLS0gQ2FzdCBvdmVybG9hZGluZy4gQnVpbHQtaW4gY2FzdHMgbGlrZSBg
b3BlcmF0b3IgaW50KGRvdWJsZSlgIGFyZSBqdXN0IG5hdGl2ZSBmdW5jdGlvbnMuCi0tIEdldHRl
cnMgYW5kIHNldHRlcnMuIFByb3BlcnR5IGFjY2Vzc2VzIGxpa2UgYHZlYy54YCByZXNvbHZlIHRv
IG92ZXJsb2FkcyBsaWtlIGBmbG9hdCBvcGVyYXRvci5maWVsZChmbG9hdDQpYC4KLS0gQXJyYXkg
YWNjZXNzIG92ZXJsb2FkaW5nLiBBcnJheSBhY2Nlc3NlcyBsaWtlIGB2ZWNbMF1gIHJlc29sdmUg
dG8gdmVybG9hZHMgbGlrZSBgZmxvYXQgb3BlcmF0b3JbXShmbG9hdDQsIHVpbnQpYC4KLQotSW4g
dGhlIGZvbGxvd2luZyBzZWN0aW9ucywgV1NMIGlzIHNob3duIGJ5IGV4YW1wbGUgc3RhcnRpbmcg
d2l0aCBpdHMgQy1saWtlIGZvdW5kYXRpb24gYW5kIHRoZW4gYnVpbGRpbmcgdXAgdG8gaW5jbHVk
ZSBtb3JlIHNvcGhpc3RpY2F0ZWQgZmVhdHVyZXMgbGlrZSBnZW5lcmljcy4KLQotIyMgQ29tbW9u
IHN1YnNldCBvZiBDIGFuZCBXU0wKLQotVGhlIGZvbGxvd2luZyBpcyBhIHZhbGlkIFdTTCBmdW5j
dGlvbiBkZWZpbml0aW9uOgotCi0gICAgaW50IGZvbyhpbnQgeCwgaW50IHksIGJvb2wgcCkKLSAg
ICB7Ci0gICAgICAgIGlmIChwKQotICAgICAgICAgICAgcmV0dXJuIHggLSB5OwotICAgICAgICBy
ZXR1cm4geCArIHk7Ci0gICAgfQotCi1XU0wgc291cmNlIGZpbGVzIGJlaGF2ZSBzaW1pbGFybHkg
dG8gQyBzb3VyY2UgZmlsZXM6Ci0KLS0gVG9wLWxldmVsIHN0YXRlbWVudHMgbXVzdCBiZSB0eXBl
IG9yIGZ1bmN0aW9uIGRlZmluaXRpb25zLgotLSBXU0wgdXNlcyBzdHJ1Y3R1cmVkIEMgY29udHJv
bCBmbG93IGNvbnN0cnVjdHMsIGxpa2UgYGlmYCwgYHdoaWxlYCwgYGZvcmAsIGBkb2AsIGBicmVh
a2AsIGFuZCBgY29udGludWVgLgotLSBXU0wgdXNlcyBDLWxpa2UgYHN3aXRjaGAgc3RhdGVtZW50
cywgYnV0IGRvZXMgbm90IGFsbG93IHRoZW0gdG8gb3ZlcmxhcCBvdGhlciBjb250cm9sIGZsb3cg
KGkuZS4gbm8gW0R1ZmYncyBkZXZpY2VdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0R1
ZmYlMjdzX2RldmljZSkpLgotLSBXU0wgYWxsb3dzIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyBhbnl3
aGVyZSBDKysgd291bGQuCi0KLVdTTCB0eXBlcyBkaWZmZXIgZnJvbSBDIHR5cGVzLiBGb3IgZXhh
bXBsZSwgdGhpcyBpcyBhbiBhcnJheSBvZiA0MiBpbnRlZ2VycyBpbiBXU0w6Ci0KLSAgICBpbnRb
NDJdIGFycmF5OwotCi1UaGUgdHlwZSBuZXZlciBzdXJyb3VuZHMgdGhlIHZhcmlhYmxlLCBsaWtl
IGl0IHdvdWxkIGluIEMgKGBpbnQgYXJyYXlbNDJdYCkuCi0KLSMjIFR5cGUtc2FmZSBwb2ludGVy
cwotCi1XU0wgaW5jbHVkZXMgYSBzZWN1cmUgcG9pbnRlciB0eXBlLiBUbyBlbXBoYXNpemUgdGhh
dCBpdCBpcyBub3QgbGlrZSB0aGUgQyBwb2ludGVyLCBXU0wgdXNlcyBgXmAgZm9yIHRoZSBwb2lu
dGVyIHR5cGUgYW5kIGZvciBkZXJlZmVyZW5jZS4gTGlrZSBpbiBDLCBgJmAgaXMgdXNlZCB0byB0
YWtlIHRoZSBhZGRyZXNzIG9mIGEgdmFsdWUuICBCZWNhdXNlIEdQVXMgaGF2ZSBkaWZmZXJlbnQg
a2luZHMgb2YgbWVtb3JpZXMsIHBvaW50ZXJzIG11c3QgYmUgYW5ub3RhdGVkIHdpdGggYW4gYWRk
cmVzcyBzcGFjZSAob25lIG9mIGB0aHJlYWRgLCBgdGhyZWFkZ3JvdXBgLCBgZGV2aWNlYCwgb3Ig
YGNvbnN0YW50YCkuIEZvciBleGFtcGxlOgotCi0gICAgdm9pZCBiYXIodGhyZWFkIGludF4gcCkK
LSAgICB7Ci0gICAgICAgIF5wICs9IDQyOwotICAgIH0KLSAgICBpbnQgZm9vKCkKLSAgICB7Ci0g
ICAgICAgIGludCB4ID0gMjQ7Ci0gICAgICAgIGJhcigmeCk7Ci0gICAgICAgIHJldHVybiB4OyAv
LyBSZXR1cm5zIDY2LgotICAgIH0KLQotUG9pbnRlcnMgY2FuIGJlIGBudWxsYC4gRWFjaCBwb2lu
dGVyIGFjY2VzcyBpcyBudWxsLWNoZWNrZWQsIHRob3VnaCBtb3N0IHBvaW50ZXIgYWNjZXNzZXMg
KGxpa2UgdGhpcyBvbmUpIHdpbGwgbm90IGhhdmUgYSBudWxsIGNoZWNrLiBXU0wgcGxhY2VzIGVu
b3VnaCBjb25zdHJhaW50cyBvbiB0aGUgcHJvZ3JhbW1lciB0aGF0IHByb2dyYW1zIGFyZSBlYXN5
IGZvciB0aGUgY29tcGlsZXIgdG8gYW5hbHl6ZS4gVGhlIGNvbXBpbGVyIHdpbGwgYWx3YXlzIGtu
b3cgdGhhdCBgXnAgKz0gNDJgIGFkZHMgYDQyYCB0byBgeGAgaW4gdGhpcyBjYXNlLgotCi1XU0wg
cG9pbnRlcnMgZG8gbm90IHN1cHBvcnQgY2FzdGluZyBvciBwb2ludGVyIGFyaXRobWV0aWMuIEFs
bCBtZW1vcnkgYWNjZXNzaWJsZSB0byBhIHNoYWRlciBvdXRsaXZlcyB0aGUgc2hhZGVyLiBUaGlz
IGlzIGV2ZW4gdHJ1ZSBvZiBsb2NhbCB2YXJpYWJsZXMuIFRoaXMgaXMgcG9zc2libGUgYmVjYXVz
ZSBXU0wgZG9lcyBub3Qgc3VwcG9ydCByZWN1cnNpb24uIFRoZXJlZm9yZSwgbG9jYWwgdmFyaWFi
bGVzIHNpbXBseSBnZXQgZ2xvYmFsIHN0b3JhZ2UuIExvY2FsIHZhcmlhYmxlcyBhcmUgaW5pdGlh
bGl6ZWQgYXQgdGhlIHBvaW50IG9mIHRoZWlyIGRlY2xhcmF0aW9uLiBIZW5jZSwgdGhlIGZvbGxv
d2luZyBpcyBhIHZhbGlkIHByb2dyYW0sIHdoaWNoIHdpbGwgZXhoaWJpdCB0aGUgc2FtZSBiZWhh
dmlvciBvbiBldmVyeSBXU0wgaW1wbGVtZW50YXRpb246Ci0KLSAgICB0aHJlYWQgaW50XiBmb28o
KQotICAgIHsKLSAgICAgICAgaW50IHggPSA0MjsKLSAgICAgICAgcmV0dXJuICZ4OwotICAgIH0K
LSAgICBpbnQgYmFyKCkKLSAgICB7Ci0gICAgICAgIHRocmVhZCBpbnReIHAgPSBmb28oKTsKLSAg
ICAgICAgdGhyZWFkIGludF4gcSA9IGZvbygpOwotICAgICAgICBecCA9IDUzOwotICAgICAgICBy
ZXR1cm4gXnE7IC8vIFJldHVybnMgNTMuCi0gICAgfQotICAgIGludCBiYXooKQotICAgIHsKLSAg
ICAgICAgdGhyZWFkIGludF4gcCA9IGZvbygpOwotICAgICAgICBecCA9IDUzOwotICAgICAgICBm
b28oKTsKLSAgICAgICAgcmV0dXJuIF5wOyAvLyBSZXR1cm5zIDQyLgotICAgIH0KLQotSXQncyBw
b3NzaWJsZSB0byBwb2ludCB0byBhbnkga2luZCBvZiBkYXRhIHR5cGUuIEZvciBleGFtcGxlLCBg
dGhyZWFkIGRvdWJsZVs0Ml1eYCBpcyBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgNDIgZG91Ymxl
cy4KLQotIyMgVHlwZS1zYWZlIGFycmF5IHJlZmVyZW5jZXMKLQotV1NMIHN1cHBvcnRzIGFycmF5
IHJlZmVyZW5jZXMgdGhhdCBjYXJyeSBhIHBvaW50ZXIgdG8gdGhlIGJhc2Ugb2YgdGhlIGFycmF5
IGFuZCB0aGUgYXJyYXkncyBsZW5ndGguIFRoaXMgYWxsb3dzIGFjY2Vzc2VzIHRvIHRoZSBhcnJh
eSB0byBiZSBib3VuZHMtY2hlY2tlZC4KLQotQW4gYXJyYXkgcmVmZXJlbmNlIGNhbiBiZSBjcmVh
dGVkIHVzaW5nIHRoZSBgQGAgb3BlcmF0b3I6Ci0KLSAgICBpbnRbNDJdIGFycmF5OwotICAgIHRo
cmVhZCBpbnRbXSBhcnJheVJlZiA9IEBhcnJheTsKLQotQm90aCBhcnJheXMgYW5kIGFycmF5IHJl
ZmVyZW5jZXMgY2FuIGJlIGxvYWRlZCBmcm9tIGFuZCBzdG9yZWQgdG8gdXNpbmcgYG9wZXJhdG9y
W11gOgotCi0gICAgaW50IHggPSBhcnJheVtpXTsKLSAgICBpbnQgeSA9IGFycmF5UmVmW2ldOwot
Ci1Cb3RoIGFycmF5cyBhbmQgYXJyYXkgcmVmZXJlbmNlcyBrbm93IHRoZWlyIGxlbmd0aDoKLQot
ICAgIHVpbnQgYXJyYXlMZW5ndGggPSBhcnJheS5sZW5ndGg7Ci0gICAgdWludCBhcnJheVJlZkxl
bmd0aCA9IGFycmF5UmVmLmxlbmd0aDsKLQotR2l2ZW4gYW4gYXJyYXkgb3IgYXJyYXkgcmVmZXJl
bmNlLCBpdCdzIHBvc3NpYmxlIHRvIGdldCBhIHBvaW50ZXIgdG8gb25lIG9mIGl0cyBlbGVtZW50
czoKLQotICAgIHRocmVhZCBpbnReIHB0cjEgPSAmYXJyYXlbaV07Ci0gICAgdGhyZWFkIGludF4g
cHRyMiA9ICZhcnJheVJlZltpXTsKLQotQSBwb2ludGVyIGlzIGxpa2UgYW4gYXJyYXkgcmVmZXJl
bmNlIHdpdGggb25lIGVsZW1lbnQuIEl0J3MgcG9zc2libGUgdG8gcGVyZm9ybSB0aGlzIGNvbnZl
cnNpb246Ci0KLSAgICB0aHJlYWQgaW50W10gcmVmID0gQHB0cjE7Ci0gICAgcmVmWzBdIC8vIEVx
dWl2YWxlbnQgdG8gXnB0cjEuCi0gICAgcmVmLmxlbmd0aCAvLyAwIGlmIHB0cjEgd2FzIG51bGws
IDEgaWYgcHRyMSB3YXMgbm90IG51bGwuCi0KLVNpbWlsYXJseSwgdXNpbmcgYEBgIG9uIGEgbm9u
LXBvaW50ZXIgdmFsdWUgcmVzdWx0cyBpbiBhIHJlZmVyZW5jZSBvZiBsZW5ndGggMToKLQotICAg
IGludCB4OwotICAgIHRocmVhZCBpbnRbXSByZWYgPSBAeDsKLSAgICByZWZbMF0gLy8gQWxpYXNl
cyB4LgotICAgIHJlZi5sZW5ndGggLy8gUmV0dXJucyAxLgotCi1JdCdzIG5vdCBsZWdhbCB0byB1
c2UgYEBgIG9uIGFuIGFycmF5IHJlZmVyZW5jZToKLQotICAgIHRocmVhZCBpbnRbXSByZWY7Ci0g
ICAgdGhyZWFkIGludFtdW10gcmVmZXJlZiA9IEByZWY7IC8vIEVycm9yIQotCi0jIyBHZW5lcmlj
cwotCi1XU0wgc3VwcG9ydHMgZ2VuZXJpYyB0eXBlcyB1c2luZyBhIHNpbXBsZSBzeW50YXguIFdT
TCdzIGdlbmVyaWMgYXJlIGRlc2lnbmVkIHRvIGludGVncmF0ZSBjbGVhbmx5IGludG8gdGhlIGNv
bXBpbGVyIHBpcGVsaW5lOgotCi0tIEdlbmVyaWNzIGhhdmUgdW5hbWJpZ3VvdXMgc3ludGF4Lgot
LSBHZW5lcmljIGZ1bmN0aW9ucyBjYW4gYmUgdHlwZSBjaGVja2VkIGJlZm9yZSB0aGV5IGFyZSBp
bnN0YW50aWF0ZWQuCi0KLVNlbWFudGljIGVycm9ycyBpbnNpZGUgZ2VuZXJpYyBmdW5jdGlvbnMg
c2hvdyB1cCBvbmNlIHJlZ2FyZGxlc3Mgb2YgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUgZ2VuZXJp
YyBmdW5jdGlvbiBpcyBpbnN0YW50aWF0ZWQuCi0KLVRoaXMgaXMgYSBzaW1wbGUgZ2VuZXJpYyBm
dW5jdGlvbjoKLQotICAgIFQgaWRlbnRpdHk8VD4oVCB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIFQg
dG1wID0gdmFsdWU7Ci0gICAgICAgIHJldHVybiB0bXA7Ci0gICAgfQotCi1XU0wgYWxzbyBzdXBw
b3J0cyBzdHJ1Y3RzLCB3aGljaCBhcmUgYWxzbyBhbGxvd2VkIHRvIGJlIGdlbmVyaWM6Ci0KLSAg
ICAvLyBOb3QgZ2VuZXJpYy4KLSAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgaW50IHg7Ci0gICAg
ICAgIGRvdWJsZSB5OwotICAgIH0KLSAgICAvLyBHZW5lcmljLgotICAgIHN0cnVjdCBCYXI8VCwg
VT4gewotICAgICAgICBUIHg7Ci0gICAgICAgIFUgeTsKLSAgICB9Ci0KLVR5cGUgcGFyYW1ldGVy
cyBjYW4gYWxzbyBiZSBjb25zdGFudCBleHByZXNzaW9ucy4gRm9yIGV4YW1wbGU6Ci0KLSAgICB2
b2lkIGluaXRpYWxpemVBcnJheTxULCB1aW50IGxlbmd0aD4odGhyZWFkIFRbbGVuZ3RoXV4gYXJy
YXksIFQgdmFsdWUpCi0gICAgewotICAgICAgICBmb3IgKHVpbnQgaSA9IGxlbmd0aDsgaS0tOykK
LSAgICAgICAgICAgICheYXJyYXkpW2ldID0gdmFsdWU7Ci0gICAgfQotCi1Db25zdGFudCBleHBy
ZXNzaW9ucyBwYXNzZWQgYXMgdHlwZSBhcmd1bWVudHMgbXVzdCBvYmV5IGEgdmVyeSBuYXJyb3cg
ZGVmaW5pdGlvbiBvZiBjb25zdGFudG5lc3MuIE9ubHkgbGl0ZXJhbHMgYW5kIHJlZmVyZW5jZXMg
dG8gb3RoZXIgY29uc3RhbnQgcGFyYW1ldGVycyBxdWFsaWZ5LgotCi1XU0wgaXMgZ3VhcmFudGVl
ZCB0byBjb21waWxlIGdlbmVyaWNzIGJ5IGluc3RhbnRpYXRpb24uIFRoaXMgaXMgb2JzZXJ2YWJs
ZSwgc2luY2UgZnVuY3Rpb25zIGNhbiByZXR1cm4gcG9pbnRlcnMgdG8gdGhlaXIgbG9jYWxzLiBI
ZXJlIGlzIGFuIGV4YW1wbGUgb2YgdGhpcyBwaGVub21lbm9uOgotCi0gICAgdGhyZWFkIGludF4g
YWxsb2NhdGU8dWludD4oKQotICAgIHsKLSAgICAgICAgaW50IHg7Ci0gICAgICAgIHJldHVybiAm
eDsKLSAgICB9Ci0KLVRoZSBgYWxsb2NhdGVgIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGEgZGlmZmVy
ZW50IHBvaW50ZXIgZm9yIGVhY2ggdW5zaWduZWQgaW50ZWdlciBjb25zdGFudCBwYXNzZWQgYXMg
YSB0eXBlIHBhcmFtZXRlci4gVGhpcyBhbGxvY2F0aW9uIGlzIGNvbXBsZXRlbHkgc3RhdGljLCBz
aW5jZSB0aGUgYHVpbnRgIHBhcmFtZXRlciBtdXN0IGJlIGdpdmVuIGEgY29tcGlsZS10aW1lIGNv
bnN0YW50LgotCi1XU0wncyBgdHlwZWRlZmAgdXNlcyBhIHNsaWdodGx5IGRpZmZlcmVudCBzeW50
YXggdGhhbiBDLiBGb3IgZXhhbXBsZToKLQotICAgIHN0cnVjdCBDb21wbGV4PFQ+IHsKLSAgICAg
ICAgVCByZWFsOwotICAgICAgICBUIGltYWc7Ci0gICAgfQotICAgIHR5cGVkZWYgRkNvbXBsZXgg
PSBDb21wbGV4PGZsb2F0PjsKLQotYHR5cGVkZWZgIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSBnZW5l
cmljIHR5cGVzOgotCi0gICAgc3RydWN0IEZvbzxULCBVPiB7Ci0gICAgICAgIFQgeDsKLSAgICAg
ICAgVSB5OwotICAgIH0KLSAgICB0eXBlZGVmIEJhcjxUPiA9IEZvbzxULCBUPjsKLQotIyMgUHJv
dG9jb2xzCi0KLVByb3RvY29scyBlbmFibGUgZ2VuZXJpYyBmdW5jdGlvbnMgdG8gd29yayB3aXRo
IGRhdGEgb2YgZ2VuZXJpYyB0eXBlLiBCZWNhdXNlIGEgZnVuY3Rpb24gbXVzdCBiZSB0eXBlLWNo
ZWNrYWJsZSBiZWZvcmUgaW5zdGFudGlhdGlvbiwgdGhlIGZvbGxvd2luZyB3b3VsZCBub3QgYmUg
bGVnYWw6Ci0KLSAgICBpbnQgYmFyKGludCkgeyAuLi4gfQotICAgIGRvdWJsZSBiYXIoZG91Ymxl
KSB7IC4uLiB9Ci0gICAgCi0gICAgVCBmb288VD4oVCB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIHJl
dHVybiBiYXIodmFsdWUpOyAvLyBFcnJvciEKLSAgICB9Ci0KLVRoZSBjYWxsIHRvIGBiYXJgIGRv
ZXNuJ3QgdHlwZSBjaGVjayBiZWNhdXNlIHRoZSBjb21waWxlciBjYW5ub3Qga25vdyB0aGF0IGBm
b288VD5gIHdpbGwgYmUgaW5zdGFudGlhdGVkIHdpdGggYFQgPSBpbnRgIG9yIGBUID0gZG91Ymxl
YC4gUHJvdG9jb2xzIGVuYWJsZSB0aGUgcHJvZ3JhbW1lciB0byB0ZWxsIHRoZSBjb21waWxlciB3
aGF0IHRvIGV4cGVjdCBvZiBhIHR5cGUgdmFyaWFibGU6Ci0KLSAgICBpbnQgYmFyKGludCkgeyAu
Li4gfQotICAgIGRvdWJsZSBiYXIoZG91YmxlKSB7IC4uLiB9Ci0gICAgCi0gICAgcHJvdG9jb2wg
U3VwcG9ydHNCYXIgewotICAgICAgICBTdXBwb3J0c0JhciBiYXIoU3VwcG9ydHNCYXIpOwotICAg
IH0KLSAgICAKLSAgICBUIGZvbzxUOlN1cHBvcnRzQmFyPihUIHZhbHVlKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIGJhcih2YWx1ZSk7Ci0gICAgfQotICAgIAotICAgIGludCB4ID0gZm9vKDQyKTsK
LSAgICBkb3VibGUgeSA9IGZvbyg0LjIpOwotCi1Qcm90b2NvbHMgaGF2ZSBhdXRvbWF0aWMgcmVs
YXRpb25zaGlwcyB0byBvbmUgYW5vdGhlciBiYXNlZCBvbiB3aGF0IGZ1bmN0aW9ucyB0aGV5IGNv
bnRhaW46Ci0KLSAgICBwcm90b2NvbCBGb28gewotICAgICAgICB2b2lkIGZvbyhGb28pOwotICAg
IH0KLSAgICBwcm90b2NvbCBCYXIgewotICAgICAgICB2b2lkIGZvbyhCYXIpOwotICAgICAgICB2
b2lkIGJhcihCYXIpOwotICAgIH0KLSAgICB2b2lkIGZ1eno8VDpGb28+KFQgeCkgeyAuLi4gfQot
ICAgIHZvaWQgYnV6ejxUOkJhcj4oVCB4KQotICAgIHsKLSAgICAgICAgZnV6eih4KTsgLy8gT0ss
IGJlY2F1c2UgQmFyIGlzIG1vcmUgc3BlY2lmaWMgdGhhbiBGb28uICAgIAotICAgIH0KLQotUHJv
dG9jb2xzIGNhbiBhbHNvIG1peCBvdGhlciBwcm90b2NvbHMgaW4gZXhwbGljaXRseS4gTGlrZSBp
biB0aGUgZXhhbXBsZSBhYm92ZSwgdGhlIGV4YW1wbGUgYmVsb3cgcmVsaWVzIG9uIHRoZSBmYWN0
IHRoYXQgYEJhcmAgaXMgYSBtb3JlIHNwZWNpZmljIHByb3RvY29sIHRoYW4gYEZvb2AuIEhvd2V2
ZXIsIHRoaXMgZXhhbXBsZSBkZWNsYXJlcyB0aGlzIGV4cGxpY2l0bHkgKGBwcm90b2NvbCBCYXIg
OiBGb29gKSBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gdGhlIGxhbmd1YWdlIHRvIGluZmVyIGl0Ogot
Ci0gICAgcHJvdG9jb2wgRm9vIHsKLSAgICAgICAgdm9pZCBmb28oRm9vKTsKLSAgICB9Ci0gICAg
cHJvdG9jb2wgQmFyIDogRm9vIHsKLSAgICAgICAgdm9pZCBiYXIoQmFyKTsKLSAgICB9Ci0gICAg
dm9pZCBmdXp6PFQ6Rm9vPihUIHgpIHsgLi4uIH0KLSAgICB2b2lkIGJ1eno8VDpCYXI+KFQgeCkK
LSAgICB7Ci0gICAgICAgIGZ1enooeCk7IC8vIE9LLCBiZWNhdXNlIEJhciBpcyBtb3JlIHNwZWNp
ZmljIHRoYW4gRm9vLiAgICAKLSAgICB9Ci0KLSMjIE92ZXJsb2FkaW5nCi0KLVdTTCBzdXBwb3J0
cyBvdmVybG9hZGluZyB2ZXJ5IHNpbWlsYXJseSB0byBob3cgQysrIGRvZXMgaXQuIEZvciBleGFt
cGxlOgotCi0gICAgdm9pZCBmb28oaW50KTsgICAgLy8gMQotICAgIHZvaWQgZm9vKGRvdWJsZSk7
IC8vIDIKLSAgICAKLSAgICBpbnQgeDsKLSAgICBmb28oeCk7IC8vIGNhbGxzIDEKLSAgICAKLSAg
ICBkb3VibGUgeTsKLSAgICBmb28oeSk7IC8vIGNhbGxzIDIKLQotV1NMIGF1dG9tYXRpY2FsbHkg
c2VsZWN0cyB0aGUgbW9zdCBzcGVjaWZpYyBvdmVybG9hZCBpZiBnaXZlbiBtdWx0aXBsZSBjaG9p
Y2VzLiBGb3IgZXhhbXBsZToKLQotICAgIHZvaWQgZm9vKGludCk7ICAgIC8vIDEKLSAgICB2b2lk
IGZvbyhkb3VibGUpOyAvLyAyCi0gICAgdm9pZCBmb288VD4oVCk7ICAgLy8gMwotCi0gICAgZm9v
KDEpOyAvLyBjYWxscyAxCi0gICAgZm9vKDEuKTsgLy8gY2FsbHMgMgotICAgIGZvbygxdSk7IC8v
IGNhbGxzIDMKLQotR2VuZXJpYyBmdW5jdGlvbnMgbGlrZSBgZm9vPFQ+YCBjYW4gYmUgY2FsbGVk
IHdpdGggb3Igd2l0aG91dCBhbGwgb2YgdGhlaXIgdHlwZSBhcmd1bWVudHMgc3VwcGxpZWQuIElm
IHRoZXkgYXJlIG5vdCBzdXBwbGllZCwgdGhlIGZ1bmN0aW9uIHBhcnRpY2lwYXRlcyBpbiBvdmVy
bG9hZCByZXNvbHV0aW9uIGxpa2UgYW55IG90aGVyIGZ1bmN0aW9uIHdvdWxkLiBGdW5jdGlvbnMg
YXJlIHJhbmtlZCBieSBob3cgc3BlY2lmaWMgdGhleSBhcmU7IGZ1bmN0aW9uIEEgaXMgbW9yZSBz
cGVjaWZpYyB0aGFuIGZ1bmN0aW9uIEIgaWYgQSdzIHBhcmFtZXRlciB0eXBlcyBjYW4gYmUgdXNl
ZCBhcyBhcmd1bWVudCB0eXBlcyBmb3IgYSBjYWxsIHRvIEIgYnV0IG5vdCB2aWNlLXZlcnNhLiBJ
ZiBvbmUgZnVuY3Rpb25zIG1vcmUgc3BlY2lmaWMgdGhhbiBhbGwgb3RoZXJzIHRoZW4gdGhpcyBm
dW5jdGlvbiBpcyBzZWxlY3RlZCwgb3RoZXJ3aXNlIGEgdHlwZSBlcnJvciBpcyBpc3N1ZWQuCi0K
LSMjIE9wZXJhdG9yIE92ZXJsb2FkaW5nCi0KLU1hbnkgV1NMIG9wZXJhdGlvbnMgZGVzdWdhciB0
byBjYWxscyB0byBmdW5jdGlvbnMuIFRob3NlIGZ1bmN0aW9ucyBhcmUgY2FsbGVkICpvcGVyYXRv
ciBvdmVybG9hZHMqIGFuZCBhcmUgZGVjbGFyZWQgdXNpbmcgc3ludGF4IHRoYXQgaW52b2x2ZXMg
dGhlIGtleXdvcmQgYG9wZXJhdG9yYC4gVGhlIGZvbGxvd2luZyBvcGVyYXRpb25zIHJlc3VsdCBp
biBjYWxscyB0byBvcGVyYXRvciBvdmVybG9hZHM6Ci0KLS0gTnVtZXJpY2FsIG9wZXJhdG9ycyAo
YCtgLCBgLWAsIGAqYCwgYC9gLCBldGMuKS4KLS0gSW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgKGAr
K2AsIGAtLWApLgotLSBDYXN0aW5nIChgdHlwZSh2YWx1ZSlgKS4KLS0gQWNjZXNzaW5nIHZhbHVl
cyBpbiBhcnJheXMgKGBbXWAsIGBbXT1gLCBgJltdYCkuCi0tIEFjY2Vzc2luZyBmaWVsZHMgKGAu
ZmllbGRgLCBgLmZpZWxkPWAsIGAmLmZpZWxkYCkuCi0KLVdTTCdzIG9wZXJhdG9yIG92ZXJsb2Fk
aW5nIGlzIGRlc2lnbmVkIHRvIHN5bnRoZXNpemUgbWFueSBvcGVyYXRvcnMgZm9yIHlvdToKLQot
LSBSZWFkLW1vZGlmeS13cml0ZSBvcGVyYXRvcnMgbGlrZSBgKz1gIGFyZSBkZXN1Z2FyZWQgdG8g
YSBsb2FkIG9mIHRoZSBsb2FkIHZhbHVlLCB0aGUgdW5kZXJseWluZyBvcGVyYXRvciAobGlrZSBg
K2ApLCBhbmQgYSBzdG9yZSBvZiB0aGUgbmV3IHZhbHVlLiBJdCdzIG5vdCBwb3NzaWJsZSB0byBv
dmVycmlkZSBgKz1gLCBgLT1gLCBldGMuCi0tIGB4KytgIGFuZCBgKyt4YCBib3RoIGNhbGwgdGhl
IHNhbWUgb3BlcmF0b3Igb3ZlcmxvYWQuIGBvcGVyYXRvcisrYCB0YWtlcyB0aGUgb2xkIHZhbHVl
IGFuZCByZXR1cm5zIGEgbmV3IG9uZTsgZm9yIGV4YW1wbGUgdGhlIGJ1aWx0LWluIGArK2AgZm9y
IGBpbnRgIGNvdWxkIGJlIHdyaXR0ZW4gYXM6IGBpbnQgb3BlcmF0b3IrKyhpbnQgdmFsdWUpIHsg
cmV0dXJuIHZhbHVlICsgMTsgfWAuCi0tIGBvcGVyYXRvcj09YCBjYW4gYmUgb3ZlcmxvYWRlZCwg
YnV0IGAhPWAgaXMgYXV0b21hdGljYWxseSBzeW50aGVzaXplZCBhbmQgY2Fubm90IGJlIG92ZXJs
b2FkZWQuCi0KLVNvbWUgb3BlcmF0b3JzIGFuZCBvdmVybG9hZHMgYXJlIHJlc3RyaWN0ZWQ6Ci0K
LS0gYCFgLCBgJiZgLCBhbmQgYHx8YCBhcmUgYnVpbHQtaW4gb3BlcmF0aW9ucyBvbiB0aGUgYGJv
b2xgIHR5cGUuCi0tIFNlbGYtY2FzdHMgKGBUKFQpYCkgYXJlIGFsd2F5cyB0aGUgaWRlbnRpdHkg
ZnVuY3Rpb24uCi0tIENhc3RzIHdpdGggbm8gYXJndW1lbnRzIChgVCgpYCkgYWx3YXlzIHJldHVy
biB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGhhdCB0eXBlLiBFdmVyeSB0eXBlIGhhcyBhIGRlZmF1
bHQgdmFsdWUgKGAwYCwgYG51bGxgLCBvciB0aGUgZXF1aXZhbGVudCBmb3IgZWFjaCBmaWVsZCku
Ci0KLUNhc3Qgb3ZlcmxvYWRpbmcgYWxsb3dzIGZvciBzdXBwb3J0aW5nIGNvbnZlcnNpb25zIGJl
dHdlZW4gdHlwZXMgYW5kIGZvciBjcmVhdGluZyBjb25zdHJ1Y3RvcnMgZm9yIGN1c3RvbSB0eXBl
cy4gSGVyZSBpcyBhbiBleGFtcGxlIG9mIGNhc3Qgb3ZlcmxvYWRpbmcgYmVpbmcgdXNlZCB0byBj
cmVhdGUgYSBjb25zdHJ1Y3RvcjoKLQotICAgIHN0cnVjdCBDb21wbGV4PFQ+IHsKLSAgICAgICAg
VCByZWFsOwotICAgICAgICBUIGltYWc7Ci0gICAgfQotICAgIG9wZXJhdG9yPFQ+IENvbXBsZXg8
VD4oVCByZWFsLCBUIGltYWcpCi0gICAgewotICAgICAgICBDb21wbGV4PFQ+IHJlc3VsdDsKLSAg
ICAgICAgcmVzdWx0LnJlYWwgPSByZWFsOwotICAgICAgICByZXN1bHQuaW1hZyA9IGltYWc7Ci0g
ICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQotICAgIAotICAgIENvbXBsZXg8ZmxvYXQ+IGkg
PSBDb21wbGV4PGZsb2F0PigwLCAxKTsKLQotV1NMIHN1cHBvcnRzIGFjY2Vzc29yIG92ZXJsb2Fk
aW5nIGFzIHBhcnQgb2YgdGhlIG9wZXJhdG9yIG92ZXJsb2FkaW5nIHN5bnRheC4gVGhpcyBnaXZl
cyB0aGUgcHJvZ3JhbW1lciBicm9hZCBwb3dlcnMuIEZvciBleGFtcGxlOgotCi0gICAgc3RydWN0
IEZvbyB7Ci0gICAgICAgIGludCB4OwotICAgICAgICBpbnQgeTsKLSAgICB9Ci0gICAgaW50IG9w
ZXJhdG9yLnN1bShGb28gZm9vKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGZvby54ICsgZm9vLnk7
Ci0gICAgfQotCi1JdCdzIHBvc3NpYmxlIHRvIHNheSBgZm9vLnN1bWAgdG8gY2FsbCB0aGUgYG9w
ZXJhdG9yLnN1bWAgZnVuY3Rpb24uIEJvdGggZ2V0dGVycyBhbmQgc2V0dGVycyBjYW4gYmUgcHJv
dmlkZWQ6Ci0KLSAgICBzdHJ1Y3QgRm9vIHsKLSAgICAgICAgaW50IHZhbHVlOwotICAgIH0KLSAg
ICBkb3VibGUgb3BlcmF0b3IuZG91YmxlVmFsdWUoRm9vIHZhbHVlKQotICAgIHsKLSAgICAgICAg
cmV0dXJuIGRvdWJsZSh2YWx1ZS52YWx1ZSk7Ci0gICAgfQotICAgIEZvbyBvcGVyYXRvci5kb3Vi
bGVWYWx1ZT0oRm9vIHZhbHVlLCBkb3VibGUgZG91YmxlVmFsdWUpCi0gICAgewotICAgICAgICB2
YWx1ZS52YWx1ZSA9IGludChkb3VibGVWYWx1ZSk7Ci0gICAgICAgIHJldHVybiB2YWx1ZTsKLSAg
ICB9Ci0KLVByb3ZpZGluZyBib3RoIGdldHRlciBhbmQgc2V0dGVyIG92ZXJsb2FkcyBtYWtlcyBg
ZG91YmxlVmFsdWVgIGJlaGF2ZSBhbG1vc3QgYXMgaWYgaXQgd2FzIGEgZmllbGQgb2YgYEZvb2Au
IEZvciBleGFtcGxlLCBpdCdzIHBvc3NpYmxlIHRvIHNheToKLQotICAgIEZvbyBmb287Ci0gICAg
Zm9vLnZhbHVlID0gNDI7Ci0gICAgZm9vLmRvdWJsZVZhbHVlICo9IDI7IC8vIE5vdyBmb28udmFs
dWUgaXMgODQKLQotSXQncyBhbHNvIHBvc3NpYmxlIHRvIHByb3ZpZGUgYW4gYWRkcmVzcy1nZXR0
aW5nIG92ZXJsb2FkIGNhbGxlZCBhbiAqYW5kZXIqOgotCi0gICAgc3RydWN0IEZvbyB7Ci0gICAg
ICAgIGludCB2YWx1ZTsKLSAgICB9Ci0gICAgdGhyZWFkIGludF4gb3BlcmF0b3ImLnZhbHVlQWxp
YXModGhyZWFkIEZvb14gZm9vKQotICAgIHsKLSAgICAgICAgcmV0dXJuICZmb28tPnZhbHVlOwot
ICAgIH0KLQotUHJvdmlkaW5nIGp1c3QgdGhpcyBvdmVybG9hZCBmb3IgYSBwb2ludGVyIHR5cGUg
aW4gZXZlcnkgYWRkcmVzcyBzcGFjZSBnaXZlcyB0aGUgc2FtZSBwb3dlciBhcyBvdmVybG9hZGlu
ZyBnZXR0ZXJzIGFuZCBzZXR0ZXJzLiBBZGRpdGlvbmFsbHksIGl0IG1ha2VzIGl0IHBvc3NpYmxl
IHRvIGAmZm9vLnZhbHVlQWxpYXNgLgotCi1UaGUgc2FtZSBvdmVybG9hZGluZyBwb3dlciBpcyBw
cm92aWRlZCBmb3IgYXJyYXkgYWNjZXNzZXMuIEZvciBleGFtcGxlOgotCi0gICAgc3RydWN0IFZl
Y3RvcjxUPiB7Ci0gICAgICAgIFQgeDsKLSAgICAgICAgVCB5OwotICAgIH0KLSAgICB0aHJlYWQg
VF4gb3BlcmF0b3ImW10odGhyZWFkIFReIHB0ciwgdWludCBpbmRleCkKLSAgICB7Ci0gICAgICAg
IHJldHVybiBpbmRleCA/ICZwdHItPnkgOiAmcHRyLT54OwotICAgIH0KLQotQWx0ZXJuYXRpdmVs
eSwgaXQncyBwb3NzaWJsZSB0byBvdmVybG9hZCBnZXR0ZXJzIGFuZCBzZXR0ZXJzIChgb3BlcmF0
b3JbXWAgYW5kIGBvcGVyYXRvcltdPWApLgotCi0jIE1hcHBpbmcgb2YgQVBJIGNvbmNlcHRzCi0K
LVdTTCBpcyBkZXNpZ25lZCB0byBiZSB1c2VmdWwgYXMgYm90aCBhIGdyYXBoaWNzIHNoYWRpbmcg
bGFuZ3VhZ2UgYW5kIGFzIGEgY29tcHV0YXRpb24gbGFuZ3VhZ2UuIEhvd2V2ZXIsIHRoZXNlIHR3
byBlbnZpcm9ubWVudHMgaGF2ZQotc2xpZ2h0bHkgZGlmZmVyZW50IHNlbWFudGljcy4KLQotV2hl
biB1c2luZyBXU0wgYXMgYSBncmFwaGljcyBzaGFkaW5nIGxhbmd1YWdlLCB0aGVyZSBpcyBhIGRp
c3RpbmN0aW9uIGJldHdlZW4gKmVudHJ5LXBvaW50cyogYW5kICpub24tZW50cnktcG9pbnRzKi4g
RW50cnkgcG9pbnRzIGFyZSB0b3AtbGV2ZWwgZnVuY3Rpb25zIHdoaWNoIGhhdmUgZWl0aGVyIHRo
ZSBgdmVydGV4YCBvciBgZnJhZ21lbnRgIGtleXdvcmQgaW4gZnJvbnQgb2YgdGhlaXIgZGVjbGFy
YXRpb24uIEVudHJ5IHBvaW50cyBtYXkgbm90IGJlIGZvcndhcmQgZGVjbGFyZWQuIEFuIGVudHJ5
IHBvaW50IGFubm90YXRlZCB3aXRoIHRoZSBgdmVydGV4YCBrZXl3b3JkIG1heSBub3QgYmUgdXNl
ZCBhcyBhIGZyYWdtZW50IHNoYWRlciwgYW5kIGFuIGVudHJ5IHBvaW50IGFubm90YXRlZCB3aXRo
IHRoZSBgZnJhZ21lbnRgIGtleXdvcmQgbWF5IG5vdCBiZSB1c2VkIGFzIGEgdmVydGV4IHNoYWRl
ci4gTm8gYXJndW1lbnQgbm9yIHJldHVybiB2YWx1ZSBvZiBhbiBlbnRyeSBwb2ludCBtYXkgYmUg
YSBwb2ludGVyLiBFbnRyeSBwb2ludHMgbXVzdCBub3QgYWNjZXB0IHR5cGUgYXJndW1lbnRzIChh
bHNvIGtub3duIGFzICJnZW5lcmljcyIpLgotCi0jIyBWZXJ0ZXggZW50cnkgcG9pbnRzCi0KLVdl
YkdQVSdzIEFQSSBwYXNzZXMgZGF0YSB0byBhIFdTTCB2ZXJ0ZXggc2hhZGVyIGluIGZvdXIgd2F5
czoKLQotLSBBdHRyaWJ1dGVzCi0tIEJ1ZmZlcmVkIGRhdGEKLS0gVGV4dHVyZSBkYXRhCi0tIFNh
bXBsZXJzCi0KLUVhY2ggb2YgdGhlc2UgQVBJIG9iamVjdHMgaXMgcmVmZXJyZWQgdG8gYnkgbmFt
ZSBmcm9tIHRoZSBBUEkuIFZhcmlhYmxlcyBpbiBXU0wgYXJlIG5vdCBhbm5vdGF0ZWQgd2l0aCBl
eHRyYSBBUEktdmlzaWJsZSBuYW1lcyAobGlrZSB0aGV5IGFyZSBpbiBzb21lIG90aGVyIGdyYXBo
aWNzIEFQSXMpLgotCi1WYXJpYWJsZXMgYXJlIHBhc3NlZCB0byB2ZXJ0ZXggc2hhZGVycyBhcyBh
cmd1bWVudHMgdG8gYSB2ZXJ0ZXggZW50cnkgcG9pbnQuIEVhY2ggYnVmZmVyIGlzIHJlcHJlc2Vu
dGVkIGFzIGFuIGFyZ3VtZW50IHdpdGggYW4gYXJyYXkgcmVmZXJlbmNlIHR5cGUgKHVzaW5nIHRo
ZSBgW11gIHN5bnRheCkuIFRleHR1cmVzIGFuZCBzYW1wbGVycyBhcmUgcmVwcmVzZW50ZWQgYnkg
YXJndW1lbnRzIHdpdGggdGhlIGB0ZXh0dXJlYCBhbmQgYHNhbXBsZXJgIHR5cGVzLCByZXNwZWN0
aXZlbHkuIEFsbCBvdGhlciBub24tYnVpbHRpbiBhcmd1bWVudHMgdG8gYSB2ZXJ0ZXggZW50cnkg
cG9pbnQgYXJlIGltcGxpZWQgdG8gYmUgYXR0cmlidXRlcy4KLQotU29tZSBhcmd1bWVudHMgYXJl
IHJlY29nbml6ZWQgYnkgdGhlIGNvbXBpbGVyIGZyb20gdGhlaXIgbmFtZSBhbmQgdHlwZS4gVGhl
c2UgYXJndW1lbnRzIHByb3ZpZGUgYnVpbHQtaW4gZnVuY3Rpb25hbGl0eSBpbmhlcmVudCBpbiB0
aGUgZ3JhcGhpY3MgcGlwZWxpbmUuIEZvciBleGFtcGxlLCBhbiBhcmd1bWVudCBvZiB0aGUgZm9y
bSBgaW50IHdzbF92ZXJ0ZXhJRGAgcmVmZXJzIHRvIHRoZSBJRCBvZiB0aGUgY3VycmVudCB2ZXJ0
ZXgsIGFuZCBpcyBub3QgcmVjb2duaXplZCBhcyBhbiBhdHRyaWJ1dGUuIEFsbCBub24tYnVpbHRp
biBhcmd1bWVudHMgdG8gYSB2ZXJ0ZXggZW50cnkgcG9pbnQgbXVzdCBiZSBhc3NvY2lhdGVkIHdp
dGggYW4gQVBJIG9iamVjdCB3aGVuZXZlciBhbnkgZHJhdyBjYWxsIHVzaW5nIHRoZSB2ZXJ0ZXgg
ZW50cnkgcG9pbnQgaXMgaW52b2tlZC4gT3RoZXJ3aXNlLCB0aGUgZHJhdyBjYWxsIHdpbGwgZmFp
bC4KLQotVGhlIG9ubHkgd2F5IHRvIHBhc3MgZGF0YSBiZXR3ZWVuIHN1Y2Nlc3NpdmUgc2hhZGVy
IHN0YWdlcyB3aXRoaW4gYSBzaW5nbGUgZHJhdyBjYWxsIGlzIGJ5IHJldHVybiB2YWx1ZS4gQW4g
ZW50cnkgcG9pbnQgbXVzdCBpbmRpY2F0ZSB0aGF0IGl0IHJldHVybnMgYSBjb2xsZWN0aW9uIG9m
IHZhbHVlcyBjb250YWluZWQgd2l0aGluIGEgc3RydWN0dXJlLiBFdmVyeSB2YXJpYWJsZSBpbnNp
ZGUgdGhpcyBzdHJ1Y3R1cmUsIHJlY3Vyc2l2ZWx5LCBpcyBwYXNzZWQgdG8gdGhlIG5leHQgc3Rh
Z2UgaW4gdGhlIGdyYXBoaWNzIHBpcGVsaW5lLiBNZW1iZXJzIG9mIHRoaXMgc3RydWN0IG1heSBh
bHNvIGJlIG91dHB1dCBidWlsdC1pbiB2YXJpYWJsZXMuIEZvciBleGFtcGxlLCBhIHZlcnRleCBl
bnRyeSBwb2ludCBtYXkgcmV0dXJuIGEgc3RydWN0IHdoaWNoIGNvbnRhaW5zIGEgbWVtYmVyIGBm
bG9hdDQgd3NsX1Bvc2l0aW9uYCwgYW5kIHRoaXMgdmFyaWFibGUgd2lsbCByZXByZXNlbnQgdGhl
IHJhc3Rlcml6ZWQgcG9zaXRpb24gb2YgdGhlIHZlcnRleC4gQnVmZmVycyAoYXMgZGVzY3JpYmVk
IGJ5IFdTTCBhcnJheSByZWZlcmVuY2VzKSwgdGV4dHVyZXMsIGFuZCBzYW1wbGVycyBtdXN0IG5v
dCBiZSBwcmVzZW50IGluIHRoaXMgcmV0dXJuZWQgc3RydWN0LiBCdWlsdC1pbiB2YXJpYWJsZXMg
bXVzdCBuZXZlciBhcHBlYXIgdHdpY2UgaW5zaWRlIHRoZSByZXR1cm5lZCBzdHJ1Y3R1cmUuCi0K
LSMjIEZyYWdtZW50IGVudHJ5IHBvaW50cwotCi1GcmFnbWVudCBlbnRyeSBwb2ludHMgbWF5IGFj
Y2VwdCBvbmUgYXJndW1lbnQgd2l0aCB0aGUgdHlwZSB0aGF0IHRoZSBwcmV2aW91cyBzaGFkZXIg
c3RhZ2UgcmV0dXJuZWQuIFRoZSBhcmd1bWVudCBuYW1lIGZvciB0aGlzIGFyZ3VtZW50IG11c3Qg
YmUgYHN0YWdlSW5gLiBJbiBhZGRpdGlvbiB0byB0aGlzIGFyZ3VtZW50LCBmcmFnbWVudCBlbnRy
eSBwb2ludHMgbWF5IGFjY2VwdCBidWZmZXJzLCB0ZXh0dXJlcywgYW5kIHNhbXBsZXJzIGFzIGFy
Z3VtZW50cyBpbiB0aGUgc2FtZSB3YXkgdGhhdCB2ZXJ0ZXggZW50cnkgcG9pbnRzIGFjY2VwdCB0
aGVtLiBGcmFnbWVudCBlbnRyeSBwb2ludHMgYWxzbyBtdXN0IHJldHVybiBhIHN0cnVjdCwgYW5k
IGFsbCBtZW1iZXJzIG9mIHRoaXMgc3RydWN0IG11c3QgYmUgYnVpbHQtaW4gdmFyaWFibGVzLiBU
aGUgc2V0IG9mIHJlY29nbml6ZWQgYnVpbHQtaW4gdmFyaWFibGVzIHdoaWNoIG1heSBiZSBhY2Nl
cHRlZCBvciByZXR1cm5lZCBmcm9tIGFuIGVudHJ5IHBvaW50IGlzIGRpZmZlcmVudCBiZXR3ZWVu
IGFsbCB0eXBlcyBvZiBlbnRyeSBwb2ludHMuCi0KLUZvciBleGFtcGxlLCB0aGlzIHdvdWxkIGJl
IGEgdmFsaWQgZ3JhcGhpY3MgcHJvZ3JhbToKLQotICAgIHN0cnVjdCBWZXJ0ZXhJbnB1dCB7Ci0g
ICAgICAgIGZsb2F0MiBwb3NpdGlvbjsKLSAgICAgICAgZmxvYXQzIGNvbG9yOwotICAgIH0KLSAg
ICAKLSAgICBzdHJ1Y3QgVmVydGV4T3V0cHV0IHsKLSAgICAgICAgZmxvYXQ0IHdzbF9Qb3NpdGlv
bjsKLSAgICAgICAgZmxvYXQzIGNvbG9yOwotICAgIH0KLSAgICAKLSAgICBzdHJ1Y3QgRnJhZ21l
bnRPdXRwdXQgewotICAgICAgICBmbG9hdDQgd3NsX0NvbG9yOwotICAgIH0KLSAgICAKLSAgICB2
ZXJ0ZXggVmVydGV4T3V0cHV0IHZlcnRleFNoYWRlcihWZXJ0ZXhJbnB1dCB2ZXJ0ZXhJbnB1dCkg
ewotICAgICAgICBWZXJ0ZXhPdXRwdXQgcmVzdWx0OwotICAgICAgICByZXN1bHQud3NsX1Bvc2l0
aW9uID0gZmxvYXQ0KHZlcnRleElucHV0LnBvc2l0aW9uLCAwLiwgMS4pOwotICAgICAgICByZXN1
bHQuY29sb3IgPSB2ZXJ0ZXhJbnB1dC5jb2xvcjsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAg
ICB9Ci0gICAgCi0gICAgZnJhZ21lbnQgRnJhZ21lbnRPdXRwdXQgZnJhZ21lbnRTaGFkZXIoVmVy
dGV4T3V0cHV0IHN0YWdlSW4pIHsKLSAgICAgICAgRnJhZ21lbnRPdXRwdXQgcmVzdWx0OwotICAg
ICAgICByZXN1bHQud3NsX0NvbG9yID0gZmxvYXQ0KHN0YWdlSW4uY29sb3IsIDEuKTsKLSAgICAg
ICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0KLSMjIENvbXB1dGUgZW50cnkgcG9pbnRzCi0KLVdl
YkdQVSdzIEFQSSBwYXNzZXMgZGF0YSB0byBhIGNvbXB1dGUgc2hhZGVyIGluIHRocmVlIHdheXM6
Ci0KLS0gQnVmZmVyZWQgZGF0YQotLSBUZXh0dXJlIGRhdGEKLS0gU2FtcGxlcnMKLQotQ29tcHV0
ZSBlbnRyeSBwb2ludHMgc3RhcnQgd2l0aCB0aGUga2V5d29yZCBgY29tcHV0ZWAuIFRoZSByZXR1
cm4gdHlwZSBmb3IgYSBjb21wdXRlIGVudHJ5IHBvaW50IG11c3QgYmUgYHZvaWRgLiBFYWNoIGJ1
ZmZlciBpcyByZXByZXNlbnRlZCBhcyBhbiBhcmd1bWVudCB3aXRoIGFuIGFycmF5IHJlZmVyZW5j
ZSB0eXBlICh1c2luZyB0aGUgYFtdYCBzeW50YXgpLiBUZXh0dXJlcyBhbmQgc2FtcGxlcnMgYXJl
IHJlcHJlc2VudGVkIGJ5IGFyZ3VtZW50cyB3aXRoIHRoZSBgdGV4dHVyZWAgYW5kIGBzYW1wbGVy
YCB0eXBlcywgcmVzcGVjdGl2ZWx5LiBDb21wdXRlIGVudHJ5IHBvaW50cyBtYXkgYWxzbyBhY2Nl
cHQgYnVpbHQtaW4gdmFyaWFibGVzIGFzIGFyZ3VtZW50cy4gQXJndW1lbnRzIG9mIGFueSBvdGhl
ciB0eXBlIGFyZSBkaXNhbGxvd2VkLiBBcmd1bWVudHMgbWF5IG5vdCB1c2UgdGhlIGB0aHJlYWRn
cm91cGAgbWVtb3J5IHNwYWNlLgotCi0jIEVycm9yIGhhbmRsaW5nCi0KLUVycm9ycyBtYXkgb2Nj
dXIgZHVyaW5nIHNoYWRlciBwcm9jZXNzaW5nLiBGb3IgZXhhbXBsZSwgdGhlIHNoYWRlciBtYXkg
YXR0ZW1wdCB0byBkZXJlZmVyZW5jZSBhIGBudWxsYCBhcnJheSByZWZlcmVuY2UuIElmIHRoaXMg
b2NjdXJzLCB0aGUgc2hhZGVyIHN0YWdlIGltbWVkaWF0ZWx5IGNvbXBsZXRlcyBzdWNjZXNzZnVs
bHkuIFRoZSBlbnRyeSBwb2ludCBpbW1lZGlhdGVseSByZXR1cm5zIGEgc3RydWN0IHdpdGggYWxs
IGZpZWxkcyBzZXQgdG8gMC4gQWZ0ZXIgdGhpcyBldmVudCwgc3Vic2VxdWVudCBzaGFkZXIgc3Rh
Z2VzIHdpbGwgcHJvY2VlZCBhcyBpZiB0aGVyZSB3YXMgbm8gcHJvYmxlbS4KLQotQnVmZmVyIGFu
ZCB0ZXh0dXJlIHJlYWRzIGFuZCB3cml0ZXMgYmVmb3JlIHRoZSBlcnJvciBhbGwgY29tcGxldGUs
IGFuZCBoYXZlIHRoZSBzYW1lIHNlbWFudGljcyBhcyBpZiBubyBlcnJvciBoYWQgb2NjdXJyZWQu
IEJ1ZmZlciBhbmQgdGV4dHVyZSByZWFkcyBhbmQgd3JpdGVzIGFmdGVyIHRoZSBlcnJvciBkbyBu
b3Qgb2NjdXIuCi0KLSMgU3VtbWFyeQotCi1XU0wgaXMgYSB0eXBlLXNhZmUgbGFuZ3VhZ2UgYmFz
ZWQgb24gQyBzeW50YXguIEl0IGVsaW1pbmF0ZXMgc29tZSBDIGZlYXR1cmVzLCBsaWtlIHVuaW9u
cyBhbmQgcG9pbnRlciBjYXN0cywgYnV0IGFkZHMgb3RoZXIgbW9kZXJuIGZlYXR1cmVzIGluIHRo
ZWlyIHBsYWNlLCBsaWtlIGdlbmVyaWNzIGFuZCBvdmVybG9hZGluZy4KLQotIyBBZGRpdGlvbmFs
IExpbWl0YXRpb25zCi0KLVRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBsaW1pdGF0aW9ucyBtYXkg
YmUgcGxhY2VkIG9uIGEgV1NMIHByb2dyYW06Ci0KLS0gYGRldmljZWAsIGBjb25zdGFudGAsIGFu
ZCBgdGhyZWFkZ3JvdXBgIHBvaW50ZXJzIGNhbm5vdCBwb2ludCB0byBkYXRhIHRoYXQgbWF5IGhh
dmUgcG9pbnRlcnMgaW4gaXQuIFRoaXMgc2FmZXR5IGNoZWNrIGlzIG5vdCBkb25lIGFzIHBhcnQg
b2YgdGhlIG5vcm1hbCB0eXBlIHN5c3RlbSBjaGVja3MuIEl0J3MgcGVyZm9ybWVkIG9ubHkgYWZ0
ZXIgaW5zdGFudGlhdGlvbi4KLS0gUG9pbnRlcnMgYW5kIGFycmF5IHJlZmVyZW5jZXMgKGNvbGxl
Y3RpdmVseSwgKnJlZmVyZW5jZXMqKSBtYXkgYmUgcmVzdHJpY3RlZCB0byBzdXBwb3J0IGNvbXBp
bGluZyB0byBTUElSLVYgKmxvZ2ljYWwgbW9kZSouIEluIHRoaXMgbW9kZSwgYXJyYXlzIG11c3Qg
bm90IHRyYW5zaXRpdmVseSBob2xkIHJlZmVyZW5jZXMuIFJlZmVyZW5jZXMgbXVzdCBiZSBpbml0
aWFsaXplZCB1cG9uIGRlY2xhcmF0aW9uIGFuZCBuZXZlciByZWFzc2lnbmVkLiBGdW5jdGlvbnMg
dGhhdCByZXR1cm4gcmVmZXJlbmNlcyBtdXN0IGhhdmUgb25lIHJldHVybiBwb2ludC4gVGVybmFy
eSBleHByZXNzaW9ucyBtYXkgbm90IHJldHVybiByZWZlcmVuY2VzLgotLSBHcmFwaGljcyBlbnRy
eSBwb2ludHMgbXVzdCB0cmFuc2l0aXZlbHkgbmV2ZXIgcmVmZXIgdG8gdGhlIGB0aHJlYWRncm91
cGAgbWVtb3J5IHNwYWNlLgotCi0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5n
dWFnZVJJL1dyYXBDaGVja2VyLmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvV3Jh
cENoZWNrZXIuanMKaW5kZXggNGNhZGM3ZDBkOWU2YTZkZmRhNTU1ZGFiODlkMDI3MTc3MGRiZDlh
Ny4uMGViNGU4MWVjMmZjMzYzOTk3MGQ5YzYzYTNmYmNjZTk5NmNiNDEwYSAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvV3JhcENoZWNrZXIuanMKKysrIGIvVG9vbHMv
V2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvV3JhcENoZWNrZXIuanMKQEAgLTUyLDExICs1Miw2IEBA
IGNsYXNzIFdyYXBDaGVja2VyIGV4dGVuZHMgVmlzaXRvciB7CiAgICAgICAgIHRocm93IG5ldyBF
cnJvcigiRm91bmQgdW53cmFwcGVkICIgKyBub2RlLmNvbnN0cnVjdG9yLm5hbWUgKyAiIGF0ICIg
KyBvcmlnaW5TdHJpbmcobm9kZSkgKyAiOiAiICsgbm9kZSArICJcbldoaWxlIHZpc2l0aW5nICIg
KyB0aGlzLl9zdGFydE5vZGUuY29uc3RydWN0b3IubmFtZSArICIgYXQgIiArIG9yaWdpblN0cmlu
Zyh0aGlzLl9zdGFydE5vZGUub3JpZ2luKSArICI6ICIgKyB0aGlzLl9zdGFydE5vZGUpOwogICAg
IH0KICAgICAKLSAgICB2aXNpdENvbnN0ZXhwclR5cGVQYXJhbWV0ZXIobm9kZSkKLSAgICB7Ci0g
ICAgICAgIHRoaXMuX2ZvdW5kVW53cmFwcGVkKG5vZGUpOwotICAgIH0KLSAgICAKICAgICB2aXNp
dEZ1bmNQYXJhbWV0ZXIobm9kZSkKICAgICB7CiAgICAgICAgIHRoaXMuX2ZvdW5kVW53cmFwcGVk
KG5vZGUpOwpAQCAtNzYsMTQgKzcxLDQgQEAgY2xhc3MgV3JhcENoZWNrZXIgZXh0ZW5kcyBWaXNp
dG9yIHsKICAgICB7CiAgICAgICAgIHRoaXMuX2ZvdW5kVW53cmFwcGVkKG5vZGUpOwogICAgIH0K
LSAgICAKLSAgICB2aXNpdFR5cGVWYXJpYWJsZShub2RlKQotICAgIHsKLSAgICAgICAgdGhpcy5f
Zm91bmRVbndyYXBwZWQobm9kZSk7Ci0gICAgfQotICAgIAotICAgIC8vIE5PVEU6IFRoaXMgZG9l
cyBub3Qga25vdyBob3cgdG8gaGFuZGxlIE5hdGl2ZVR5cGVJbnN0YW5jZSwgYmVjYXVzZSB0aGlz
IGlzIG5ldmVyIGNhbGxlZCBvbiBpbnN0YW50aWF0ZWQKLSAgICAvLyBjb2RlLiBPbmNlIGNvZGUg
aXMgaW5zdGFudGlhdGVkLCB5b3UgY2Fubm90IGluc3RhbnRpYXRlIGl0IGZ1cnRoZXIuCi0gICAg
Ci0gICAgLy8gTk9URTogVGhpcyBuZWVkcyB0byBiZSBrZXB0IGluIHN5bmMgd2l0aCBBdXRvV3Jh
cHBlci4KIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL2luZGV4
Lmh0bWwgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9pbmRleC5odG1sCmluZGV4IDgw
OTRiMTkzNzgxYjRhYTliMGMzOTA5ZTlhOTFkMjgxNWYyYjJhYmEuLmE2MjdlNDY4NjgwYzcwNDQ1
NzliNzUxYjg2OGNmMzQ2ZjI0NzIyZWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdM
YW5ndWFnZVJJL2luZGV4Lmh0bWwKKysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkv
aW5kZXguaHRtbApAQCAtMTIsNiArMTIsNyBAQAogPHNjcmlwdCBzcmM9IkNyZWF0ZUxpdGVyYWxU
eXBlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24u
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IlN3aXp6bGVPcC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iTmF0aXZlVHlwZS5qcyI+PC9zY3JpcHQ+CiAKIDxzY3JpcHQgc3JjPSJBZGRyZXNz
U3BhY2UuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IkFub255bW91c1ZhcmlhYmxlLmpzIj48
L3NjcmlwdD4KQEAgLTIyLDcgKzIzLDE0IEBACiA8c2NyaXB0IHNyYz0iQmxvY2suanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9IkJvb2xMaXRlcmFsLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSJCcmVhay5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iQnVpbHRpblZlY3RvckNhc3RzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJCdWlsdGluVmVjdG9yR2V0dGVyLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJCdWlsdGluVmVjdG9yU2V0dGVyLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJCdWlsdGluVmVjdG9ySW5kZXhHZXR0ZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9IkJ1aWx0aW5WZWN0b3JJbmRleFNldHRlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
QnVpbHRpblZlY3RvckVxdWFsaXR5T3BlcmF0b3IuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
IkNhbGxFeHByZXNzaW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJDYWxsRXhwcmVzc2lv
blR5cGVBcmd1bWVudFJlc29sdmVyLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJDYWxsRnVu
Y3Rpb24uanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IkNoZWNrLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSJDaGVja0xpdGVyYWxUeXBlcy5qcyI+PC9zY3JpcHQ+CkBAIC0zNiw3ICs0NCw2
IEBACiA8c2NyaXB0IHNyYz0iQ2xvbmVQcm9ncmFtLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSJDb21tYUV4cHJlc3Npb24uanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IkNvbnN0ZXhwckZv
bGRlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iQ29uc3RleHByVHlwZVBhcmFtZXRlci5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iQ29udGludWUuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9IkNvbnZlcnRQdHJUb0FycmF5UmVmRXhwcmVzc2lvbi5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iRG9XaGlsZUxvb3AuanMiPjwvc2NyaXB0PgpAQCAtNTUsNyArNjIsNiBAQAogPHNj
cmlwdCBzcmM9IkV4dGVybmFsT3JpZ2luLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJGaWVs
ZC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iRmluZEhpZ2hab21iaWVzLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSJGbGF0dGVuUHJvdG9jb2xFeHRlbmRzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSJGbGF0dGVuZWRTdHJ1Y3RPZmZzZXRHYXRoZXJlci5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iRmxvYXRMaXRlcmFsLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJGbG9h
dExpdGVyYWxUeXBlLmpzIj48L3NjcmlwdD4KQEAgLTYzLDcgKzY5LDYgQEAKIDxzY3JpcHQgc3Jj
PSJGb3JMb29wLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJGdW5jLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSJGdW5jRGVmLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJGdW5jSW5z
dGFudGlhdG9yLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJGdW5jUGFyYW1ldGVyLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJGdW5jdGlvbkxpa2VCbG9jay5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iSGlnaFpvbWJpZUZpbmRlci5qcyI+PC9zY3JpcHQ+CkBAIC03Myw3ICs3OCw2
IEBACiA8c2NyaXB0IHNyYz0iSW5mZXJUeXBlc0ZvckNhbGwuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9IklubGluZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iSW5saW5lci5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iSW5zdGFudGlhdGVJbW1lZGlhdGVzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSJJbnRMaXRlcmFsLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJJbnRM
aXRlcmFsVHlwZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iSW50cmluc2ljcy5qcyI+PC9z
Y3JpcHQ+CkBAIC05MSwxMSArOTUsMTQgQEAKIDxzY3JpcHQgc3JjPSJOYW1lUmVzb2x2ZXIuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ik5hdGl2ZUZ1bmMuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ik5hdGl2ZUZ1bmNJbnN0YW5jZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iTmF0
aXZlUGFyYW1ldGVyaXplZFR5cGUuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ik5hdGl2ZVR5
cGUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ik5hdGl2ZVR5cGVJbnN0YW5jZS5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iTm9ybWFsVXNlUHJvcGVydHlSZXNvbHZlci5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iTnVsbExpdGVyYWwuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ik51bGxUeXBlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJPcGVyYXRvckFuZGVySW5kZXgu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ik9wZXJhdG9yQXJyYXlSZWZMZW5ndGguanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ik9wZXJhdG9yQm9vbC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iT3JpZ2luS2luZC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iT3ZlcmxvYWRSZXNv
bHV0aW9uRmFpbHVyZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iUGFyc2UuanMiPjwvc2Ny
aXB0PgpAQCAtMTAzLDE0ICsxMTAsMTEgQEAKIDxzY3JpcHQgc3JjPSJQcm9wZXJ0eVJlc29sdmVy
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJQcm9ncmFtLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSJQcm9ncmFtV2l0aFVubmVjZXNzYXJ5VGhpbmdzUmVtb3ZlZC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iUHJvdG9jb2wuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9IlByb3Rv
Y29sRGVjbC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iUHJvdG9jb2xGdW5jRGVjbC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iUHJvdG9jb2xSZWYuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9IlB0clR5cGUuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IlJlYWRNb2RpZnlXcml0
ZUV4cHJlc3Npb24uanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IlJlY3Vyc2lvbkNoZWNrZXIu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IlJlY3Vyc2l2ZVR5cGVDaGVja2VyLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJSZXNvbHZlQ2FsbEV4cHJlc3Npb25zV2l0aFR5cGVBcmd1bWVu
dHMuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IlJlc29sdmVOYW1lcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iUmVzb2x2ZU92ZXJsb2FkSW1wbC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iUmVzb2x2ZVByb3BlcnRpZXMuanMiPjwvc2NyaXB0PgpAQCAtMTIyLDE5ICsxMjYsMjMg
QEAKIDxzY3JpcHQgc3JjPSJTdGF0ZW1lbnRDbG9uZXIuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9IlN0cnVjdExheW91dEJ1aWxkZXIuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IlN0cnVj
dFR5cGUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9IlN1YnN0aXR1dGlvbi5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iU3dpdGNoQ2FzZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
U3dpdGNoU3RhdGVtZW50LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJTeW50aGVzaXplQXJy
YXlPcGVyYXRvckxlbmd0aC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iU3ludGhlc2l6ZUVu
dW1GdW5jdGlvbnMuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IlN5bnRoZXNpemVTdHJ1Y3RB
Y2Nlc3NvcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IlN5bnRoZXNpemVPcGVyYXRvckJv
b2wuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IlN5bnRoZXNpemVDb3B5Q29uc3RydWN0b3JP
cGVyYXRvci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iU3ludGhlc2l6ZURlZmF1bHRDb25z
dHJ1Y3Rvck9wZXJhdG9yLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJUcmFwU3RhdGVtZW50
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJUeXBlRGVmLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJUeXBlRGVmUmVzb2x2ZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9IlRlcm5h
cnlFeHByZXNzaW9uLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJUcmFwU3RhdGVtZW50Lmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJUeXBlRGVmLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSJUeXBlRGVmUmVzb2x2ZXIuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IlR5cGVPclZh
cmlhYmxlUmVmLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJUeXBlUGFyYW1ldGVyUmV3cml0
ZXIuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IlR5cGVSZWYuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9IlR5cGVWYXJpYWJsZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iVHlwZVZh
cmlhYmxlVHJhY2tlci5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iVHlwZWRWYWx1ZS5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iVWludExpdGVyYWwuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9IlVpbnRMaXRlcmFsVHlwZS5qcyI+PC9zY3JpcHQ+CkBAIC0xNDIsNiArMTUwLDcgQEAK
IDxzY3JpcHQgc3JjPSJVbnJlYWNoYWJsZUNvZGVDaGVja2VyLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSJWYXJpYWJsZURlY2wuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IlZhcmlhYmxl
UmVmLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJWZWN0b3JUeXBlLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSJWaXNpdGluZ1NldC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iV1N5
bnRheEVycm9yLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJXVHJhcEVycm9yLmpzIj48L3Nj
cmlwdD4KQEAgLTM0NCw3ICszNTMsNyBAQCBmdW5jdGlvbiBzZWxlY3RlZFNoYWRlcnNDaGFuZ2Vk
KGZyb21Db21waWxhdGlvbiA9IGZhbHNlKSB7CiAgICAgY3VycmVudFZlcnRleFNoYWRlciA9IGF2
YWlsYWJsZVZlcnRleFNoYWRlcnNbdmVydGV4U2hhZGVyU2VsZWN0LnNlbGVjdGVkSW5kZXhdOwog
ICAgIGN1cnJlbnRGcmFnbWVudFNoYWRlciA9IGF2YWlsYWJsZUZyYWdtZW50U2hhZGVyc1tmcmFn
bWVudFNoYWRlclNlbGVjdC5zZWxlY3RlZEluZGV4XTsKIAotICAgIGlubGluZWRWZXJ0ZXhTaGFk
ZXIgPSBwcm9ncmFtLmZ1bmNJbnN0YW50aWF0b3IuZ2V0VW5pcXVlKGN1cnJlbnRWZXJ0ZXhTaGFk
ZXIsIFtdKTsKKyAgICBpbmxpbmVkVmVydGV4U2hhZGVyID0gcHJvZ3JhbS5mdW5jSW5zdGFudGlh
dG9yLmdldFVuaXF1ZShjdXJyZW50VmVydGV4U2hhZGVyKTsKICAgICBfaW5saW5lRnVuY3Rpb24o
cHJvZ3JhbSwgaW5saW5lZFZlcnRleFNoYWRlciwgbmV3IFZpc2l0aW5nU2V0KGN1cnJlbnRWZXJ0
ZXhTaGFkZXIpKTsKIAogICAgIGFsbEFyZ3VtZW50SW5mb3MgPSBbXTsKQEAgLTQyNiw3ICs0MzUs
NyBAQCBmdW5jdGlvbiBydW5TaGFkZXJzKCkgewogICAgICAgICBmdW5jLnBhcmFtZXRlcnNbaV0u
ZVB0ci5jb3B5RnJvbShhcmd1bWVudEVQdHJzW2ldLmVQdHIsIGFyZ3VtZW50RVB0cnNbaV0uc2l6
ZSk7CiAgICAgbGV0IHJlc3VsdCA9IG5ldyBFdmFsdWF0b3IocHJvZ3JhbSkucnVuRnVuYyhmdW5j
KTsKIAotICAgIGlubGluZWRGcmFnbWVudFNoYWRlciA9IHByb2dyYW0uZnVuY0luc3RhbnRpYXRv
ci5nZXRVbmlxdWUoY3VycmVudEZyYWdtZW50U2hhZGVyLCBbXSk7CisgICAgaW5saW5lZEZyYWdt
ZW50U2hhZGVyID0gcHJvZ3JhbS5mdW5jSW5zdGFudGlhdG9yLmdldFVuaXF1ZShjdXJyZW50RnJh
Z21lbnRTaGFkZXIpOwogICAgIF9pbmxpbmVGdW5jdGlvbihwcm9ncmFtLCBpbmxpbmVkRnJhZ21l
bnRTaGFkZXIsIG5ldyBWaXNpdGluZ1NldChjdXJyZW50RnJhZ21lbnRTaGFkZXIpKTsKICAgICBm
dW5jID0gaW5saW5lZEZyYWdtZW50U2hhZGVyOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>