<?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>67177</bug_id>
          
          <creation_ts>2011-08-29 20:57:28 -0700</creation_ts>
          <short_desc>JavaScriptCore does not have a good mechanism for performance regression testing</short_desc>
          <delta_ts>2011-08-30 13:26:02 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>458675</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-29 20:57:28 -0700</bug_when>
    <thetext>Performance testing in JSC involves running some benchmark suites in browser or on the command-line.  In-browser tests are irreplaceable, since they give us the official results.  But we often use command-line benchmark results as a way of rapidly determining if a change affects performance the way we want (either progression or no change).  Command-line testing is meant to be convenient, but it often isn&apos;t, for the followiong reasons:

1) It&apos;s necessary to run benchmark suites separately.  There is one script for SunSpider, two sets of scripts for V8, and a totally separate script for Kraken.

2) It&apos;s necessary to execute three commands to compare VMs: one command to run benchmarks on one VM, another command to run benchmarks on another VM, and a third command (which involves copy-pasting text from the results of the previous two commands) to compare results.

3) The VMs are run entirely separately with no interleaving.  A slight change in behavior of the system (for example a change in network behavior, or some schedules system job) could systematically affect the results in favor of one VM or another.  This can be avoided with interleaving the VMs at fine granularity.  That way, systematic changes in system behavior are less likely to systematically affect results and conclusions.

It would be ideal if we had a script to automatically compare two (or more) VMs on all benchmark suites at once, interleave VM execution, and print complete summary results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458677</commentid>
    <comment_count>1</comment_count>
      <attachid>105571</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-29 21:08:29 -0700</bug_when>
    <thetext>Created attachment 105571
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458896</commentid>
    <comment_count>2</comment_count>
      <attachid>105571</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-08-30 07:46:55 -0700</bug_when>
    <thetext>Comment on attachment 105571
the patch

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

Seems OK to land this.

&gt; Tools/Scripts/bencher:3
&gt; +# Copyright (C) 2010 Apple Inc. All rights reserved.

It’s 2011</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459099</commentid>
    <comment_count>3</comment_count>
      <attachid>105670</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-30 12:45:25 -0700</bug_when>
    <thetext>Created attachment 105670
the patch (fix review)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459137</commentid>
    <comment_count>4</comment_count>
      <attachid>105670</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-30 13:25:58 -0700</bug_when>
    <thetext>Comment on attachment 105670
the patch (fix review)

Clearing flags on attachment: 105670

Committed r94103: &lt;http://trac.webkit.org/changeset/94103&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459138</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-30 13:26:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105571</attachid>
            <date>2011-08-29 21:08:29 -0700</date>
            <delta_ts>2011-08-30 12:45:25 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>bencher_patch_1.diff</filename>
            <type>text/plain</type>
            <size>52389</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDk0MDQxKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMjUgQEAKKzIwMTEtMDgtMjkgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBKYXZhU2NyaXB0Q29yZSBkb2VzIG5vdCBoYXZlIGEgZ29vZCBtZWNoYW5pc20gZm9y
IHBlcmZvcm1hbmNlCisgICAgICAgIHJlZ3Jlc3Npb24gdGVzdGluZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxNzcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIEFkZGVkIGEgbmV3IHNjcmlw
dCwgd2hpY2ggYWxsb3dzIGZvciB0ZXN0aW5nIG9uZSwgdHdvLCBvciBtb3JlIFZNcworICAgICAg
ICBhdCBvbmNlIG9uIFN1blNwaWRlciwgVjgsIGFuZCBLcmFrZW4gYmVuY2htYXJrcy4gIEJlbmNo
bWFyay9WTSBydW5zCisgICAgICAgIGFyZSBpbnRlcmxlYXZlZCBhdCByYW5kb20gdG8gbWluaW1p
emUgc3lzdGVtYXRpY3MuICBUaGUgcmVzdWx0cworICAgICAgICB0aGF0IGJlbmNoZXIgcHJpbnRz
IGluY2x1ZGVzIGFsbCBwb3NzaWJsZSByZWxldmFudCBpbmZvcm1hdGlvbiBhYm91dAorICAgICAg
ICBob3cgYmVuY2hlciB3YXMgaW52b2tlZC4gIEJlbmNoZXIgY2FuIGJlIGVhc2lseSB1c2VkIHRv
IG1lYXN1cmUKKyAgICAgICAgcGVyZm9ybWFuY2UgY2hhbmdlcyBkb3duIHRvIGZyYWN0aW9ucyBv
ZiBhIHBlcmNlbnQuCisgICAgICAgIAorICAgICAgICBCZW5jaGVyIGFsc28gaW5jbHVkZXMgZXhw
ZXJpbWVudGFsIHN1cHBvcnQgZm9yIHJ1bm5pbmcgYmVuY2htYXJrcyBpbgorICAgICAgICBhIER1
bXBSZW5kZXJUcmVlIHJlbGVhc2UgYnVpbGQuICBUaGlzIHdvcmtzIGluIFN1blNwaWRlciBhbmQg
VjgsIGJ1dAorICAgICAgICBub3QgeWV0IGluIEtyYWtlbi4gIFJ1bm5pbmcgYmVuY2htYXJrcyBp
biBEdW1wUmVuZGVyVHJlZSBtb3JlCisgICAgICAgIGNsb3NlbHkgbWltaWNzIHRoZSBwZXJmb3Jt
YW5jZSB3aGVuIHJ1bm5pbmcgaW4gYnJvd3Nlci4KKworICAgICAgICAqIFNjcmlwdHMvYmVuY2hl
cjogQWRkZWQuCisKIDIwMTEtMDgtMjkgIFRvbSBaYWtyYWpzZWsgIDx0b216QGNvZGVhdXJvcmEu
b3JnPgogCiAgICAgICAgIHNoZXJpZmZib3QgInVzYWdlIiBoZWxwIHN0YXRlbWVudHMgYXJlIHdy
b25nCkluZGV4OiBUb29scy9TY3JpcHRzL2JlbmNoZXIKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2Ny
aXB0cy9iZW5jaGVyCShyZXZpc2lvbiAwKQorKysgVG9vbHMvU2NyaXB0cy9iZW5jaGVyCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDE1OTEgQEAKKyMhL3Vzci9iaW4vZW52IHJ1YnkKKworIyBDb3B5
cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMg
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisjIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorIyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisjIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworIyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisjIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisjIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
IyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorIyBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorIyBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisjIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworcmVxdWlyZSAncnVieWdlbXMnCisKK3Jl
cXVpcmUgJ2dldG9wdGxvbmcnCityZXF1aXJlICdwYXRobmFtZScKK3JlcXVpcmUgJ3RlbXBmaWxl
JworCitiZWdpbgorICByZXF1aXJlICdqc29uJworcmVzY3VlIExvYWRFcnJvciA9PiBlCisgICRz
dGRlcnIucHV0cyAiSXQgZG9lcyBub3QgYXBwZWFyIHRoYXQgeW91IGhhdmUgdGhlICdqc29uJyBw
YWNrYWdlIGluc3RhbGxlZC4gIFRyeSBydW5uaW5nICdzdWRvIGdlbSBpbnN0YWxsIGpzb24nLiIK
KyAgZXhpdCAxCitlbmQKKworIyBDb25maWd1cmF0aW9uCisKK0NPTkZJR1VSQVRJT05fRkxOTSA9
IEVOVlsiSE9NRSJdKyIvLmJlbmNoZXIiCisKK3VubGVzcyBGaWxlVGVzdC5leGlzdD8gQ09ORklH
VVJBVElPTl9GTE5NCisgICRzdGRlcnIucHV0cyAiRXJyb3I6IG5vIGNvbmZpZ3VyYXRpb24gZmls
ZSBhdCB+Ly5iZW5jaGVyLiIKKyAgJHN0ZGVyci5wdXRzICJUaGlzIGZpbGUgc2hvdWxkIGNvbnRh
aW4gcGF0aHMgdG8gU3VuU3BpZGVyLCBWOCwgYW5kIEtyYWtlbiwgaW4gSlNPTiIKKyAgJHN0ZGVy
ci5wdXRzICJmb3JtYXQuICBGb3IgZXhhbXBsZToiCisgICRzdGRlcnIucHV0cyAieyBcInN1blNw
aWRlclBhdGhcIjogXCIvVm9sdW1lcy9EYXRhL3BpemxvL09wZW5Tb3VyY2UvUGVyZm9ybWFuY2VU
ZXN0cy9TdW5TcGlkZXIvdGVzdHMvc3Vuc3BpZGVyLTEuMFwiLCBcInY4UGF0aFwiOiBcIi9Wb2x1
bWVzL0RhdGEvcGl6bG8vT3BlblNvdXJjZS9QZXJmb3JtYW5jZVRlc3RzL1N1blNwaWRlci90ZXN0
cy92OC12NlwiLCBcImtyYWtlblBhdGhcIjogXCIvVm9sdW1lcy9EYXRhL3BpemxvL2tyYWtlbi9r
cmFrZW4tZTExOTQyMWNiMzI1L3Rlc3RzL2tyYWtlbi0xLjFcIiB9IgorICBleGl0IDEKK2VuZAor
CitDT05GSUdVUkFUSU9OID0gSlNPTi5wYXJzZShGaWxlOjpyZWFkKENPTkZJR1VSQVRJT05fRkxO
TSkpCisKK1NVTlNQSURFUl9QQVRIID0gQ09ORklHVVJBVElPTlsic3VuU3BpZGVyUGF0aCJdCitW
OF9QQVRIID0gQ09ORklHVVJBVElPTlsidjhQYXRoIl0KK0tSQUtFTl9QQVRIID0gQ09ORklHVVJB
VElPTlsia3Jha2VuUGF0aCJdCisKK0lCUl9MT09LVVA9WzAuMDA2MTU1ODMsIDAuMDk3NSwgMC4y
Mjg1MiwgMC4zNDE2MjgsIDAuNDMwNzQxLCAwLjUwMDUyNiwgMC41NTU5MzMsIAorICAgICAgICAg
ICAgMC42MDA3MDYsIDAuNjM3NTEzLCAwLjY2ODI0NCwgMC42OTQyNTQsIDAuNzE2NTM3LCAwLjcz
NTgyNywgMC43NTI2ODQsIAorICAgICAgICAgICAgMC43Njc1MzUsIDAuNzgwNzE2LCAwLjc5MjQ5
MiwgMC44MDMwNzQsIDAuODEyNjM0LCAwLjgyMTMxMywgMC44MjkyMjcsIAorICAgICAgICAgICAg
MC44MzY0NzIsIDAuODQzMTI5LCAwLjg0OTI2NywgMC44NTQ5NDMsIDAuODYwMjA5LCAwLjg2NTEw
NywgMC44Njk2NzQsIAorICAgICAgICAgICAgMC44NzM5NDIsIDAuODc3OTQxLCAwLjg4MTY5Mywg
MC44ODUyMjMsIDAuODg4NTQ4LCAwLjg5MTY4NiwgMC44OTQ2NTIsIAorICAgICAgICAgICAgMC44
OTc0NjEsIDAuOTAwMTI0LCAwLjkwMjY1MiwgMC45MDUwNTYsIDAuOTA3MzQzLCAwLjkwOTUyNCwg
MC45MTE2MDQsIAorICAgICAgICAgICAgMC45MTM1OSwgMC45MTU0OSwgMC45MTczMDgsIDAuOTE5
MDQ5LCAwLjkyMDcxOCwgMC45MjIzMiwgMC45MjM4NTksIDAuOTI1MzM4LCAKKyAgICAgICAgICAg
IDAuOTI2NzYxLCAwLjkyODEzLCAwLjkyOTQ0OSwgMC45MzA3MjEsIDAuOTMxOTQ4LCAwLjkzMzEz
MiwgMC45MzQyNzUsIDAuOTM1MzgsIAorICAgICAgICAgICAgMC45MzY0NDksIDAuOTM3NDgzLCAw
LjkzODQ4MywgMC45Mzk0NTIsIDAuOTQwMzkyLCAwLjk0MTMwMiwgMC45NDIxODUsIAorICAgICAg
ICAgICAgMC45NDMwNDIsIDAuOTQzODc0LCAwLjk0NDY4MiwgMC45NDU0NjcsIDAuOTQ2MjMsIDAu
OTQ2OTcyLCAwLjk0NzY5NCwgCisgICAgICAgICAgICAwLjk0ODM5NiwgMC45NDkwOCwgMC45NDk3
NDYsIDAuOTUwMzk1LCAwLjk1MTAyNywgMC45NTE2NDMsIDAuOTUyMjQ0LCAKKyAgICAgICAgICAg
IDAuOTUyODMxLCAwLjk1MzQwMywgMC45NTM5NjEsIDAuOTU0NTA2LCAwLjk1NTAzOSwgMC45NTU1
NTksIDAuOTU2MDY3LCAKKyAgICAgICAgICAgIDAuOTU2NTYzLCAwLjk1NzA0OSwgMC45NTc1MjQs
IDAuOTU3OTg4LCAwLjk1ODQ0MywgMC45NTg4ODcsIDAuOTU5MzIzLCAKKyAgICAgICAgICAgIDAu
OTU5NzQ5LCAwLjk2MDE2NiwgMC45NjA1NzUsIDAuOTYwOTc1LCAwLjk2MTM2OCwgMC45NjE3NTIs
IDAuOTYyMTI5LCAKKyAgICAgICAgICAgIDAuOTYyNDk5LCAwLjk2Mjg2MSwgMC45NjMyMTcsIDAu
OTYzNTY2LCAwLjk2MzkwOCwgMC45NjQyNDQsIDAuOTY0NTc0LCAKKyAgICAgICAgICAgIDAuOTY0
ODk3LCAwLjk2NTIxNSwgMC45NjU1MjcsIDAuOTY1ODM0LCAwLjk2NjEzNSwgMC45NjY0MzEsIDAu
OTY2NzIyLCAKKyAgICAgICAgICAgIDAuOTY3MDA3LCAwLjk2NzI4OCwgMC45Njc1NjQsIDAuOTY3
ODM2LCAwLjk2ODEwMywgMC45NjgzNjYsIDAuOTY4NjI0LCAKKyAgICAgICAgICAgIDAuOTY4ODc4
LCAwLjk2OTEyOCwgMC45NjkzNzQsIDAuOTY5NjE3LCAwLjk2OTg1NSwgMC45NzAwOSwgMC45NzAz
MjEsIAorICAgICAgICAgICAgMC45NzA1NDgsIDAuOTcwNzcyLCAwLjk3MDk5MywgMC45NzEyMSwg
MC45NzE0MjUsIDAuOTcxNjM2LCAwLjk3MTg0MywgCisgICAgICAgICAgICAwLjk3MjA0OCwgMC45
NzIyNSwgMC45NzI0NDksIDAuOTcyNjQ1LCAwLjk3MjgzOSwgMC45NzMwMjksIDAuOTczMjE3LCAK
KyAgICAgICAgICAgIDAuOTczNDAzLCAwLjk3MzU4NiwgMC45NzM3NjYsIDAuOTczOTQ0LCAwLjk3
NDEyLCAwLjk3NDI5MywgMC45NzQ0NjQsIAorICAgICAgICAgICAgMC45NzQ2MzIsIDAuOTc0Nzk5
LCAwLjk3NDk2MywgMC45NzUxMjUsIDAuOTc1Mjg1LCAwLjk3NTQ0MywgMC45NzU1OTksIAorICAg
ICAgICAgICAgMC45NzU3NTMsIDAuOTc1OTA1LCAwLjk3NjA1NSwgMC45NzYyMDQsIDAuOTc2MzUs
IDAuOTc2NDk1LCAwLjk3NjYzOCwgCisgICAgICAgICAgICAwLjk3Njc3OSwgMC45NzY5MTgsIDAu
OTc3MDU2LCAwLjk3NzE5MywgMC45NzczMjcsIDAuOTc3NDYsIDAuOTc3NTkyLCAKKyAgICAgICAg
ICAgIDAuOTc3NzIyLCAwLjk3Nzg1LCAwLjk3Nzk3NywgMC45NzgxMDMsIDAuOTc4MjI3LCAwLjk3
ODM0OSwgMC45Nzg0NzEsIAorICAgICAgICAgICAgMC45Nzg1OTEsIDAuOTc4NzA5LCAwLjk3ODgy
NywgMC45Nzg5NDMsIDAuOTc5MDU4LCAwLjk3OTE3MSwgMC45NzkyODMsIAorICAgICAgICAgICAg
MC45NzkzOTUsIDAuOTc5NTA0LCAwLjk3OTYxMywgMC45Nzk3MjEsIDAuOTc5ODI3LCAwLjk3OTkz
MywgMC45ODAwMzcsIAorICAgICAgICAgICAgMC45ODAxNCwgMC45ODAyNDIsIDAuOTgwMzQzLCAw
Ljk4MDQ0MywgMC45ODA1NDMsIDAuOTgwNjQxLCAwLjk4MDczOCwgCisgICAgICAgICAgICAwLjk4
MDgzNCwgMC45ODA5MjksIDAuOTgxMDIzLCAwLjk4MTExNiwgMC45ODEyMDksIDAuOTgxMywgMC45
ODEzOTEsIDAuOTgxNDgxLCAKKyAgICAgICAgICAgIDAuOTgxNTY5LCAwLjk4MTY1NywgMC45ODE3
NDUsIDAuOTgxODMxLCAwLjk4MTkxNiwgMC45ODIwMDEsIDAuOTgyMDg1LCAKKyAgICAgICAgICAg
IDAuOTgyMTY4LCAwLjk4MjI1MSwgMC45ODIzMzIsIDAuOTgyNDEzLCAwLjk4MjQ5MywgMC45ODI1
NzMsIDAuOTgyNjUxLCAKKyAgICAgICAgICAgIDAuOTgyNzI5LCAwLjk4MjgwNywgMC45ODI4ODMs
IDAuOTgyOTU5LCAwLjk4MzAzNCwgMC45ODMxMDksIDAuOTgzMTgzLCAKKyAgICAgICAgICAgIDAu
OTgzMjU2LCAwLjk4MzMyOSwgMC45ODM0MDEsIDAuOTgzNDcyLCAwLjk4MzU0MywgMC45ODM2MTMs
IDAuOTgzNjgzLCAKKyAgICAgICAgICAgIDAuOTgzNzUyLCAwLjk4MzgyLCAwLjk4Mzg4OCwgMC45
ODM5NTYsIDAuOTg0MDIyLCAwLjk4NDA4OSwgMC45ODQxNTQsIAorICAgICAgICAgICAgMC45ODQy
MTksIDAuOTg0Mjg0LCAwLjk4NDM0OCwgMC45ODQ0MTEsIDAuOTg0NDc0LCAwLjk4NDUzNywgMC45
ODQ1OTksIAorICAgICAgICAgICAgMC45ODQ2NiwgMC45ODQ3MjEsIDAuOTg0NzgyLCAwLjk4NDg0
MiwgMC45ODQ5MDIsIDAuOTg0OTYxLCAwLjk4NTAxOSwgCisgICAgICAgICAgICAwLjk4NTA3Nywg
MC45ODUxMzUsIDAuOTg1MTkzLCAwLjk4NTI0OSwgMC45ODUzMDYsIDAuOTg1MzYyLCAwLjk4NTQx
NywgCisgICAgICAgICAgICAwLjk4NTQ3MiwgMC45ODU1MjcsIDAuOTg1NTgyLCAwLjk4NTYzNSwg
MC45ODU2ODksIDAuOTg1NzQyLCAwLjk4NTc5NSwgCisgICAgICAgICAgICAwLjk4NTg0NywgMC45
ODU4OTksIDAuOTg1OTUxLCAwLjk4NjAwMiwgMC45ODYwNTMsIDAuOTg2MTAzLCAwLjk4NjE1Mywg
CisgICAgICAgICAgICAwLjk4NjIwMywgMC45ODYyNTIsIDAuOTg2MzAxLCAwLjk4NjM1LCAwLjk4
NjM5OCwgMC45ODY0NDYsIDAuOTg2NDk0LCAKKyAgICAgICAgICAgIDAuOTg2NTQxLCAwLjk4NjU4
OCwgMC45ODY2MzUsIDAuOTg2NjgxLCAwLjk4NjcyNywgMC45ODY3NzMsIDAuOTg2ODE4LCAKKyAg
ICAgICAgICAgIDAuOTg2ODYzLCAwLjk4NjkwOCwgMC45ODY5NTMsIDAuOTg2OTk3LCAwLjk4NzA0
MSwgMC45ODcwODQsIDAuOTg3MTI4LCAKKyAgICAgICAgICAgIDAuOTg3MTcxLCAwLjk4NzIxMywg
MC45ODcyNTYsIDAuOTg3Mjk4LCAwLjk4NzM0LCAwLjk4NzM4MSwgMC45ODc0MjMsIAorICAgICAg
ICAgICAgMC45ODc0NjQsIDAuOTg3NTA0LCAwLjk4NzU0NSwgMC45ODc1ODUsIDAuOTg3NjI1LCAw
Ljk4NzY2NSwgMC45ODc3MDQsIAorICAgICAgICAgICAgMC45ODc3NDQsIDAuOTg3NzgzLCAwLjk4
NzgyMSwgMC45ODc4NiwgMC45ODc4OTgsIDAuOTg3OTM2LCAwLjk4Nzk3NCwgCisgICAgICAgICAg
ICAwLjk4ODAxMSwgMC45ODgwNDksIDAuOTg4MDg2LCAwLjk4ODEyMywgMC45ODgxNTksIDAuOTg4
MTk2LCAwLjk4ODIzMiwgCisgICAgICAgICAgICAwLjk4ODI2OCwgMC45ODgzMDMsIDAuOTg4MzM5
LCAwLjk4ODM3NCwgMC45ODg0MDksIDAuOTg4NDQ0LCAwLjk4ODQ3OSwgCisgICAgICAgICAgICAw
Ljk4ODUxMywgMC45ODg1NDcsIDAuOTg4NTgyLCAwLjk4ODYxNSwgMC45ODg2NDksIDAuOTg4Njgy
LCAwLjk4ODcxNiwgCisgICAgICAgICAgICAwLjk4ODc0OSwgMC45ODg3ODIsIDAuOTg4ODE0LCAw
Ljk4ODg0NywgMC45ODg4NzksIDAuOTg4OTExLCAwLjk4ODk0MywgCisgICAgICAgICAgICAwLjk4
ODk3NSwgMC45ODkwMDYsIDAuOTg5MDM4LCAwLjk4OTA2OSwgMC45ODkxLCAwLjk4OTEzMSwgMC45
ODkxNjEsIDAuOTg5MTkyLCAKKyAgICAgICAgICAgIDAuOTg5MjIyLCAwLjk4OTI1MiwgMC45ODky
ODIsIDAuOTg5MzEyLCAwLjk4OTM0MiwgMC45ODkzNzEsIDAuOTg5NDAxLCAKKyAgICAgICAgICAg
IDAuOTg5NDMsIDAuOTg5NDU5LCAwLjk4OTQ4OCwgMC45ODk1MTYsIDAuOTg5NTQ1LCAwLjk4OTU3
MywgMC45ODk2MDIsIDAuOTg5NjMsIAorICAgICAgICAgICAgMC45ODk2NTgsIDAuOTg5Njg1LCAw
Ljk4OTcxMywgMC45ODk3NCwgMC45ODk3NjgsIDAuOTg5Nzk1LCAwLjk4OTgyMiwgCisgICAgICAg
ICAgICAwLjk4OTg0OSwgMC45ODk4NzYsIDAuOTg5OTAyLCAwLjk4OTkyOSwgMC45ODk5NTUsIDAu
OTg5OTgxLCAwLjk5MDAwNywgCisgICAgICAgICAgICAwLjk5MDAzMywgMC45OTAwNTksIDAuOTkw
MDg1LCAwLjk5MDExLCAwLjk5MDEzNiwgMC45OTAxNjEsIDAuOTkwMTg2LCAKKyAgICAgICAgICAg
IDAuOTkwMjExLCAwLjk5MDIzNiwgMC45OTAyNjEsIDAuOTkwMjg1LCAwLjk5MDMxLCAwLjk5MDMz
NCwgMC45OTAzNTgsIAorICAgICAgICAgICAgMC45OTAzODMsIDAuOTkwNDA3LCAwLjk5MDQzLCAw
Ljk5MDQ1NCwgMC45OTA0NzgsIDAuOTkwNTAxLCAwLjk5MDUyNSwgCisgICAgICAgICAgICAwLjk5
MDU0OCwgMC45OTA1NzEsIDAuOTkwNTk0LCAwLjk5MDYxNywgMC45OTA2NCwgMC45OTA2NjMsIDAu
OTkwNjg2LCAKKyAgICAgICAgICAgIDAuOTkwNzA4LCAwLjk5MDczMSwgMC45OTA3NTMsIDAuOTkw
Nzc1LCAwLjk5MDc5NywgMC45OTA4MTksIDAuOTkwODQxLCAKKyAgICAgICAgICAgIDAuOTkwODYz
LCAwLjk5MDg4NSwgMC45OTA5MDYsIDAuOTkwOTI4LCAwLjk5MDk0OSwgMC45OTA5NywgMC45OTA5
OTEsIAorICAgICAgICAgICAgMC45OTEwMTMsIDAuOTkxMDM0LCAwLjk5MTA1NCwgMC45OTEwNzUs
IDAuOTkxMDk2LCAwLjk5MTExNiwgMC45OTExMzcsIAorICAgICAgICAgICAgMC45OTExNTcsIDAu
OTkxMTc4LCAwLjk5MTE5OCwgMC45OTEyMTgsIDAuOTkxMjM4LCAwLjk5MTI1OCwgMC45OTEyNzgs
IAorICAgICAgICAgICAgMC45OTEyOTgsIDAuOTkxMzE3LCAwLjk5MTMzNywgMC45OTEzNTYsIDAu
OTkxMzc2LCAwLjk5MTM5NSwgMC45OTE0MTQsIAorICAgICAgICAgICAgMC45OTE0MzMsIDAuOTkx
NDUyLCAwLjk5MTQ3MSwgMC45OTE0OSwgMC45OTE1MDksIDAuOTkxNTI4LCAwLjk5MTU0NywgCisg
ICAgICAgICAgICAwLjk5MTU2NSwgMC45OTE1ODQsIDAuOTkxNjAyLCAwLjk5MTYyLCAwLjk5MTYz
OSwgMC45OTE2NTcsIDAuOTkxNjc1LCAKKyAgICAgICAgICAgIDAuOTkxNjkzLCAwLjk5MTcxMSwg
MC45OTE3MjksIDAuOTkxNzQ2LCAwLjk5MTc2NCwgMC45OTE3ODIsIDAuOTkxNzk5LCAKKyAgICAg
ICAgICAgIDAuOTkxODE3LCAwLjk5MTgzNCwgMC45OTE4NTEsIDAuOTkxODY5LCAwLjk5MTg4Niwg
MC45OTE5MDMsIDAuOTkxOTIsIAorICAgICAgICAgICAgMC45OTE5MzcsIDAuOTkxOTU0LCAwLjk5
MTk3MSwgMC45OTE5ODcsIDAuOTkyMDA0LCAwLjk5MjAyMSwgMC45OTIwMzcsIAorICAgICAgICAg
ICAgMC45OTIwNTQsIDAuOTkyMDcsIDAuOTkyMDg2LCAwLjk5MjEwMywgMC45OTIxMTksIDAuOTky
MTM1LCAwLjk5MjE1MSwgCisgICAgICAgICAgICAwLjk5MjE2NywgMC45OTIxODMsIDAuOTkyMTk5
LCAwLjk5MjIxNSwgMC45OTIyMywgMC45OTIyNDYsIDAuOTkyMjYyLCAKKyAgICAgICAgICAgIDAu
OTkyMjc3LCAwLjk5MjI5MywgMC45OTIzMDgsIDAuOTkyMzI0LCAwLjk5MjMzOSwgMC45OTIzNTQs
IDAuOTkyMzY5LCAKKyAgICAgICAgICAgIDAuOTkyMzg0LCAwLjk5MjQsIDAuOTkyNDE1LCAwLjk5
MjQyOSwgMC45OTI0NDQsIDAuOTkyNDU5LCAwLjk5MjQ3NCwgMC45OTI0ODksIAorICAgICAgICAg
ICAgMC45OTI1MDMsIDAuOTkyNTE4LCAwLjk5MjUzMywgMC45OTI1NDcsIDAuOTkyNTYxLCAwLjk5
MjU3NiwgMC45OTI1OSwgCisgICAgICAgICAgICAwLjk5MjYwNCwgMC45OTI2MTksIDAuOTkyNjMz
LCAwLjk5MjY0NywgMC45OTI2NjEsIDAuOTkyNjc1LCAwLjk5MjY4OSwgCisgICAgICAgICAgICAw
Ljk5MjcwMywgMC45OTI3MTcsIDAuOTkyNzMsIDAuOTkyNzQ0LCAwLjk5Mjc1OCwgMC45OTI3NzEs
IDAuOTkyNzg1LCAKKyAgICAgICAgICAgIDAuOTkyNzk4LCAwLjk5MjgxMiwgMC45OTI4MjUsIDAu
OTkyODM5LCAwLjk5Mjg1MiwgMC45OTI4NjUsIDAuOTkyODc5LCAKKyAgICAgICAgICAgIDAuOTky
ODkyLCAwLjk5MjkwNSwgMC45OTI5MTgsIDAuOTkyOTMxLCAwLjk5Mjk0NCwgMC45OTI5NTcsIDAu
OTkyOTcsIAorICAgICAgICAgICAgMC45OTI5ODMsIDAuOTkyOTk1LCAwLjk5MzAwOCwgMC45OTMw
MjEsIDAuOTkzMDM0LCAwLjk5MzA0NiwgMC45OTMwNTksIAorICAgICAgICAgICAgMC45OTMwNzEs
IDAuOTkzMDg0LCAwLjk5MzA5NiwgMC45OTMxMDksIDAuOTkzMTIxLCAwLjk5MzEzMywgMC45OTMx
NDUsIAorICAgICAgICAgICAgMC45OTMxNTgsIDAuOTkzMTcsIDAuOTkzMTgyLCAwLjk5MzE5NCwg
MC45OTMyMDYsIDAuOTkzMjE4LCAwLjk5MzIzLCAwLjk5MzI0MiwgCisgICAgICAgICAgICAwLjk5
MzI1NCwgMC45OTMyNjYsIDAuOTkzMjc3LCAwLjk5MzI4OSwgMC45OTMzMDEsIDAuOTkzMzEyLCAw
Ljk5MzMyNCwgCisgICAgICAgICAgICAwLjk5MzMzNiwgMC45OTMzNDcsIDAuOTkzMzU5LCAwLjk5
MzM3LCAwLjk5MzM4MiwgMC45OTMzOTMsIDAuOTkzNDA0LCAKKyAgICAgICAgICAgIDAuOTkzNDE2
LCAwLjk5MzQyNywgMC45OTM0MzgsIDAuOTkzNDQ5LCAwLjk5MzQ2LCAwLjk5MzQ3MiwgMC45OTM0
ODMsIAorICAgICAgICAgICAgMC45OTM0OTQsIDAuOTkzNTA1LCAwLjk5MzUxNiwgMC45OTM1Mjcs
IDAuOTkzNTM4LCAwLjk5MzU0OCwgMC45OTM1NTksIAorICAgICAgICAgICAgMC45OTM1NywgMC45
OTM1ODEsIDAuOTkzNTkxLCAwLjk5MzYwMiwgMC45OTM2MTMsIDAuOTkzNjIzLCAwLjk5MzYzNCwg
CisgICAgICAgICAgICAwLjk5MzY0NCwgMC45OTM2NTUsIDAuOTkzNjY1LCAwLjk5MzY3NiwgMC45
OTM2ODYsIDAuOTkzNjk3LCAwLjk5MzcwNywgCisgICAgICAgICAgICAwLjk5MzcxNywgMC45OTM3
MjcsIDAuOTkzNzM4LCAwLjk5Mzc0OCwgMC45OTM3NTgsIDAuOTkzNzY4LCAwLjk5Mzc3OCwgCisg
ICAgICAgICAgICAwLjk5Mzc4OCwgMC45OTM3OTgsIDAuOTkzODA4LCAwLjk5MzgxOCwgMC45OTM4
MjgsIDAuOTkzODM4LCAwLjk5Mzg0OCwgCisgICAgICAgICAgICAwLjk5Mzg1OCwgMC45OTM4Njgs
IDAuOTkzODc3LCAwLjk5Mzg4NywgMC45OTM4OTcsIDAuOTkzOTA3LCAwLjk5MzkxNiwgCisgICAg
ICAgICAgICAwLjk5MzkyNiwgMC45OTM5MzUsIDAuOTkzOTQ1LCAwLjk5Mzk1NCwgMC45OTM5NjQs
IDAuOTkzOTczLCAwLjk5Mzk4MywgCisgICAgICAgICAgICAwLjk5Mzk5MiwgMC45OTQwMDIsIDAu
OTk0MDExLCAwLjk5NDAyLCAwLjk5NDAzLCAwLjk5NDAzOSwgMC45OTQwNDgsIDAuOTk0MDU3LCAK
KyAgICAgICAgICAgIDAuOTk0MDY3LCAwLjk5NDA3NiwgMC45OTQwODUsIDAuOTk0MDk0LCAwLjk5
NDEwMywgMC45OTQxMTIsIDAuOTk0MTIxLCAKKyAgICAgICAgICAgIDAuOTk0MTMsIDAuOTk0MTM5
LCAwLjk5NDE0OCwgMC45OTQxNTcsIDAuOTk0MTY2LCAwLjk5NDE3NSwgMC45OTQxODMsIAorICAg
ICAgICAgICAgMC45OTQxOTIsIDAuOTk0MjAxLCAwLjk5NDIxLCAwLjk5NDIxOCwgMC45OTQyMjcs
IDAuOTk0MjM2LCAwLjk5NDI0NCwgCisgICAgICAgICAgICAwLjk5NDI1MywgMC45OTQyNjIsIDAu
OTk0MjcsIDAuOTk0Mjc5LCAwLjk5NDI4NywgMC45OTQyOTYsIDAuOTk0MzA0LCAKKyAgICAgICAg
ICAgIDAuOTk0MzEzLCAwLjk5NDMyMSwgMC45OTQzMjksIDAuOTk0MzM4LCAwLjk5NDM0NiwgMC45
OTQzNTQsIDAuOTk0MzYzLCAKKyAgICAgICAgICAgIDAuOTk0MzcxLCAwLjk5NDM3OSwgMC45OTQz
ODcsIDAuOTk0Mzk1LCAwLjk5NDQwNCwgMC45OTQ0MTIsIDAuOTk0NDIsIAorICAgICAgICAgICAg
MC45OTQ0MjgsIDAuOTk0NDM2LCAwLjk5NDQ0NCwgMC45OTQ0NTIsIDAuOTk0NDYsIDAuOTk0NDY4
LCAwLjk5NDQ3NiwgCisgICAgICAgICAgICAwLjk5NDQ4NCwgMC45OTQ0OTIsIDAuOTk0NSwgMC45
OTQ1MDgsIDAuOTk0NTE2LCAwLjk5NDUyMywgMC45OTQ1MzEsIDAuOTk0NTM5LCAKKyAgICAgICAg
ICAgIDAuOTk0NTQ3LCAwLjk5NDU1NCwgMC45OTQ1NjIsIDAuOTk0NTcsIDAuOTk0NTc3LCAwLjk5
NDU4NSwgMC45OTQ1OTMsIDAuOTk0NiwgCisgICAgICAgICAgICAwLjk5NDYwOCwgMC45OTQ2MTUs
IDAuOTk0NjIzLCAwLjk5NDYzMSwgMC45OTQ2MzgsIDAuOTk0NjQ1LCAwLjk5NDY1MywgCisgICAg
ICAgICAgICAwLjk5NDY2LCAwLjk5NDY2OCwgMC45OTQ2NzUsIDAuOTk0NjgzLCAwLjk5NDY5LCAw
Ljk5NDY5NywgMC45OTQ3MDUsIDAuOTk0NzEyLCAKKyAgICAgICAgICAgIDAuOTk0NzE5LCAwLjk5
NDcyNiwgMC45OTQ3MzQsIDAuOTk0NzQxLCAwLjk5NDc0OCwgMC45OTQ3NTUsIDAuOTk0NzYyLCAK
KyAgICAgICAgICAgIDAuOTk0NzY5LCAwLjk5NDc3NywgMC45OTQ3ODQsIDAuOTk0NzkxLCAwLjk5
NDc5OCwgMC45OTQ4MDUsIDAuOTk0ODEyLCAKKyAgICAgICAgICAgIDAuOTk0ODE5LCAwLjk5NDgy
NiwgMC45OTQ4MzMsIDAuOTk0ODQsIDAuOTk0ODQ3LCAwLjk5NDg1NCwgMC45OTQ4NiwgMC45OTQ4
NjcsIAorICAgICAgICAgICAgMC45OTQ4NzQsIDAuOTk0ODgxLCAwLjk5NDg4OCwgMC45OTQ4OTUs
IDAuOTk0OTAxLCAwLjk5NDkwOCwgMC45OTQ5MTUsIAorICAgICAgICAgICAgMC45OTQ5MjIsIDAu
OTk0OTI4LCAwLjk5NDkzNSwgMC45OTQ5NDIsIDAuOTk0OTQ4LCAwLjk5NDk1NSwgMC45OTQ5NjIs
IAorICAgICAgICAgICAgMC45OTQ5NjgsIDAuOTk0OTc1LCAwLjk5NDk4MSwgMC45OTQ5ODgsIDAu
OTk0OTk0LCAwLjk5NTAwMSwgMC45OTUwMDcsIAorICAgICAgICAgICAgMC45OTUwMTQsIDAuOTk1
MDIsIDAuOTk1MDI3LCAwLjk5NTAzMywgMC45OTUwNCwgMC45OTUwNDYsIDAuOTk1MDUyLCAwLjk5
NTA1OSwgCisgICAgICAgICAgICAwLjk5NTA2NSwgMC45OTUwNzEsIDAuOTk1MDc4LCAwLjk5NTA4
NCwgMC45OTUwOSwgMC45OTUwOTcsIDAuOTk1MTAzLCAKKyAgICAgICAgICAgIDAuOTk1MTA5LCAw
Ljk5NTExNSwgMC45OTUxMjEsIDAuOTk1MTI4LCAwLjk5NTEzNCwgMC45OTUxNCwgMC45OTUxNDYs
IAorICAgICAgICAgICAgMC45OTUxNTIsIDAuOTk1MTU4LCAwLjk5NTE2NCwgMC45OTUxNzEsIDAu
OTk1MTc3LCAwLjk5NTE4MywgMC45OTUxODksIAorICAgICAgICAgICAgMC45OTUxOTUsIDAuOTk1
MjAxLCAwLjk5NTIwNywgMC45OTUyMTMsIDAuOTk1MjE5LCAwLjk5NTIyNSwgMC45OTUyMzEsIAor
ICAgICAgICAgICAgMC45OTUyMzYsIDAuOTk1MjQyLCAwLjk5NTI0OCwgMC45OTUyNTQsIDAuOTk1
MjYsIDAuOTk1MjY2LCAwLjk5NTI3MiwgCisgICAgICAgICAgICAwLjk5NTI3NywgMC45OTUyODMs
IDAuOTk1Mjg5LCAwLjk5NTI5NSwgMC45OTUzMDEsIDAuOTk1MzA2LCAwLjk5NTMxMiwgCisgICAg
ICAgICAgICAwLjk5NTMxOCwgMC45OTUzMjMsIDAuOTk1MzI5LCAwLjk5NTMzNSwgMC45OTUzNCwg
MC45OTUzNDYsIDAuOTk1MzUyLCAKKyAgICAgICAgICAgIDAuOTk1MzU3LCAwLjk5NTM2MywgMC45
OTUzNjksIDAuOTk1Mzc0LCAwLjk5NTM4LCAwLjk5NTM4NSwgMC45OTUzOTEsIAorICAgICAgICAg
ICAgMC45OTUzOTYsIDAuOTk1NDAyLCAwLjk5NTQwNywgMC45OTU0MTMsIDAuOTk1NDE4LCAwLjk5
NTQyNCwgMC45OTU0MjksIAorICAgICAgICAgICAgMC45OTU0MzUsIDAuOTk1NDQsIDAuOTk1NDQ1
LCAwLjk5NTQ1MSwgMC45OTU0NTYsIDAuOTk1NDYyLCAwLjk5NTQ2NywgCisgICAgICAgICAgICAw
Ljk5NTQ3MiwgMC45OTU0NzgsIDAuOTk1NDgzLCAwLjk5NTQ4OCwgMC45OTU0OTMsIDAuOTk1NDk5
LCAwLjk5NTUwNCwgCisgICAgICAgICAgICAwLjk5NTUwOSwgMC45OTU1MTUsIDAuOTk1NTIsIDAu
OTk1NTI1LCAwLjk5NTUzLCAwLjk5NTUzNSwgMC45OTU1NDEsIDAuOTk1NTQ2LCAKKyAgICAgICAg
ICAgIDAuOTk1NTUxLCAwLjk5NTU1NiwgMC45OTU1NjEsIDAuOTk1NTY2LCAwLjk5NTU3MSwgMC45
OTU1NzcsIDAuOTk1NTgyLCAKKyAgICAgICAgICAgIDAuOTk1NTg3LCAwLjk5NTU5MiwgMC45OTU1
OTcsIDAuOTk1NjAyLCAwLjk5NTYwNywgMC45OTU2MTIsIDAuOTk1NjE3LCAKKyAgICAgICAgICAg
IDAuOTk1NjIyLCAwLjk5NTYyNywgMC45OTU2MzIsIDAuOTk1NjM3LCAwLjk5NTY0MiwgMC45OTU2
NDcsIDAuOTk1NjUyLCAKKyAgICAgICAgICAgIDAuOTk1NjU3LCAwLjk5NTY2MSwgMC45OTU2NjYs
IDAuOTk1NjcxLCAwLjk5NTY3NiwgMC45OTU2ODEsIDAuOTk1Njg2LCAKKyAgICAgICAgICAgIDAu
OTk1NjkxLCAwLjk5NTY5NSwgMC45OTU3LCAwLjk5NTcwNSwgMC45OTU3MSwgMC45OTU3MTUsIDAu
OTk1NzE5LCAwLjk5NTcyNCwgCisgICAgICAgICAgICAwLjk5NTcyOSwgMC45OTU3MzQsIDAuOTk1
NzM4LCAwLjk5NTc0MywgMC45OTU3NDgsIDAuOTk1NzUzLCAwLjk5NTc1NywgCisgICAgICAgICAg
ICAwLjk5NTc2MiwgMC45OTU3NjcsIDAuOTk1NzcxLCAwLjk5NTc3NiwgMC45OTU3ODEsIDAuOTk1
Nzg1LCAwLjk5NTc5LCAKKyAgICAgICAgICAgIDAuOTk1Nzk0LCAwLjk5NTc5OSwgMC45OTU4MDQs
IDAuOTk1ODA4LCAwLjk5NTgxMywgMC45OTU4MTcsIDAuOTk1ODIyLCAKKyAgICAgICAgICAgIDAu
OTk1ODI2LCAwLjk5NTgzMSwgMC45OTU4MzUsIDAuOTk1ODQsIDAuOTk1ODQ0LCAwLjk5NTg0OSwg
MC45OTU4NTMsIAorICAgICAgICAgICAgMC45OTU4NTgsIDAuOTk1ODYyLCAwLjk5NTg2NywgMC45
OTU4NzEsIDAuOTk1ODc2LCAwLjk5NTg4LCAwLjk5NTg4NSwgCisgICAgICAgICAgICAwLjk5NTg4
OSwgMC45OTU4OTMsIDAuOTk1ODk4LCAwLjk5NTkwMiwgMC45OTU5MDYsIDAuOTk1OTExLCAwLjk5
NTkxNSwgCisgICAgICAgICAgICAwLjk5NTkyLCAwLjk5NTkyNCwgMC45OTU5MjgsIDAuOTk1OTMy
LCAwLjk5NTkzNywgMC45OTU5NDEsIDAuOTk1OTQ1LCAwLjk5NTk1LCAKKyAgICAgICAgICAgIDAu
OTk1OTU0LCAwLjk5NTk1OCwgMC45OTU5NjIsIDAuOTk1OTY3LCAwLjk5NTk3MSwgMC45OTU5NzUs
IDAuOTk1OTc5LCAKKyAgICAgICAgICAgIDAuOTk1OTg0LCAwLjk5NTk4OCwgMC45OTU5OTIsIDAu
OTk1OTk2LCAwLjk5NiwgMC45OTYwMDQsIDAuOTk2MDA5LCAwLjk5NjAxMywgCisgICAgICAgICAg
ICAwLjk5NjAxNywgMC45OTYwMjEsIDAuOTk2MDI1LCAwLjk5NjAyOSwgMC45OTYwMzMsIDAuOTk2
MDM3LCAwLjk5NjA0MSwgCisgICAgICAgICAgICAwLjk5NjA0NiwgMC45OTYwNSwgMC45OTYwNTQs
IDAuOTk2MDU4LCAwLjk5NjA2MiwgMC45OTYwNjYsIDAuOTk2MDcsIDAuOTk2MDc0LCAKKyAgICAg
ICAgICAgIDAuOTk2MDc4LCAwLjk5NjA4MiwgMC45OTYwODYsIDAuOTk2MDksIDAuOTk2MDk0LCAw
Ljk5NjA5OCwgMC45OTYxMDIsIAorICAgICAgICAgICAgMC45OTYxMDYsIDAuOTk2MTEsIDAuOTk2
MTE0LCAwLjk5NjExNywgMC45OTYxMjEsIDAuOTk2MTI1LCAwLjk5NjEyOSwgCisgICAgICAgICAg
ICAwLjk5NjEzMywgMC45OTYxMzcsIDAuOTk2MTQxLCAwLjk5NjE0NSwgMC45OTYxNDksIDAuOTk2
MTUyLCAwLjk5NjE1NiwgCisgICAgICAgICAgICAwLjk5NjE2LCAwLjk5NjE2NF0KKworIyBSdW4t
dGltZSBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgKGNhbiBiZSBzZXQgd2l0aCBjb21tYW5kLWxp
bmUgb3B0aW9ucykKKworJGlubmVyPTMKKyR3YXJtdXA9MQorJG91dGVyPTQKKyRpbmNsdWRlU3Vu
U3BpZGVyPXRydWUKKyRpbmNsdWRlVjg9dHJ1ZQorJGluY2x1ZGVLcmFrZW49dHJ1ZQorJGJlbmNo
bWFya1BhdHRlcm49bmlsCiskdmVyYm9zaXR5PTAKKyRpbm5lck1vZGU9OnJlbG9hZAorJHRpbWVN
b2RlPTphdXRvCiska2VlcEZpbGVzPWZhbHNlCisKKyMgSGVscGZ1bCBmdW5jdGlvbnMgYW5kIGNs
YXNzZXMKKworZGVmIHNtYWxsVXNhZ2UKKyAgcHV0cyAiVXNlIHRoZSAtLWhlbHAgb3B0aW9uIHRv
IGdldCBiYXNpYyB1c2FnZSBpbmZvcm1hdGlvbi4iCisgIGV4aXQgMQorZW5kCisKK2RlZiB1c2Fn
ZQorICBwdXRzICJiZW5jaGVyIFtvcHRpb25zXSA8dm0xPiBbPHZtMj4gLi4uXSIKKyAgcHV0cwor
ICBwdXRzICJSdW5zIG9uZSBvciBtb3JlIEphdmFTY3JpcHQgcnVudGltZXMgYWdhaW5zdCBTdW5T
cGlkZXIsIFY4LCBhbmQvb3IgS3Jha2VuIgorICBwdXRzICJiZW5jaG1hcmtzLCBhbmQgcmVwb3J0
cyBkZXRhaWxlZCBzdGF0aXN0aWNzLiAgV2hhdCBtYWtlcyBiZW5jaGVyIHNwZWNpYWwgaXMiCisg
IHB1dHMgInRoYXQgZWFjaCBiZW5jaG1hcmsvVk0gY29uZmlndXJhdGlvbiBpcyBydW4gaW4gYSBz
aW5nbGUgVk0gaW52b2NhdGlvbiwgYW5kIgorICBwdXRzICJ0aGUgaW52b2NhdGlvbnMgYXJlIHJ1
biBpbiByYW5kb20gb3JkZXIuICBUaGlzIG1pbmltaXplcyBzeXN0ZW1hdGljcyBkdWUgdG8iCisg
IHB1dHMgIm9uZSBiZW5jaG1hcmsgcG9sbHV0aW5nIHRoZSBydW5uaW5nIHRpbWUgb2YgYW5vdGhl
ci4gIFRoZSBmaW5lLWdyYWluZWQiCisgIHB1dHMgImludGVybGVhdmluZyBvZiBWTSBpbnZvY2F0
aW9ucyBmdXJ0aGVyIG1pbmltaXplcyBzeXN0ZW1hdGljcyBkdWUgdG8gY2hhbmdlcyBpbiIKKyAg
cHV0cyAidGhlIHBlcmZvcm1hbmNlIG9yIGJlaGF2aW9yIG9mIHlvdXIgbWFjaGluZS4iCisgIHB1
dHMgCisgIHB1dHMgIkJlbmNoZXIgaXMgaGlnaGx5IGNvbmZpZ3VyYWJsZS4gIFlvdSBjYW4gY29t
cGFyZSBhcyBtYW55IFZNcyBhcyB5b3UgbGlrZS4gIFlvdSIKKyAgcHV0cyAiY2FuIGNoYW5nZSB0
aGUgYW1vdW50IG9mIHdhcm0tdXAgaXRlcmF0aW9ucywgbnVtYmVyIG9mIGl0ZXJhdGlvbnMgZXhl
Y3V0ZWQgcGVyIgorICBwdXRzICJWTSBpbnZvY2F0aW9uLCBhbmQgdGhlIG51bWJlciBvZiBWTSBp
bnZvY2F0aW9ucyBwZXIgYmVuY2htYXJrLiAgQnkgZGVmYXVsdCwiCisgIHB1dHMgIlN1blNwaWRl
ciwgVk0sIGFuZCBLcmFrZW4gYXJlIGFsbCBydW47IGJ1dCB5b3UgY2FuIHJ1biBhbnkgY29tYmlu
YXRpb24gb2YgdGhlc2UiCisgIHB1dHMgInN1aXRlcy4iCisgIHB1dHMKKyAgcHV0cyAiVGhlIDx2
bT4gc2hvdWxkIGJlIGVpdGhlciBhIHBhdGggdG8gYSBKYXZhU2NyaXB0IHJ1bnRpbWUgZXhlY3V0
YWJsZSAoc3VjaCBhcyIKKyAgcHV0cyAianNjKSwgb3IgYSBzdHJpbmcgb2YgdGhlIGZvcm0gPG5h
bWU+OjxwYXRoPiwgd2hlcmUgdGhlIDxwYXRoPiBpcyB0aGUgcGF0aCB0byIKKyAgcHV0cyAidGhl
IGV4ZWN1dGFibGUgYW5kIDxuYW1lPiBpcyB0aGUgbmFtZSB0aGF0IHlvdSB3b3VsZCBsaWtlIHRv
IGdpdmUgdGhlIgorICBwdXRzICJjb25maWd1cmF0aW9uIGZvciB0aGUgcHVycG9zZW9mIHJlcG9y
dGluZy4gIElmIG5vIG5hbWUgaXMgZ2l2ZW4sIGEgZ2VuZXJpYyBuYW1lIgorICBwdXRzICJvZiB0
aGUgZm9ybSBDb25mIzxuPiB3aWxsIGJlIGFzY3JpYmVkIHRvIHRoZSBjb25maWd1cmF0aW9uIGF1
dG9tYXRpY2FsbHkuIgorICBwdXRzIAorICBwdXRzICJPcHRpb25zOiIKKyAgcHV0cyAiLS1pbm5l
ciA8bj4gICAgICAgICAgU2V0IHRoZSBudW1iZXIgb2YgaW5uZXIgKHBlci1ydW50aW1lLWludm9j
YXRpb24pIgorICBwdXRzICIgICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zLiAgRGVmYXVs
dCBpcyAjeyRpbm5lcn0uIgorICBwdXRzICItLW91dGVyIDxuPiAgICAgICAgICBTZXQgdGhlIG51
bWJlciBvZiBydW50aW1lIGludm9jYXRpb25zIGZvciBlYWNoIGJlbmNobWFyay4iCisgIHB1dHMg
IiAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQgaXMgI3skb3V0ZXJ9LiIKKyAgcHV0cyAiLS13
YXJtdXAgPG4+ICAgICAgICAgU2V0IHRoZSBudW1iZXIgb2Ygd2FybS11cCBydW5zIHBlciBpbnZv
Y2F0aW9uLiAgRGVmYXVsdCIKKyAgcHV0cyAiICAgICAgICAgICAgICAgICAgICAgaXMgI3skd2Fy
bXVwfS4iCisgIHB1dHMgIi0tdGltaW5nLW1vZGUgICAgICAgIFNldCB0aGUgd2F5IHRoYXQgYmVu
Y2hlciBtZWFzdXJlcyB0aW1lLiAgUG9zc2libGUgdmFsdWVzIgorICBwdXRzICIgICAgICAgICAg
ICAgICAgICAgICBhcmUgJ3ByZWNpc2VUaW1lJywgJ2RhdGUnLCBhbmQgJ2F1dG8nLiAgRGVmYXVs
dCBpcyIKKyAgcHV0cyAiICAgICAgICAgICAgICAgICAgICAgJ2F1dG8nLCB3aGljaCBhdXRvbWF0
aWNhbGx5IGRldGVjdHMgdGhlIGJlc3Qgd2F5LiIKKyAgcHV0cyAiLS12OC1vbmx5ICAgICAgICAg
ICAgT25seSBydW4gVjguIgorICBwdXRzICItLXN1bnNwaWRlci1vbmx5ICAgICBPbmx5IHJ1biBT
dW5TcGlkZXIuIgorICBwdXRzICItLWtyYWtlbi1vbmx5ICAgICAgICBPbmx5IHJ1biBLcmFrZW4u
IgorICBwdXRzICItLWV4Y2x1ZGUtdjggICAgICAgICBFeGNsdWRlIFY4IChvbmx5IHJ1biBTdW5T
cGlkZXIgYW5kIEtyYWtlbikuIgorICBwdXRzICItLWV4Y2x1ZGUtc3Vuc3BpZGVyICBFeGNsdWRl
IFN1blNwaWRlciAob25seSBydW4gVjggYW5kIEtyYWtlbikuIgorICBwdXRzICItLWV4Y2x1ZGUt
a3Jha2VuICAgICBFeGNsdWRlIFN1blNwaWRlciAob25seSBydW4gU3VuU3BpZGVyIGFuZCBWOCku
IgorICBwdXRzICItLWJlbmNobWFya3MgICAgICAgICBPbmx5IHJ1biBiZW5jaG1hcmtzIG1hdGNo
aW5nIHRoZSBnaXZlbiByZWd1bGFyIGV4cHJlc3Npb24uIgorICBwdXRzICItLWtlZXAtZmlsZXMg
ICAgICAgICBLZWVwIHRlbXBvcmFyeSBmaWxlcy4gIFVzZWZ1bCBmb3IgZGVidWdnaW5nLiIKKyAg
cHV0cyAiLS12ZXJib3NlIG9yIC12ICAgICAgUHJpbnQgbW9yZSBzdHVmZi4iCisgIHB1dHMgIi0t
aGVscCBvciAtaCAgICAgICAgIERpc3BsYXkgdGhpcyBtZXNzYWdlLiIKKyAgcHV0cworICBwdXRz
ICJFeGFtcGxlOiIKKyAgcHV0cyAiYmVuY2hlciBUaXBPZlRyZWU6L1ZvbHVtZXMvRGF0YS9waXps
by9PcGVuU291cmNlL1dlYktpdEJ1aWxkL1JlbGVhc2UvanNjIE15Q2hhbmdlczovVm9sdW1lcy9E
YXRhL3BpemxvL3NlY29uZGFyeS9PcGVuU291cmNlL1dlYktpdEJ1aWxkL1JlbGVhc2UvanNjIgor
ICBleGl0IDEKK2VuZAorCitkZWYgZmFpbChyZWFzb24pCisgIGlmIHJlYXNvbi5yZXNwb25kX3Rv
PyA6YmFja3RyYWNlCisgICAgcHV0cyAiRkFJTEVEOiAje3JlYXNvbn0iCisgICAgcHV0cyAiU3Rh
Y2sgdHJhY2U6IgorICAgIHB1dHMgcmVhc29uLmJhY2t0cmFjZS5qb2luKCJcbiIpCisgIGVsc2UK
KyAgICBwdXRzICJGQUlMRUQ6ICN7cmVhc29ufSIKKyAgZW5kCisgIHNtYWxsVXNhZ2UKK2VuZAor
CitkZWYgcXVpY2tGYWlsKHIxLHIyKQorICAkc3RkZXJyLnB1dHMgIiN7JDB9OiAje3IxfSIKKyAg
cHV0cworICBmYWlsKHIyKQorZW5kCisKK2RlZiBpbnRBcmcoYXJnTmFtZSxhcmcsbWluLG1heCkK
KyAgcmVzdWx0PWFyZy50b19pCisgIHVubGVzcyByZXN1bHQudG9fcyA9PSBhcmcKKyAgICBxdWlj
a0ZhaWwoIkV4cGVjdGVkIGFuIGludGVnZXIgdmFsdWUgZm9yICN7YXJnTmFtZX0sIGJ1dCBnb3Qg
I3thcmd9LiIsCisgICAgICAgICAgICAgICJJbnZhbGlkIGFyZ3VtZW50IGZvciBjb21tYW5kLWxp
bmUgb3B0aW9uIikKKyAgZW5kCisgIGlmIG1pbiBhbmQgcmVzdWx0PG1pbgorICAgIHF1aWNrRmFp
bCgiQXJndW1lbnQgZm9yICN7YXJnTmFtZX0gY2Fubm90IGJlIHNtYWxsZXIgdGhhbiAje21pbn0u
IiwKKyAgICAgICAgICAgICAgIkludmFsaWQgYXJndW1lbnQgZm9yIGNvbW1hbmQtbGluZSBvcHRp
b24iKQorICBlbmQKKyAgaWYgbWF4IGFuZCByZXN1bHQ+bWF4CisgICAgcXVpY2tGYWlsKCJBcmd1
bWVudCBmb3IgI3thcmdOYW1lfSBjYW5ub3QgYmUgZ3JlYXRlciB0aGFuICN7bWF4fS4iLAorICAg
ICAgICAgICAgICAiSW52YWxpZCBhcmd1bWVudCBmb3IgY29tbWFuZC1saW5lIG9wdGlvbiIpCisg
IGVuZAorICByZXN1bHQKK2VuZAorCitkZWYgY29tcHV0ZU1lYW4oYXJyYXkpCisgIHN1bT0wLjAK
KyAgYXJyYXkuZWFjaCB7CisgICAgfCB2YWx1ZSB8CisgICAgc3VtICs9IHZhbHVlCisgIH0KKyAg
c3VtL2FycmF5Lmxlbmd0aAorZW5kCisKK2RlZiBjb21wdXRlR2VvbWV0cmljTWVhbihhcnJheSkK
KyAgbXVsdD0xLjAKKyAgYXJyYXkuZWFjaCB7CisgICAgfCB2YWx1ZSB8CisgICAgbXVsdCo9dmFs
dWUKKyAgfQorICBtdWx0KiooMS4wL2FycmF5Lmxlbmd0aCkKK2VuZAorCitkZWYgY29tcHV0ZUhh
cm1vbmljTWVhbihhcnJheSkKKyAgMS4wIC8gY29tcHV0ZU1lYW4oYXJyYXkuY29sbGVjdHsgfCB2
YWx1ZSB8IDEuMCAvIHZhbHVlIH0pCitlbmQKKworZGVmIGNvbXB1dGVTdGREZXYoYXJyYXkpCisg
IGNhc2UgYXJyYXkubGVuZ3RoCisgIHdoZW4gMAorICAgIDAuMC8wLjAKKyAgd2hlbiAxCisgICAg
MC4wCisgIGVsc2UKKyAgICBiZWdpbgorICAgICAgbWVhbj1jb21wdXRlTWVhbihhcnJheSkKKyAg
ICAgIHN1bT0wLjAKKyAgICAgIGFycmF5LmVhY2ggeworICAgICAgICB8IHZhbHVlIHwKKyAgICAg
ICAgc3VtICs9ICh2YWx1ZS1tZWFuKSoqMgorICAgICAgfQorICAgICAgTWF0aC5zcXJ0KHN1bS8o
YXJyYXkubGVuZ3RoLTEpKQorICAgIHJlc2N1ZQorICAgICAgMC4wLzAuMAorICAgIGVuZAorICBl
bmQKK2VuZAorCitjbGFzcyBBcnJheQorICBkZWYgc2h1ZmZsZSEKKyAgICBzaXplLmRvd250bygx
KSB7IHxufCBwdXNoIGRlbGV0ZV9hdChyYW5kKG4pKSB9CisgICAgc2VsZgorICBlbmQKK2VuZAor
CitkZWYgaW52ZXJzZUJldGFSZWd1bGFyaXplZChuKQorICBJQlJfTE9PS1VQW24tMV0KK2VuZAor
CitkZWYgbnVtVG9TdHIobnVtKQorICAiJS40ZiIlKG51bS50b19mKQorZW5kCisgIAorY2xhc3Mg
Tm9DaGFuZ2UKKyAgYXR0cl9yZWFkZXIgOmFtb3VudEZhc3RlcgorICAKKyAgZGVmIGluaXRpYWxp
emUoYW1vdW50RmFzdGVyKQorICAgIEBhbW91bnRGYXN0ZXIgPSBhbW91bnRGYXN0ZXIKKyAgZW5k
CisgIAorICBkZWYgc2hvcnRGb3JtCisgICAgIiAiCisgIGVuZAorICAKKyAgZGVmIHRvX3MKKyAg
ICBpZiBAYW1vdW50RmFzdGVyIDwgMS4wMQorICAgICAgIiIKKyAgICBlbHNlCisgICAgICAiICBt
aWdodCBiZSAje251bVRvU3RyKEBhbW91bnRGYXN0ZXIpfXggZmFzdGVyIgorICAgIGVuZAorICBl
bmQKK2VuZAorCitjbGFzcyBGYXN0ZXIKKyAgYXR0cl9yZWFkZXIgOmFtb3VudEZhc3RlcgorICAK
KyAgZGVmIGluaXRpYWxpemUoYW1vdW50RmFzdGVyKQorICAgIEBhbW91bnRGYXN0ZXIgPSBhbW91
bnRGYXN0ZXIKKyAgZW5kCisgIAorICBkZWYgc2hvcnRGb3JtCisgICAgIl4iCisgIGVuZAorICAK
KyAgZGVmIHRvX3MKKyAgICAiXiBkZWZpbml0ZWx5ICN7bnVtVG9TdHIoQGFtb3VudEZhc3Rlcil9
eCBmYXN0ZXIiCisgIGVuZAorZW5kCisKK2NsYXNzIFNsb3dlcgorICBhdHRyX3JlYWRlciA6YW1v
dW50U2xvd2VyCisgIAorICBkZWYgaW5pdGlhbGl6ZShhbW91bnRTbG93ZXIpCisgICAgQGFtb3Vu
dFNsb3dlciA9IGFtb3VudFNsb3dlcgorICBlbmQKKyAgCisgIGRlZiBzaG9ydEZvcm0KKyAgICAi
ISIKKyAgZW5kCisgIAorICBkZWYgdG9fcworICAgICIhIGRlZmluaXRlbHkgI3tudW1Ub1N0cihA
YW1vdW50U2xvd2VyKX14IHNsb3dlciIKKyAgZW5kCitlbmQKKworY2xhc3MgTWF5QmVTbG93ZXIK
KyAgYXR0cl9yZWFkZXIgOmFtb3VudFNsb3dlcgorICAKKyAgZGVmIGluaXRpYWxpemUoYW1vdW50
U2xvd2VyKQorICAgIEBhbW91bnRTbG93ZXIgPSBhbW91bnRTbG93ZXIKKyAgZW5kCisgIAorICBk
ZWYgc2hvcnRGb3JtCisgICAgIj8iCisgIGVuZAorICAKKyAgZGVmIHRvX3MKKyAgICBpZiBAYW1v
dW50U2xvd2VyIDwgMS4wMQorICAgICAgIj8iCisgICAgZWxzZQorICAgICAgIj8gbWlnaHQgYmUg
I3tudW1Ub1N0cihAYW1vdW50U2xvd2VyKX14IHNsb3dlciIKKyAgICBlbmQKKyAgZW5kCitlbmQK
KworY2xhc3MgU3RhdHMKKyAgZGVmIGluaXRpYWxpemUKKyAgICBAYXJyYXkgPSBbXQorICBlbmQK
KyAgCisgIGRlZiBhZGQodmFsdWUpCisgICAgaWYgdmFsdWUuaXNfYT8gU3RhdHMKKyAgICAgIGFk
ZCh2YWx1ZS5hcnJheSkKKyAgICBlbHNpZiB2YWx1ZS5yZXNwb25kX3RvPyA6ZWFjaAorICAgICAg
dmFsdWUuZWFjaCB7CisgICAgICAgIHwgdiB8CisgICAgICAgIGFkZCh2KQorICAgICAgfQorICAg
IGVsc2UKKyAgICAgIEBhcnJheSA8PCB2YWx1ZS50b19mCisgICAgZW5kCisgIGVuZAorICAgIAor
ICBkZWYgYXJyYXkKKyAgICBAYXJyYXkKKyAgZW5kCisgIAorICBkZWYgc3VtCisgICAgcmVzdWx0
PTAKKyAgICBAYXJyYXkuZWFjaCB7CisgICAgICB8IHZhbHVlIHwKKyAgICAgIHJlc3VsdCArPSB2
YWx1ZQorICAgIH0KKyAgICByZXN1bHQKKyAgZW5kCisgIAorICBkZWYgbWluCisgICAgQGFycmF5
Lm1pbgorICBlbmQKKyAgCisgIGRlZiBtYXgKKyAgICBAYXJyYXkubWF4CisgIGVuZAorICAKKyAg
ZGVmIHNpemUKKyAgICBAYXJyYXkubGVuZ3RoCisgIGVuZAorICAKKyAgZGVmIG1lYW4KKyAgICBj
b21wdXRlTWVhbihhcnJheSkKKyAgZW5kCisgIAorICBkZWYgYXJpdGhtZXRpY01lYW4KKyAgICBt
ZWFuCisgIGVuZAorICAKKyAgZGVmIHN0ZERldgorICAgIGNvbXB1dGVTdGREZXYoYXJyYXkpCisg
IGVuZAorCisgIGRlZiBzdGRFcnIKKyAgICBzdGREZXYvTWF0aC5zcXJ0KHNpemUpCisgIGVuZAor
ICAKKyAgIyBDb21wdXRlcyBhIDk1JSBTdHVkZW50J3MgdCBkaXN0cmlidXRpb24gY29uZmlkZW5j
ZSBpbnRlcnZhbAorICBkZWYgY29uZkludAorICAgIGlmIHNpemUgPCAyCisgICAgICAwLjAvMC4w
CisgICAgZWxzZQorICAgICAgcmFpc2UgaWYgc2l6ZSA+IDEwMDAKKyAgICAgIE1hdGguc3FydChz
aXplLTEuMCkqc3RkRXJyKk1hdGguc3FydCgtMS4wKzEuMC9pbnZlcnNlQmV0YVJlZ3VsYXJpemVk
KHNpemUtMSkpCisgICAgZW5kCisgIGVuZAorICAKKyAgZGVmIGxvd2VyCisgICAgbWVhbi1jb25m
SW50CisgIGVuZAorICAKKyAgZGVmIHVwcGVyCisgICAgbWVhbitjb25mSW50CisgIGVuZAorICAK
KyAgZGVmIGdlb21ldHJpY01lYW4KKyAgICBjb21wdXRlR2VvbWV0cmljTWVhbihhcnJheSkKKyAg
ZW5kCisgIAorICBkZWYgaGFybW9uaWNNZWFuCisgICAgY29tcHV0ZUhhcm1vbmljTWVhbihhcnJh
eSkKKyAgZW5kCisgIAorICBkZWYgY29tcGFyZVRvKG90aGVyKQorICAgIGlmIHVwcGVyIDwgb3Ro
ZXIubG93ZXIKKyAgICAgIEZhc3Rlci5uZXcob3RoZXIubWVhbi9tZWFuKQorICAgIGVsc2lmIGxv
d2VyID4gb3RoZXIudXBwZXIKKyAgICAgIFNsb3dlci5uZXcobWVhbi9vdGhlci5tZWFuKQorICAg
IGVsc2lmIG1lYW4gPiBvdGhlci5tZWFuCisgICAgICBNYXlCZVNsb3dlci5uZXcobWVhbi9vdGhl
ci5tZWFuKQorICAgIGVsc2UKKyAgICAgIE5vQ2hhbmdlLm5ldyhvdGhlci5tZWFuL21lYW4pCisg
ICAgZW5kCisgIGVuZAorICAKKyAgZGVmIHRvX3MKKyAgICAic2l6ZSA9ICN7c2l6ZX0sIG1lYW4g
PSAje21lYW59LCBzdGREZXYgPSAje3N0ZERldn0sIHN0ZEVyciA9ICN7c3RkRXJyfSwgY29uZklu
dCA9ICN7Y29uZkludH0iCisgIGVuZAorZW5kCisKK2RlZiBkb3VibGVQdXRzKG91dDEsb3V0Mixt
c2cpCisgIG91dDEucHV0cyAiI3tvdXQyLnBhdGh9OiAje21zZ30iIGlmICR2ZXJib3NpdHk+PTMK
KyAgb3V0Mi5wdXRzIG1zZworZW5kCisKK2RlZiBiZW5jaFJ1bkhhcm5lc3Modm0sIGJlbmNocGF0
aCkKKyAgJHN0ZGVyci5wdXRzICJydW5uaW5nICN7YmVuY2hwYXRofSB3aXRoICN7dm19Li4uIiBp
ZiAkdmVyYm9zaXR5Pj0xCisgIHJlc3VsdD1uaWwKKyAgVGVtcGZpbGUub3BlbigiYmVuY2hlciIp
IHsKKyAgICB8IGZpbGUgfAorICAgIHlpZWxkKGZpbGUpCisgICAgZmlsZS5mbHVzaAorICAgIGJl
Z2luCisgICAgICByZXN1bHQ9dm0ucnVuQW5kUmVwb3J0KGZpbGUucGF0aCkKKyAgICByZXNjdWUg
PT4gZQorICAgICAgJHN0ZGVyci5wdXRzICJDb3VsZCBub3QgcnVuICN7ZmlsZS5wYXRofToiCisg
ICAgICBGaWxlLm9wZW4oZmlsZS5wYXRoLCJyIikgeworICAgICAgICB8IGlucCB8CisgICAgICAg
IGlucC5lYWNoX2xpbmUgeworICAgICAgICAgIHwgbGluZSB8CisgICAgICAgICAgJHN0ZGVyci5w
dXRzICIje2xpbmV9IgorICAgICAgICB9CisgICAgICB9CisgICAgZW5kCisgICAgZmlsZS51bmxp
bmsgdW5sZXNzICRrZWVwRmlsZXMKKyAgfQorICByYWlzZSB1bmxlc3MgcmVzdWx0IGFuZCByZXN1
bHQuc2l6ZSA9PSAkaW5uZXIKKyAgcmVzdWx0CitlbmQKKworZGVmIGVtaXRUaW1lSGVscGVycyhm
aWxlKQorICBjYXNlICR0aW1lTW9kZQorICB3aGVuIDpwcmVjaXNlVGltZQorICAgIGRvdWJsZVB1
dHMoJHN0ZGVycixmaWxlLCJmdW5jdGlvbiBfX2JlbmNoZXJfY3VyVGltZU1TKCkgeyIpCisgICAg
ZG91YmxlUHV0cygkc3RkZXJyLGZpbGUsIiAgIHJldHVybiBwcmVjaXNlVGltZSgpKjEwMDAiKQor
ICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCJ9IikKKyAgd2hlbiA6ZGF0ZQorICAgIGRvdWJs
ZVB1dHMoJHN0ZGVycixmaWxlLCJmdW5jdGlvbiBfX2JlbmNoZXJfY3VyVGltZU1TKCkgeyIpCisg
ICAgZG91YmxlUHV0cygkc3RkZXJyLGZpbGUsIiAgIHJldHVybiBEYXRlLm5vdygpIikKKyAgICBk
b3VibGVQdXRzKCRzdGRlcnIsZmlsZSwifSIpCisgIGVsc2UKKyAgICByYWlzZQorICBlbmQKKyAg
ZG91YmxlUHV0cygkc3RkZXJyLGZpbGUsImZ1bmN0aW9uIF9fYmVuY2hlcl9ydW4oX19iZW5jaGVy
X3doYXQpIHsiKQorICBkb3VibGVQdXRzKCRzdGRlcnIsZmlsZSwiICAgdmFyIF9fYmVuY2hlcl9i
ZWZvcmUgPSBfX2JlbmNoZXJfY3VyVGltZU1TKCk7IikKKyAgZG91YmxlUHV0cygkc3RkZXJyLGZp
bGUsIiAgIHJ1bihfX2JlbmNoZXJfd2hhdCk7IikKKyAgZG91YmxlUHV0cygkc3RkZXJyLGZpbGUs
IiAgIHZhciBfX2JlbmNoZXJfYWZ0ZXIgPSBfX2JlbmNoZXJfY3VyVGltZU1TKCk7IikKKyAgZG91
YmxlUHV0cygkc3RkZXJyLGZpbGUsIiAgIHJldHVybiBfX2JlbmNoZXJfYWZ0ZXIgLSBfX2JlbmNo
ZXJfYmVmb3JlOyIpCisgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCJ9IikKK2VuZAorCitkZWYg
ZW1pdEJlbmNoUnVuQ29kZSh2bSwgZmlsZSwgYmVuY2hwYXRoKQorICBlbWl0VGltZUhlbHBlcnMo
ZmlsZSkKKyAgY2FzZSAkaW5uZXJNb2RlCisgIHdoZW4gOnJlbG9hZAorICAgIGNhc2Ugdm0udm1U
eXBlCisgICAgd2hlbiA6anNjCisgICAgICAkd2FybXVwLnRpbWVzIHsKKyAgICAgICAgZG91Ymxl
UHV0cygkc3RkZXJyLGZpbGUsIl9fYmVuY2hlcl9ydW4oI3tiZW5jaHBhdGguaW5zcGVjdH0pIikK
KyAgICAgICAgZG91YmxlUHV0cygkc3RkZXJyLGZpbGUsImdjKCk7IikKKyAgICAgIH0KKyAgICAg
ICRpbm5lci50aW1lcyB7CisgICAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCJwcmludChc
IlRpbWU6IFwiK19fYmVuY2hlcl9ydW4oI3tiZW5jaHBhdGguaW5zcGVjdH0pKTsiKQorICAgICAg
ICBkb3VibGVQdXRzKCRzdGRlcnIsZmlsZSwiZ2MoKTsiKQorICAgICAgfQorICAgIHdoZW4gOmR1
bXBSZW5kZXJUcmVlCisgICAgICBkb3VibGVQdXRzKCRzdGRlcnIsZmlsZSwiX19iZW5jaGVyX2Nv
dW50ID0gMDsiKQorICAgICAgZG91YmxlUHV0cygkc3RkZXJyLGZpbGUsImZ1bmN0aW9uIF9fYmVu
Y2hlcl9kb05leHQocmVzdWx0KSB7IikKKyAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCIg
ICAgaWYgKF9fYmVuY2hlcl9jb3VudCA+PSAjeyR3YXJtdXB9KSIpCisgICAgICBkb3VibGVQdXRz
KCRzdGRlcnIsZmlsZSwiICAgICAgICBkZWJ1ZyhcIlRpbWU6IFwiK3Jlc3VsdCk7IikKKyAgICAg
IGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCIgICAgX19iZW5jaGVyX2NvdW50Kys7IikKKyAgICAg
IGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCIgICAgaWYgKF9fYmVuY2hlcl9jb3VudCA8ICN7JGlu
bmVyKyR3YXJtdXB9KSIpCisgICAgICBkb3VibGVQdXRzKCRzdGRlcnIsZmlsZSwiICAgICAgICBf
X2JlbmNoZXJfcnVuSW1wbCgje2JlbmNocGF0aC5pbnNwZWN0fSwgX19iZW5jaGVyX2RvTmV4dCk7
IikKKyAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCIgICAgZWxzZSIpCisgICAgICBkb3Vi
bGVQdXRzKCRzdGRlcnIsZmlsZSwiICAgICAgICBxdWl0KCk7IikKKyAgICAgIGRvdWJsZVB1dHMo
JHN0ZGVycixmaWxlLCJ9IikKKyAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCJfX2JlbmNo
ZXJfcnVuSW1wbCgje2JlbmNocGF0aC5pbnNwZWN0fSwgX19iZW5jaGVyX2RvTmV4dCk7IikKKyAg
ICBlbHNlCisgICAgICByYWlzZSB2bS52bVR5cGUKKyAgICBlbmQKKyAgd2hlbiA6bG9hZE9uY2UK
KyAgICBkb3VibGVQdXRzKCRzdGRlcnIsZmlsZSwiZnVuY3Rpb24gcnVuaXQoKSB7IikKKyAgICBG
aWxlLm9wZW4oYmVuY2hwYXRoLCdyJykgeworICAgICAgfCBpbnAgfAorICAgICAgaW5wLmVhY2hf
bGluZSB7CisgICAgICAgIHwgbGluZSB8CisgICAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxl
LGxpbmUpCisgICAgICB9CisgICAgfQorICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCJ9IikK
KyAgICAkd2FybXVwLnRpbWVzIHsKKyAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCJydW5p
dCgpOyIpCisgICAgICBkb3VibGVQdXRzKCRzdGRlcnIsZmlsZSwiZ2MoKTsiKQorICAgIH0KKyAg
ICAkaW5uZXIudGltZXMgeworICAgICAgZG91YmxlUHV0cygkc3RkZXJyLGZpbGUsImJlZm9yZSA9
IF9fYmVuY2hlcl9jdXJUaW1lTVMoKTsiKQorICAgICAgZG91YmxlUHV0cygkc3RkZXJyLGZpbGUs
InJ1bml0KCk7IikKKyAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCJhZnRlciA9IF9fYmVu
Y2hlcl9jdXJUaW1lTVMoKTsiKQorICAgICAgZG91YmxlUHV0cygkc3RkZXJyLGZpbGUsInByaW50
KFwiVGltZTogXCIrKGFmdGVyLWJlZm9yZSkpOyIpCisgICAgICBkb3VibGVQdXRzKCRzdGRlcnIs
ZmlsZSwiZ2MoKTsiKQorICAgIH0KKyAgICBpZiB2bS52bVR5cGUgPT0gOmR1bXBSZW5kZXJUcmVl
CisgICAgICBkb3VibGVQdXRzKCRzdGRlcnIsZmlsZSwicXVpdCgpOyIpCisgICAgZW5kCisgIGVs
c2UKKyAgICByYWlzZSAiYmFkICRpbm5lck1vZGU6ICN7JGlubmVyTW9kZX0iCisgIGVuZAorZW5k
CisKK2RlZiBydW5CZW5jaG1hcmtBbmRSZXBvcnQodm0sIGJlbmNocGF0aCkKKyAgYmVuY2hSdW5I
YXJuZXNzKHZtLCBiZW5jaHBhdGgpIHsKKyAgICB8IGZpbGUgfAorICAgIGVtaXRCZW5jaFJ1bkNv
ZGUodm0sIGZpbGUsIGJlbmNocGF0aCkKKyAgfQorZW5kCisKK2NsYXNzIFN0YXRzQWNjdW11bGF0
b3IKKyAgZGVmIGluaXRpYWxpemUKKyAgICBAc3RhdHMgPSBbXQorICAgICgkb3V0ZXIqJGlubmVy
KS50aW1lcyB7CisgICAgICBAc3RhdHMgPDwgU3RhdHMubmV3CisgICAgfQorICBlbmQKKyAgCisg
IGRlZiBzdGF0c0Zvckl0ZXJhdGlvbihvdXRlckl0ZXJhdGlvbiwgaW5uZXJJdGVyYXRpb24pCisg
ICAgQHN0YXRzW291dGVySXRlcmF0aW9uKiRpbm5lciArIGlubmVySXRlcmF0aW9uXQorICBlbmQK
KyAgCisgIGRlZiBzdGF0cworICAgIHJlc3VsdCA9IFN0YXRzLm5ldworICAgIEBzdGF0cy5lYWNo
IHsKKyAgICAgIHwgc3RhdCB8CisgICAgICByZXN1bHQuYWRkKHlpZWxkIHN0YXQpCisgICAgfQor
ICAgIHJlc3VsdAorICBlbmQKKyAgCisgIGRlZiBnZW9tZXRyaWNNZWFuU3RhdHMKKyAgICBzdGF0
cyB7CisgICAgICB8IHN0YXQgfAorICAgICAgc3RhdC5nZW9tZXRyaWNNZWFuCisgICAgfQorICBl
bmQKKyAgCisgIGRlZiBhcml0aG1ldGljTWVhblN0YXRzCisgICAgc3RhdHMgeworICAgICAgfCBz
dGF0IHwKKyAgICAgIHN0YXQuYXJpdGhtZXRpY01lYW4KKyAgICB9CisgIGVuZAorZW5kCisKK2Ns
YXNzIFZNIDwgU3RhdHNBY2N1bXVsYXRvcgorICBkZWYgaW5pdGlhbGl6ZShwYXRoLCBuYW1lLCBu
YW1lS2luZCkKKyAgICBzdXBlcigpCisgICAgQHBhdGggPSBwYXRoCisgICAgQG5hbWUgPSBuYW1l
CisgICAgQG5hbWVLaW5kID0gbmFtZUtpbmQKKyAgICAKKyAgICBUZW1wZmlsZS5vcGVuKCJiZW5j
aGVyLXZtdGVzdCIpIHsKKyAgICAgIHwgZmlsZSB8CisgICAgICBmaWxlLnB1dHMgInByaW50KFwi
aGVyZVwiKTsiCisgICAgICBmaWxlLmZsdXNoCisgICAgICAKKyAgICAgIHJlc3VsdCA9IG5pbAor
ICAgICAgQHZtVHlwZSA9IDpqc2MKKyAgICAgIHJ1bihmaWxlLnBhdGgpIHsKKyAgICAgICAgfCBp
bnAgfAorICAgICAgICByZXN1bHQgPSBpbnAucmVhZAorICAgICAgfQorICAgICAgCisgICAgICBp
ZiByZXN1bHQuY2hvbXAgPT0gImhlcmUiCisgICAgICAgICRzdGRlcnIucHV0cyAiI3tAbmFtZX0g
aXMgZGVmaW5pdGVseSBhIGpzYy1zdHlsZSBWTS4iIGlmICR2ZXJib3NpdHk+PTEKKyAgICAgICAg
QHZtVHlwZSA9IDpqc2MKKyAgICAgIGVsc2UKKyAgICAgICAgJHN0ZGVyci5wdXRzICJBc3N1bWlu
ZyB0aGF0ICN7QG5hbWV9IGlzIGEgRHVtcFJlbmRlclRyZWUtc3R5bGUgVk0uIiBpZiAkdmVyYm9z
aXR5Pj0xCisgICAgICAgIEB2bVR5cGUgPSA6ZHVtcFJlbmRlclRyZWUKKyAgICAgIGVuZAorICAg
IH0KKyAgZW5kCisgIAorICBkZWYgdG9fcworICAgIEBuYW1lCisgIGVuZAorICAKKyAgZGVmIG5h
bWUKKyAgICBAbmFtZQorICBlbmQKKyAgCisgIGRlZiBwYXRoCisgICAgQHBhdGgKKyAgZW5kCisg
IAorICBkZWYgbmFtZUtpbmQKKyAgICBAbmFtZUtpbmQKKyAgZW5kCisgIAorICBkZWYgdm1UeXBl
CisgICAgQHZtVHlwZQorICBlbmQKKyAgCisgIGRlZiBwcmludEZ1bmN0aW9uCisgICAgY2FzZSBA
dm1UeXBlCisgICAgd2hlbiA6anNjCisgICAgICAicHJpbnQiCisgICAgd2hlbiA6ZHVtcFJlbmRl
clRyZWUKKyAgICAgICJkZWJ1ZyIKKyAgICBlbHNlCisgICAgICByYWlzZSBAdm1UeXBlCisgICAg
ZW5kCisgIGVuZAorICAKKyAgZGVmIHJ1bihmaWxlbmFtZSkKKyAgICBjYXNlIEB2bVR5cGUKKyAg
ICB3aGVuIDpqc2MKKyAgICAgIGNtZCA9ICIje0BwYXRofSAje2ZpbGVuYW1lfSIKKyAgICAgICRz
dGRlcnIucHV0cyAiPj4gI3tjbWR9IiBpZiAkdmVyYm9zaXR5Pj0yCisgICAgICBJTy5wb3Blbihj
bWQsInIiKSB7CisgICAgICAgIHwgaW5wIHwKKyAgICAgICAgeWllbGQgaW5wCisgICAgICB9Cisg
ICAgICAkPy5zdWNjZXNzPworICAgIHdoZW4gOmR1bXBSZW5kZXJUcmVlCisgICAgICByZXN1bHQg
PSBuaWwKKyAgICAgIFRlbXBmaWxlLm9wZW4oWyJiZW5jaGVyLWh0bWxkb2MiLCIuaHRtbCJdKSB7
CisgICAgICAgIHwgaHRtbEZpbGUgfAorICAgICAgICBUZW1wZmlsZS5vcGVuKCJiZW5jaGVyLWNz
cyIpIHsKKyAgICAgICAgICB8IGNzc0ZpbGUgfAorICAgICAgICAgIGRvdWJsZVB1dHMoJHN0ZGVy
cixjc3NGaWxlLCIucGFzcyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6IGdy
ZWVuO1xufVxuLmZhaWwge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiByZWQ7
XG59XG5cI2NvbnNvbGUge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBmb250LWZh
bWlseTogbW9ub3NwYWNlO1xufSIpCisgICAgICAgICAgVGVtcGZpbGUub3BlbigiYmVuY2hlci1w
cmUiKSB7CisgICAgICAgICAgICB8IHByZUZpbGUgfAorICAgICAgICAgICAgZG91YmxlUHV0cygk
c3RkZXJyLHByZUZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICJpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7XG4iKworICAgICAgICAgICAgICAgICAgICAgICAiICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQod2luZG93LmVuYWJsZVBpeGVsVGVzdGluZyk7XG4i
KworICAgICAgICAgICAgICAgICAgICAgICAiICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTtcbiIrCisgICAgICAgICAgICAgICAgICAgICAgICJ9XG4iKworICAgICAgICAg
ICAgICAgICAgICAgICAiXG4iKworICAgICAgICAgICAgICAgICAgICAgICAiZnVuY3Rpb24gZGVi
dWcobXNnKVxuIisKKyAgICAgICAgICAgICAgICAgICAgICAgIntcbiIrCisgICAgICAgICAgICAg
ICAgICAgICAgICIgICAgdmFyIHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3Bhblwi
KTtcbiIrCisgICAgICAgICAgICAgICAgICAgICAgICIgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoXCJjb25zb2xlXCIpLmFwcGVuZENoaWxkKHNwYW4pOyAvLyBpbnNlcnQgaXQgZmlyc3Qgc28g
WEhUTUwga25vd3MgdGhlIG5hbWVzcGFjZVxuIisKKyAgICAgICAgICAgICAgICAgICAgICAgIiAg
ICBzcGFuLmlubmVySFRNTCA9IG1zZyArICc8YnIgLz4nO1xuIisKKyAgICAgICAgICAgICAgICAg
ICAgICAgIn1cbiIrCisgICAgICAgICAgICAgICAgICAgICAgICJcbiIrCisgICAgICAgICAgICAg
ICAgICAgICAgICJmdW5jdGlvbiBxdWl0KCkge1xuIisKKyAgICAgICAgICAgICAgICAgICAgICAg
IiAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7XG4iKworICAgICAgICAgICAg
ICAgICAgICAgICAifVxuIisKKyAgICAgICAgICAgICAgICAgICAgICAgIlxuIisKKyAgICAgICAg
ICAgICAgICAgICAgICAgIl9fYmVuY2hlcl9jb250aW51YXRpb249bnVsbDtcbiIrCisgICAgICAg
ICAgICAgICAgICAgICAgICJcbiIrCisgICAgICAgICAgICAgICAgICAgICAgICJmdW5jdGlvbiBy
ZXBvcnRSZXN1bHQocmVzdWx0KSB7XG4iKworICAgICAgICAgICAgICAgICAgICAgICAiICAgIF9f
YmVuY2hlcl9jb250aW51YXRpb24ocmVzdWx0KTtcbiIrCisgICAgICAgICAgICAgICAgICAgICAg
ICJ9XG4iKworICAgICAgICAgICAgICAgICAgICAgICAiXG4iKworICAgICAgICAgICAgICAgICAg
ICAgICAiZnVuY3Rpb24gX19iZW5jaGVyX3J1bkltcGwoZmlsZW5hbWUsIGNvbnRpbnVhdGlvbikg
e1xuIisKKyAgICAgICAgICAgICAgICAgICAgICAgIiAgICBmdW5jdGlvbiBkb2l0KCkge1xuIisK
KyAgICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
XCJmcmFtZXBhcmVudFwiKS5pbm5lckhUTUwgPSBcIlwiO1xuIisKKyAgICAgICAgICAgICAgICAg
ICAgICAgIiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJmcmFtZXBhcmVudFwiKS5p
bm5lckhUTUwgPSBcIjxpZnJhbWUgaWQ9J3Rlc3RmcmFtZSc+XCI7XG4iKworICAgICAgICAgICAg
ICAgICAgICAgICAiICAgICAgICB2YXIgdGVzdEZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoXCJ0ZXN0ZnJhbWVcIik7XG4iKworICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICB0
ZXN0RnJhbWUuY29udGVudERvY3VtZW50Lm9wZW4oKTtcbiIrCisgICAgICAgICAgICAgICAgICAg
ICAgICIgICAgICAgIHRlc3RGcmFtZS5jb250ZW50RG9jdW1lbnQud3JpdGUoXCI8IURPQ1RZUEUg
aHRtbD5cXG48aGVhZD48L2hlYWQ+PGJvZHk+PGRpdiBpZD1cXFwiY29uc29sZVxcXCI+PC9kaXY+
PHNjcmlwdCB0eXBlPVxcXCJ0ZXh0L2phdmFzY3JpcHRcXFwiPl9fYmVuY2hlcl9iZWZvcmUgPSBE
YXRlLm5vdygpOzwvc2NyaXB0PjxzY3JpcHQgc3JjPVxcXCJmaWxlOi8vXCIrZmlsZW5hbWUrXCJc
XFwiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT1cXFwidGV4dC9qYXZhc2NyaXB0XFxcIj53aW5kb3cu
cGFyZW50LnJlcG9ydFJlc3VsdChEYXRlLm5vdygpIC0gX19iZW5jaGVyX2JlZm9yZSk7PC9zY3Jp
cHQ+PC9ib2R5PjwvaHRtbD5cIik7XG4iKworICAgICAgICAgICAgICAgICAgICAgICAiICAgICAg
ICB0ZXN0RnJhbWUuY29udGVudERvY3VtZW50LmNsb3NlKCk7XG4iKworICAgICAgICAgICAgICAg
ICAgICAgICAiICAgIH1cbiIrCisgICAgICAgICAgICAgICAgICAgICAgICIgICAgX19iZW5jaGVy
X2NvbnRpbnVhdGlvbiA9IGNvbnRpbnVhdGlvbjtcbiIrCisgICAgICAgICAgICAgICAgICAgICAg
ICIgICAgd2luZG93LnNldFRpbWVvdXQoZG9pdCwgMTApO1xuIisKKyAgICAgICAgICAgICAgICAg
ICAgICAgIn1cbiIpCisgICAgICAgICAgICBkb3VibGVQdXRzKCRzdGRlcnIsaHRtbEZpbGUsIjwh
RE9DVFlQRSBIVE1MIFBVQkxJQyBcIi0vL0lFVEYvL0RURCBIVE1MLy9FTlwiPlxuPGh0bWw+PGhl
YWQ+PGxpbmsgcmVsPVwic3R5bGVzaGVldFwiIGhyZWY9XCJmaWxlOi8vI3tjc3NGaWxlLnBhdGh9
XCI+PHNjcmlwdCBzcmM9XCJmaWxlOi8vI3twcmVGaWxlLnBhdGh9XCI+PC9zY3JpcHQ+PC9oZWFk
Pjxib2R5PjxkaXYgaWQ9XCJjb25zb2xlXCI+PC9kaXY+PGRpdiBpZD1cImZyYW1lcGFyZW50XCI+
PC9kaXY+PHNjcmlwdCBzcmM9XCJmaWxlOi8vI3tmaWxlbmFtZX1cIj48L3NjcmlwdD48L2JvZHk+
PC9odG1sPiIpCisgICAgICAgICAgICAKKyAgICAgICAgICAgIGh0bWxGaWxlLmZsdXNoCisgICAg
ICAgICAgICBwcmVGaWxlLmZsdXNoCisgICAgICAgICAgICBjc3NGaWxlLmZsdXNoCisgICAgICAg
ICAgICAKKyAgICAgICAgICAgIGNtZCA9ICIje3BhdGh9ICN7aHRtbEZpbGUucGF0aH0iCisgICAg
ICAgICAgICAkc3RkZXJyLnB1dHMgIj4+ICN7Y21kfSIgaWYgJHZlcmJvc2l0eT49MgorICAgICAg
ICAgICAgSU8ucG9wZW4oY21kLCAiciIpIHsKKyAgICAgICAgICAgICAgfCBpbnAgfAorICAgICAg
ICAgICAgICB5aWVsZCBpbnAKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJlc3VsdCA9ICQ/
CisgICAgICAgICAgICAKKyAgICAgICAgICAgICNzbGVlcCAxMDAwMAorICAgICAgICAgICAgCisg
ICAgICAgICAgICBodG1sRmlsZS51bmxpbmsgdW5sZXNzICRrZWVwRmlsZXMKKyAgICAgICAgICAg
IHByZUZpbGUudW5saW5rIHVubGVzcyAka2VlcEZpbGVzCisgICAgICAgICAgICBjc3NGaWxlLnVu
bGluayB1bmxlc3MgJGtlZXBGaWxlcworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQor
ICAgICAgcmVzdWx0LnN1Y2Nlc3M/CisgICAgZWxzZQorICAgICAgcmFpc2UgQHZtVHlwZQorICAg
IGVuZAorICBlbmQKKyAgCisgIGRlZiBydW5BbmRSZXBvcnQoZmlsZW5hbWUpCisgICAgcmVzdWx0
ID0gbmlsCisgICAgNS50aW1lcyB7CisgICAgICByZXN1bHQgPSBTdGF0cy5uZXcKKyAgICAgIHJ1
bihmaWxlbmFtZSkgeworICAgICAgICB8IGlucCB8CisgICAgICAgIGlucC5lYWNoX2xpbmUgewor
ICAgICAgICAgIHwgbGluZSB8CisgICAgICAgICAgJHN0ZGVyci5wdXRzICJzdGRvdXQ6ICN7bGlu
ZX0iIGlmICR2ZXJib3NpdHk+PTIKKyAgICAgICAgICBpZiBsaW5lID1+IC9eVGltZTogLworICAg
ICAgICAgICAgcmVzdWx0LmFkZCgkfi5wb3N0X21hdGNoLnRvX2YpCisgICAgICAgICAgZW5kCisg
ICAgICAgIH0KKyAgICAgIH0KKyAgICAgIGJyZWFrIGlmIHJlc3VsdC5zaXplID09ICRpbm5lcgor
ICAgICAgaWYgJHZlcmJvc2l0eSA9PSAwCisgICAgICAgICRzdGRlcnIucHJpbnQgIiAgICIKKyAg
ICAgIGVuZAorICAgICAgJHN0ZGVyci5wdXRzICJGYWlsZWQgdG8gcnVuICN7ZmlsZW5hbWV9IG9u
ICN7c2VsZn0sIHJldHJ5aW5nLi4uIgorICAgIH0KKyAgICByYWlzZSAiRmFpbGVkIHRvIHJ1biAj
e2ZpbGVuYW1lfSBvbiAje3NlbGZ9IiB1bmxlc3MgcmVzdWx0IGFuZCByZXN1bHQuc2l6ZSA9PSAk
aW5uZXIKKyAgICByZXN1bHQKKyAgZW5kCitlbmQKKworY2xhc3MgU3VuU3BpZGVyQmVuY2htYXJr
CisgIGF0dHJfYWNjZXNzb3IgOmJlbmNobWFya1N1aXRlCisgIAorICBkZWYgaW5pdGlhbGl6ZShu
YW1lKQorICAgIEBuYW1lID0gbmFtZQorICBlbmQKKyAgCisgIGRlZiB0b19zCisgICAgQG5hbWUK
KyAgZW5kCisgIAorICBkZWYgcnVuQW5kUmVwb3J0KHZtKQorICAgIHJ1bkJlbmNobWFya0FuZFJl
cG9ydCh2bSwgIiN7U1VOU1BJREVSX1BBVEh9LyN7QG5hbWV9LmpzIikKKyAgZW5kCitlbmQKKwor
Y2xhc3MgVjhCZW5jaG1hcmsKKyAgYXR0cl9hY2Nlc3NvciA6YmVuY2htYXJrU3VpdGUKKyAgCisg
IGRlZiBpbml0aWFsaXplKG5hbWUpCisgICAgQG5hbWUgPSBuYW1lCisgIGVuZAorICAKKyAgZGVm
IHRvX3MKKyAgICBAbmFtZQorICBlbmQKKyAgCisgIGRlZiBydW5BbmRSZXBvcnQodm0pCisgICAg
cnVuQmVuY2htYXJrQW5kUmVwb3J0KHZtLCAiI3tWOF9QQVRIfS92OC0je0BuYW1lfS5qcyIpCisg
IGVuZAorZW5kCisKK2NsYXNzIEtyYWtlbkJlbmNobWFyaworICBhdHRyX2FjY2Vzc29yIDpiZW5j
aG1hcmtTdWl0ZQorICAKKyAgZGVmIGluaXRpYWxpemUobmFtZSkKKyAgICBAbmFtZSA9IG5hbWUK
KyAgZW5kCisgIAorICBkZWYgdG9fcworICAgIEBuYW1lCisgIGVuZAorICAKKyAgZGVmIHJ1bkFu
ZFJlcG9ydCh2bSkKKyAgICAjIEtyYWtlbiByZXF1aXJlcyBzb21lIHNwZWNpYWwtY2FzaW5nCisg
ICAgCisgICAgZGF0YVBhdGg9IiN7S1JBS0VOX1BBVEh9LyN7QG5hbWV9LWRhdGEuanMiCisgICAg
YmVuY2hQYXRoPSIje0tSQUtFTl9QQVRIfS8je0BuYW1lfS5qcyIKKyAgICAKKyAgICBiZW5jaFJ1
bkhhcm5lc3Modm0sIGJlbmNoUGF0aCkgeworICAgICAgfCBmaWxlIHwKKyAgICAgIGVtaXRUaW1l
SGVscGVycyhmaWxlKQorICAgICAgZG91YmxlUHV0cygkc3RkZXJyLGZpbGUsImxvYWQoI3tkYXRh
UGF0aC5pbnNwZWN0fSk7IikKKyAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCJnYygpOyIp
OworICAgICAgaWYgJGlubmVyTW9kZSA9PSA6cmVsb2FkCisgICAgICAgIGNhc2Ugdm0udm1UeXBl
CisgICAgICAgIHdoZW4gOmpzYworICAgICAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCJm
b3IgKHZhciBfX2JlbmNoZXJfaW5kZXggPSAwOyBfX2JlbmNoZXJfaW5kZXggPCAjeyR3YXJtdXAr
JGlubmVyfTsgKytfX2JlbmNoZXJfaW5kZXgpIHsiKQorICAgICAgICAgIGRvdWJsZVB1dHMoJHN0
ZGVycixmaWxlLCIgICBiZWZvcmUgPSBfX2JlbmNoZXJfY3VyVGltZU1TKCk7IikKKyAgICAgICAg
ICBkb3VibGVQdXRzKCRzdGRlcnIsZmlsZSwiICAgbG9hZCgje2JlbmNoUGF0aC5pbnNwZWN0fSk7
IikKKyAgICAgICAgICBkb3VibGVQdXRzKCRzdGRlcnIsZmlsZSwiICAgYWZ0ZXIgPSBfX2JlbmNo
ZXJfY3VyVGltZU1TKCk7IikKKyAgICAgICAgICBkb3VibGVQdXRzKCRzdGRlcnIsZmlsZSwiICAg
aWYgKF9fYmVuY2hlcl9pbmRleCA+PSAjeyR3YXJtdXB9KSAje3ZtLnByaW50RnVuY3Rpb259KFwi
VGltZTogXCIrKGFmdGVyLWJlZm9yZSkpOyIpOworICAgICAgICAgIGRvdWJsZVB1dHMoJHN0ZGVy
cixmaWxlLCIgICBnYygpOyIpOworICAgICAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCJ9
IikKKyAgICAgICAgd2hlbiA6ZHVtcFJlbmRlclRyZWUKKyAgICAgICAgICByYWlzZSAiS3Jha2Vu
IGluIER1bXBSZW5kZXJUcmVlIGlzIGN1cnJlbnRseSB1bnN1cHBvcnRlZC4iCisgICAgICAgIGVs
c2UKKyAgICAgICAgICByYWlzZSB2bS52bVR5cGUKKyAgICAgICAgZW5kCisgICAgICBlbHNlCisg
ICAgICAgIGVtaXRCZW5jaFJ1bkNvZGUodm0sIGZpbGUsIGJlbmNoUGF0aCkKKyAgICAgIGVuZAor
ICAgIH0KKyAgZW5kCitlbmQKKworY2xhc3MgQmVuY2htYXJrU3VpdGUKKyAgZGVmIGluaXRpYWxp
emUobmFtZSwgcGF0aCkKKyAgICBAbmFtZSA9IG5hbWUKKyAgICBAcGF0aCA9IHBhdGgKKyAgICBA
YmVuY2htYXJrcyA9IFtdCisgIGVuZAorICAKKyAgZGVmIG5hbWUKKyAgICBAbmFtZQorICBlbmQK
KyAgCisgIGRlZiB0b19zCisgICAgQG5hbWUKKyAgZW5kCisgIAorICBkZWYgcGF0aAorICAgIEBw
YXRoCisgIGVuZAorICAKKyAgZGVmIGFkZChiZW5jaG1hcmspCisgICAgaWYgbm90ICRiZW5jaG1h
cmtQYXR0ZXJuIG9yICIje0BuYW1lfS8je2JlbmNobWFyay50b19zfSIgPX4gJGJlbmNobWFya1Bh
dHRlcm4KKyAgICAgIGJlbmNobWFyay5iZW5jaG1hcmtTdWl0ZSA9IHNlbGYKKyAgICAgIEBiZW5j
aG1hcmtzIDw8IGJlbmNobWFyaworICAgIGVuZAorICBlbmQKKyAgCisgIGRlZiBiZW5jaG1hcmtz
CisgICAgQGJlbmNobWFya3MKKyAgZW5kCisgIAorICBkZWYgZW1wdHk/CisgICAgQGJlbmNobWFy
a3MuZW1wdHk/CisgIGVuZAorICAKKyAgZGVmIHJldGFpbl9pZgorICAgIEBiZW5jaG1hcmtzLmRl
bGV0ZV9pZiB7CisgICAgICB8IGJlbmNobWFyayB8CisgICAgICBub3QgeWllbGQgYmVuY2htYXJr
CisgICAgfQorICBlbmQKK2VuZAorCitjbGFzcyBCZW5jaG1hcmtPblZNCisgIGRlZiBpbml0aWFs
aXplKHZtLCBiZW5jaG1hcmssIHN1aXRlT25WTSkKKyAgICBAdm0gPSB2bQorICAgIEBiZW5jaG1h
cmsgPSBiZW5jaG1hcmsKKyAgICBAc3VpdGVPblZNID0gc3VpdGVPblZNCisgICAgQHN0YXRzID0g
U3RhdHMubmV3CisgIGVuZAorICAKKyAgZGVmIHRvX3MKKyAgICAiI3tAYmVuY2htYXJrfSBvbiAj
e0B2bX0iCisgIGVuZAorICAKKyAgZGVmIGJlbmNobWFyaworICAgIEBiZW5jaG1hcmsKKyAgZW5k
CisgIAorICBkZWYgdm0KKyAgICBAdm0KKyAgZW5kCisgIAorICBkZWYgc3VpdGUKKyAgICBAYmVu
Y2htYXJrLmJlbmNobWFya1N1aXRlCisgIGVuZAorICAKKyAgZGVmIHN1aXRlT25WTQorICAgIEBz
dWl0ZU9uVk0KKyAgZW5kCisgIAorICBkZWYgc3RhdHMKKyAgICBAc3RhdHMKKyAgZW5kCisgIAor
ICBkZWYgcnVuUmVjb3JkQW5kUmVwb3J0CisgICAgcmVzdWx0ID0gQGJlbmNobWFyay5ydW5BbmRS
ZXBvcnQoQHZtKQorICAgIEBzdGF0cy5hZGQocmVzdWx0KQorICAgIHJlc3VsdAorICBlbmQKK2Vu
ZAorCitjbGFzcyBTdWl0ZU9uVk0gPCBTdGF0c0FjY3VtdWxhdG9yCisgIGRlZiBpbml0aWFsaXpl
KHZtLCBzdWl0ZSkKKyAgICBzdXBlcigpCisgICAgQHZtID0gdm0KKyAgICBAc3VpdGUgPSBzdWl0
ZQorICBlbmQKKyAgCisgIGRlZiB0b19zCisgICAgIiN7QHN1aXRlfSBvbiAje0B2bX0iCisgIGVu
ZAorICAKKyAgZGVmIHN1aXRlCisgICAgQHN1aXRlCisgIGVuZAorICAKKyAgZGVmIHZtCisgICAg
QHZtCisgIGVuZAorZW5kCisKK2NsYXNzIEJlbmNoUGxhbgorICBkZWYgaW5pdGlhbGl6ZShiZW5j
aG1hcmtPblZNLCBpdGVyYXRpb24pCisgICAgQGJlbmNobWFya09uVk0gPSBiZW5jaG1hcmtPblZN
CisgICAgQGl0ZXJhdGlvbiA9IGl0ZXJhdGlvbgorICBlbmQKKyAgCisgIGRlZiB0b19zCisgICAg
IiN7QGJlbmNobWFya09uVk19IFwjI3tAaXRlcmF0aW9uKzF9IgorICBlbmQKKyAgCisgIGRlZiBi
ZW5jaG1hcmtPblZNCisgICAgQGJlbmNobWFya09uVk0KKyAgZW5kCisgIAorICBkZWYgYmVuY2ht
YXJrCisgICAgQGJlbmNobWFya09uVk0uYmVuY2htYXJrCisgIGVuZAorICAKKyAgZGVmIHN1aXRl
CisgICAgQGJlbmNobWFya09uVk0uc3VpdGUKKyAgZW5kCisgIAorICBkZWYgdm0KKyAgICBAYmVu
Y2htYXJrT25WTS52bQorICBlbmQKKyAgCisgIGRlZiBpdGVyYXRpb24KKyAgICBAaXRlcmF0aW9u
CisgIGVuZAorICAKKyAgZGVmIHJ1bkFuZFJlY29yZAorICAgIEBiZW5jaG1hcmtPblZNLnJ1blJl
Y29yZEFuZFJlcG9ydC5hcnJheS5lYWNoX3dpdGhfaW5kZXggeworICAgICAgfCB2YWx1ZSwgaW5k
ZXggfAorICAgICAgQGJlbmNobWFya09uVk0udm0uc3RhdHNGb3JJdGVyYXRpb24oQGl0ZXJhdGlv
biwgaW5kZXgpLmFkZCh2YWx1ZSkKKyAgICAgIEBiZW5jaG1hcmtPblZNLnN1aXRlT25WTS5zdGF0
c0Zvckl0ZXJhdGlvbihAaXRlcmF0aW9uLCBpbmRleCkuYWRkKHZhbHVlKQorICAgIH0KKyAgZW5k
CitlbmQKKworZGVmIGxwYWQoc3RyLGNoYXJzKQorICBpZiBzdHIubGVuZ3RoPmNoYXJzCisgICAg
c3RyCisgIGVsc2UKKyAgICAiJSN7Y2hhcnN9cyIlKHN0cikKKyAgZW5kCitlbmQKKworZGVmIHJw
YWQoc3RyLGNoYXJzKQorICB3aGlsZSBzdHIubGVuZ3RoPGNoYXJzCisgICAgc3RyKz0iICIKKyAg
ZW5kCisgIHN0cgorZW5kCisKK2RlZiBjZW50ZXIoc3RyLGNoYXJzKQorICB3aGlsZSBzdHIubGVu
Z3RoPGNoYXJzCisgICAgc3RyKz0iICIKKyAgICBpZiBzdHIubGVuZ3RoPGNoYXJzCisgICAgICBz
dHI9IiAiK3N0cgorICAgIGVuZAorICBlbmQKKyAgc3RyCitlbmQKKworZGVmIHN0YXRzVG9TdHIo
c3RhdHMpCisgIGxwYWQobnVtVG9TdHIoc3RhdHMubWVhbiksMTEpKyIrLSIrcnBhZChudW1Ub1N0
cihzdGF0cy5jb25mSW50KSw5KQorZW5kCisgIAorYmVnaW4KKyAgR2V0b3B0TG9uZy5uZXcoWyct
LWlubmVyJywgR2V0b3B0TG9uZzo6UkVRVUlSRURfQVJHVU1FTlRdLAorICAgICAgICAgICAgICAg
ICBbJy0tb3V0ZXInLCBHZXRvcHRMb25nOjpSRVFVSVJFRF9BUkdVTUVOVF0sCisgICAgICAgICAg
ICAgICAgIFsnLS13YXJtdXAnLCBHZXRvcHRMb25nOjpSRVFVSVJFRF9BUkdVTUVOVF0sCisgICAg
ICAgICAgICAgICAgIFsnLS10aW1lLW1vZGUnLCBHZXRvcHRMb25nOjpSRVFVSVJFRF9BUkdVTUVO
VF0sCisgICAgICAgICAgICAgICAgIFsnLS1zdW5zcGlkZXItb25seScsIEdldG9wdExvbmc6Ok5P
X0FSR1VNRU5UXSwKKyAgICAgICAgICAgICAgICAgWyctLXY4LW9ubHknLCBHZXRvcHRMb25nOjpO
T19BUkdVTUVOVF0sCisgICAgICAgICAgICAgICAgIFsnLS1rcmFrZW4tb25seScsIEdldG9wdExv
bmc6Ok5PX0FSR1VNRU5UXSwKKyAgICAgICAgICAgICAgICAgWyctLWV4Y2x1ZGUtc3Vuc3BpZGVy
JywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAorICAgICAgICAgICAgICAgICBbJy0tZXhjbHVk
ZS12OCcsIEdldG9wdExvbmc6Ok5PX0FSR1VNRU5UXSwKKyAgICAgICAgICAgICAgICAgWyctLWV4
Y2x1ZGUta3Jha2VuJywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAorICAgICAgICAgICAgICAg
ICBbJy0tYmVuY2htYXJrcycsIEdldG9wdExvbmc6OlJFUVVJUkVEX0FSR1VNRU5UXSwKKyAgICAg
ICAgICAgICAgICAgWyctLWxvYWQtb25jZScsIEdldG9wdExvbmc6Ok5PX0FSR1VNRU5UXSwKKyAg
ICAgICAgICAgICAgICAgWyctLWtlZXAtZmlsZXMnLCBHZXRvcHRMb25nOjpOT19BUkdVTUVOVF0s
CisgICAgICAgICAgICAgICAgIFsnLS12ZXJib3NlJywgJy12JywgR2V0b3B0TG9uZzo6Tk9fQVJH
VU1FTlRdLAorICAgICAgICAgICAgICAgICBbJy0taGVscCcsICctaCcsIEdldG9wdExvbmc6Ok5P
X0FSR1VNRU5UXSkuZWFjaCB7CisgICAgfCBvcHQsIGFyZyB8CisgICAgY2FzZSBvcHQKKyAgICB3
aGVuICctLWlubmVyJworICAgICAgJGlubmVyID0gaW50QXJnKG9wdCxhcmcsMSxuaWwpCisgICAg
d2hlbiAnLS1vdXRlcicKKyAgICAgICRvdXRlciA9IGludEFyZyhvcHQsYXJnLDEsbmlsKQorICAg
IHdoZW4gJy0td2FybXVwJworICAgICAgJHdhcm11cCA9IGludEFyZyhvcHQsYXJnLDAsbmlsKQor
ICAgIHdoZW4gJy0tdGltZS1tb2RlJworICAgICAgaWYgYXJnLnVwY2FzZSA9PSAiUFJFQ0lTRVRJ
TUUiCisgICAgICAgICR0aW1lTW9kZSA9IDpwcmVjaXNlVGltZQorICAgICAgZWxzaWYgYXJnLnVw
Y2FzZSA9PSAiREFURSIKKyAgICAgICAgJHRpbWVNb2RlID0gOmRhdGUKKyAgICAgIGVsc2lmIGFy
Zy51cGNhc2UgPT0gIkFVVE8iCisgICAgICAgICR0aW1lTW9kZSA9IDphdXRvCisgICAgICBlbHNl
CisgICAgICAgIHF1aWNrRmFpbCgiRXhwZWN0ZWQgZWl0aGVyICdwcmVjaXNlVGltZScsICdkYXRl
Jywgb3IgJ2F1dG8nIGZvciAtLXRpbWUtbW9kZSwgYnV0IGdvdCAnI3thcmd9Jy4iLAorICAgICAg
ICAgICAgICAgICAgIkludmFsaWQgYXJndW1lbnQgZm9yIGNvbW1hbmQtbGluZSBvcHRpb24iKQor
ICAgICAgZW5kCisgICAgd2hlbiAnLS1zdW5zcGlkZXItb25seScKKyAgICAgICRpbmNsdWRlVjgg
PSBmYWxzZQorICAgICAgJGluY2x1ZGVLcmFrZW4gPSBmYWxzZQorICAgIHdoZW4gJy0tdjgtb25s
eScKKyAgICAgICRpbmNsdWRlU3VuU3BpZGVyID0gZmFsc2UKKyAgICAgICRpbmNsdWRlS3Jha2Vu
ID0gZmFsc2UKKyAgICB3aGVuICctLWtyYWtlbi1vbmx5JworICAgICAgJGluY2x1ZGVTdW5TcGlk
ZXIgPSBmYWxzZQorICAgICAgJGluY2x1ZGVWOCA9IGZhbHNlCisgICAgd2hlbiAnLS1leGNsdWRl
LXN1bnNwaWRlcicKKyAgICAgICRpbmNsdWRlU3VuU3BpZGVyID0gZmFsc2UKKyAgICB3aGVuICct
LWV4Y2x1ZGUtdjgnCisgICAgICAkaW5jbHVkZVY4ID0gZmFsc2UKKyAgICB3aGVuICctLWV4Y2x1
ZGUta3Jha2VuJworICAgICAgJGluY2x1ZGVLcmFrZW4gPSBmYWxzZQorICAgIHdoZW4gJy0tYmVu
Y2htYXJrcycKKyAgICAgICRiZW5jaG1hcmtQYXR0ZXJuID0gUmVnZXhwLm5ldyhhcmcpCisgICAg
d2hlbiAnLS1sb2FkLW9uY2UnCisgICAgICAkaW5uZXJNb2RlID0gOmxvYWRPbmNlCisgICAgd2hl
biAnLS1rZWVwLWZpbGVzJworICAgICAgJGtlZXBGaWxlcyA9IHRydWUKKyAgICB3aGVuICctLXZl
cmJvc2UnCisgICAgICAkdmVyYm9zaXR5ICs9IDEKKyAgICB3aGVuICctLWhlbHAnCisgICAgICB1
c2FnZQorICAgIGVsc2UKKyAgICAgIHJhaXNlICJiYWQgb3B0aW9uOiAje29wdH0iCisgICAgZW5k
CisgIH0KKyAgCisgIGlmIEFSR1YuZW1wdHk/CisgICAgcXVpY2tGYWlsKCJQbGVhc2Ugc3BlY2lm
eSBhdCBsZWFzdCBvbiBjb25maWd1cmFpdG9uIG9uIHRoZSBjb21tYW5kIGxpbmUuIiwKKyAgICAg
ICAgICAgICAgIkluc3VmZmljaWVudCBhcmd1bWVudHMiKQorICBlbmQKKyAgCisgIFNVTlNQSURF
UiA9IEJlbmNobWFya1N1aXRlLm5ldygiU3VuU3BpZGVyIiwgU1VOU1BJREVSX1BBVEgpCisgIFsi
M2QtY3ViZSIsICIzZC1tb3JwaCIsICIzZC1yYXl0cmFjZSIsICJhY2Nlc3MtYmluYXJ5LXRyZWVz
IiwKKyAgICJhY2Nlc3MtZmFubmt1Y2giLCAiYWNjZXNzLW5ib2R5IiwgImFjY2Vzcy1uc2lldmUi
LAorICAgImJpdG9wcy0zYml0LWJpdHMtaW4tYnl0ZSIsICJiaXRvcHMtYml0cy1pbi1ieXRlIiwg
ImJpdG9wcy1iaXR3aXNlLWFuZCIsCisgICAiYml0b3BzLW5zaWV2ZS1iaXRzIiwgImNvbnRyb2xm
bG93LXJlY3Vyc2l2ZSIsICJjcnlwdG8tYWVzIiwKKyAgICJjcnlwdG8tbWQ1IiwgImNyeXB0by1z
aGExIiwgImRhdGUtZm9ybWF0LXRvZnRlIiwgImRhdGUtZm9ybWF0LXhwYXJiIiwKKyAgICJtYXRo
LWNvcmRpYyIsICJtYXRoLXBhcnRpYWwtc3VtcyIsICJtYXRoLXNwZWN0cmFsLW5vcm0iLCAicmVn
ZXhwLWRuYSIsCisgICAic3RyaW5nLWJhc2U2NCIsICJzdHJpbmctZmFzdGEiLCAic3RyaW5nLXRh
Z2Nsb3VkIiwKKyAgICJzdHJpbmctdW5wYWNrLWNvZGUiLCAic3RyaW5nLXZhbGlkYXRlLWlucHV0
Il0uZWFjaCB7CisgICAgfCBuYW1lIHwKKyAgICBTVU5TUElERVIuYWRkIFN1blNwaWRlckJlbmNo
bWFyay5uZXcobmFtZSkKKyAgfQorCisgIFY4ID0gQmVuY2htYXJrU3VpdGUubmV3KCJWOCIsIFY4
X1BBVEgpCisgIFsiY3J5cHRvIiwgImRlbHRhYmx1ZSIsICJlYXJsZXktYm95ZXIiLCAicmF5dHJh
Y2UiLAorICAgInJlZ2V4cCIsICJyaWNoYXJkcyIsICJzcGxheSJdLmVhY2ggeworICAgIHwgbmFt
ZSB8CisgICAgVjguYWRkIFY4QmVuY2htYXJrLm5ldyhuYW1lKQorICB9CisKKyAgS1JBS0VOID0g
QmVuY2htYXJrU3VpdGUubmV3KCJLcmFrZW4iLCBLUkFLRU5fUEFUSCkKKyAgWyJhaS1hc3RhciIs
ICJhdWRpby1iZWF0LWRldGVjdGlvbiIsICJhdWRpby1kZnQiLCAiYXVkaW8tZmZ0IiwKKyAgICJh
dWRpby1vc2NpbGxhdG9yIiwgImltYWdpbmctZGFya3Jvb20iLCAiaW1hZ2luZy1kZXNhdHVyYXRl
IiwKKyAgICJpbWFnaW5nLWdhdXNzaWFuLWJsdXIiLCAianNvbi1wYXJzZS1maW5hbmNpYWwiLAor
ICAgImpzb24tc3RyaW5naWZ5LXRpbmRlcmJveCIsICJzdGFuZm9yZC1jcnlwdG8tYWVzIiwKKyAg
ICJzdGFuZm9yZC1jcnlwdG8tY2NtIiwgInN0YW5mb3JkLWNyeXB0by1wYmtkZjIiLAorICAgInN0
YW5mb3JkLWNyeXB0by1zaGEyNTYtaXRlcmF0aXZlIl0uZWFjaCB7CisgICAgfCBuYW1lIHwKKyAg
ICBLUkFLRU4uYWRkIEtyYWtlbkJlbmNobWFyay5uZXcobmFtZSkKKyAgfQorCisgICR2bXMgPSBb
XQorICAKKyAgQVJHVi5lYWNoIHsKKyAgICB8IHZtIHwKKyAgICBpZiB2bSA9fiAvKFthLXpBLVow
LTlfIF0rKTovCisgICAgICBuYW1lID0gJDEKKyAgICAgIG5hbWVLaW5kID0gOmdpdmVuCisgICAg
ICB2bSA9ICR+LnBvc3RfbWF0Y2gKKyAgICBlbHNlCisgICAgICBuYW1lID0gIkNvbmZcIyN7JHZt
cy5sZW5ndGgrMX0iCisgICAgICBuYW1lS2luZCA9IDphdXRvCisgICAgZW5kCisgICAgJHN0ZGVy
ci5wdXRzICIje25hbWV9OiAje3ZtfSIgaWYgJHZlcmJvc2l0eSA+PSAxCisgICAgJHZtcyA8PCBW
TS5uZXcodm0sIG5hbWUsIG5hbWVLaW5kKQorICB9CisgIAorICBpZiAkdGltZU1vZGUgPT0gOmF1
dG8KKyAgICBoYXZlUHJlY2lzZVRpbWUgPSB0cnVlCisgICAgJHZtcy5lYWNoIHsKKyAgICAgIHwg
dm0gfAorICAgICAgaWYgdm0udm1UeXBlID09IDpkdW1wUmVuZGVyVHJlZQorICAgICAgICAkc3Rk
ZXJyLnB1dHMgIldhcm5pbmc6ICN7dm19IGRvZXMgbm90IGhhdmUgcHJlY2lzZVRpbWUoKSBiZWNh
dXNlIGl0IGlzIER1bXBSZW5kZXJUcmVlOyB1c2luZyBEYXRlLm5vdyBpbnN0ZWFkLiIKKyAgICAg
ICAgaGF2ZVByZWNpc2VUaW1lID0gZmFsc2UKKyAgICAgIGVsc2UKKyAgICAgICAgVGVtcGZpbGUu
b3BlbigiYmVuY2hlci10aW1ldGVzdCIpIHsKKyAgICAgICAgICB8IGZpbGUgfAorICAgICAgICAg
IGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCIje3ZtLnByaW50RnVuY3Rpb259KFwiVGltZTogXCIr
cHJlY2lzZVRpbWUoKSk7IikKKyAgICAgICAgICBmaWxlLmZsdXNoCisgICAgICAgICAgcmVzdWx0
ID0gbmlsCisgICAgICAgICAgdm0ucnVuKGZpbGUucGF0aCkgeworICAgICAgICAgICAgfCBpbnAg
fAorICAgICAgICAgICAgcmVzdWx0ID0gaW5wLnJlYWQKKyAgICAgICAgICB9CisgICAgICAgICAg
dGhpc1ZNSGFzUHJlY2lzZVRpbWUgPSBmYWxzZQorICAgICAgICAgIGlmIHJlc3VsdCA9fiAvVGlt
ZTogLworICAgICAgICAgICAgc2VjcyA9ICR+LnBvc3RfbWF0Y2gudG9faQorICAgICAgICAgICAg
aWYgKHNlY3MgLSBUaW1lLm5vdy50b19pKS5hYnMgPCA1CisgICAgICAgICAgICAgIHRoaXNWTUhh
c1ByZWNpc2VUaW1lID0gdHJ1ZQorICAgICAgICAgICAgZW5kCisgICAgICAgICAgZW5kCisgICAg
ICAgICAgdW5sZXNzIHRoaXNWTUhhc1ByZWNpc2VUaW1lCisgICAgICAgICAgICAkc3RkZXJyLnB1
dHMgIldhcm5pbmc6ICN7dm19IGRvZXMgbm90IGhhdmUgcHJlY2lzZVRpbWUoKTsgdXNpbmcgRGF0
ZS5ub3cgaW5zdGVhZC4iCisgICAgICAgICAgICBoYXZlUHJlY2lzZVRpbWUgPSBmYWxzZQorICAg
ICAgICAgIGVuZAorICAgICAgICAgIGZpbGUudW5saW5rIHVubGVzcyAka2VlcEZpbGVzCisgICAg
ICAgIH0KKyAgICAgIGVuZAorICAgIH0KKyAgICAKKyAgICBpZiBoYXZlUHJlY2lzZVRpbWUKKyAg
ICAgICR0aW1lTW9kZSA9IDpwcmVjaXNlVGltZQorICAgIGVsc2UKKyAgICAgICR0aW1lTW9kZSA9
IDpkYXRlCisgICAgZW5kCisgIGVuZAorICAKKyAgaWYgJG91dGVyKiRpbm5lciA9PSAxCisgICAg
JHN0ZGVyci5wdXRzICJXYXJuaW5nOiB3aWxsIG9ubHkgY29sbGVjdCBvbmUgc2FtcGxlIHBlciBi
ZW5jaG1hcmsvVk0uICBDb25maWRlbmNlIGludGVydmFsIGNhbGN1bGF0aW9uIHdpbGwgZmFpbC4i
CisgIGVuZAorICAKKyAgJHN0ZGVyci5wdXRzICJVc2luZyB0aW1lTW9kZSA9ICN7JHRpbWVNb2Rl
fS4iIGlmICR2ZXJib3NpdHkgPj0gMQorICAKKyAgJHN1aXRlcyA9IFtdCisgIAorICBpZiAkaW5j
bHVkZVN1blNwaWRlciBhbmQgbm90IFNVTlNQSURFUi5lbXB0eT8KKyAgICAkc3VpdGVzIDw8IFNV
TlNQSURFUgorICBlbmQKKyAgCisgIGlmICRpbmNsdWRlVjggYW5kIG5vdCBWOC5lbXB0eT8KKyAg
ICAkc3VpdGVzIDw8IFY4CisgIGVuZAorICAKKyAgaWYgJGluY2x1ZGVLcmFrZW4gYW5kIG5vdCBL
UkFLRU4uZW1wdHk/CisgICAgJHN1aXRlcyA8PCBLUkFLRU4KKyAgZW5kCisgIAorICAkYmVuY2ht
YXJrcyA9IFtdCisgICRzdWl0ZXMuZWFjaCB7CisgICAgfCBzdWl0ZSB8CisgICAgJGJlbmNobWFy
a3MgKz0gc3VpdGUuYmVuY2htYXJrcworICB9CisgIAorICAkc3VpdGVzT25WTXMgPSBbXQorICAk
c3VpdGVzT25WTXNGb3JTdWl0ZSA9IHt9CisgICRzdWl0ZXMuZWFjaCB7CisgICAgfCBzdWl0ZSB8
CisgICAgJHN1aXRlc09uVk1zRm9yU3VpdGVbc3VpdGVdID0gW10KKyAgfQorICAKKyAgJGJlbmNo
bWFya3NPblZNcyA9IFtdCisgICRiZW5jaG1hcmtzT25WTXNGb3JCZW5jaG1hcmsgPSB7fQorICAk
YmVuY2htYXJrcy5lYWNoIHsKKyAgICB8IGJlbmNobWFyayB8CisgICAgJGJlbmNobWFya3NPblZN
c0ZvckJlbmNobWFya1tiZW5jaG1hcmtdID0gW10KKyAgfQorICAKKyAgJHZtcy5lYWNoIHsKKyAg
ICB8IHZtIHwKKyAgICAkc3VpdGVzLmVhY2ggeworICAgICAgfCBzdWl0ZSB8CisgICAgICBzdWl0
ZU9uVk0gPSBTdWl0ZU9uVk0ubmV3KHZtLCBzdWl0ZSkKKyAgICAgICRzdWl0ZXNPblZNcyA8PCBz
dWl0ZU9uVk0KKyAgICAgICRzdWl0ZXNPblZNc0ZvclN1aXRlW3N1aXRlXSA8PCBzdWl0ZU9uVk0K
KyAgICAgIHN1aXRlLmJlbmNobWFya3MuZWFjaCB7CisgICAgICAgIHwgYmVuY2htYXJrIHwKKyAg
ICAgICAgYmVuY2htYXJrT25WTSA9IEJlbmNobWFya09uVk0ubmV3KHZtLCBiZW5jaG1hcmssIHN1
aXRlT25WTSkKKyAgICAgICAgJGJlbmNobWFya3NPblZNcyA8PCBiZW5jaG1hcmtPblZNCisgICAg
ICAgICRiZW5jaG1hcmtzT25WTXNGb3JCZW5jaG1hcmtbYmVuY2htYXJrXSA8PCBiZW5jaG1hcmtP
blZNCisgICAgICB9CisgICAgfQorICB9CisKKyAgJHBsYW5zID0gW10KKyAgJGJlbmNobWFya3NP
blZNcy5lYWNoIHsKKyAgICB8IGJlbmNobWFya09uVk0gfAorICAgICRvdXRlci50aW1lcyB7Cisg
ICAgICB8IGl0ZXJhdGlvbiB8CisgICAgICAkcGxhbnMgPDwgQmVuY2hQbGFuLm5ldyhiZW5jaG1h
cmtPblZNLCBpdGVyYXRpb24pCisgICAgfQorICB9CisgIAorICAkcGxhbnMuc2h1ZmZsZSEKKyAg
CisgICRzdWl0ZXBhZCA9ICRzdWl0ZXMuY29sbGVjdCB7CisgICAgfCBzdWl0ZSB8CisgICAgc3Vp
dGUudG9fcy5zaXplCisgIH0ubWF4ICsgMQorICAKKyAgJGJlbmNocGFkID0gKCRiZW5jaG1hcmtz
ICsKKyAgICAgICAgICAgICAgIFsiPGFyaXRobWV0aWM+IiwgIjxnZW9tZXRyaWM+IiwgIjxoYXJt
b25pYz4iXSkuY29sbGVjdCB7CisgICAgfCBiZW5jaG1hcmsgfAorICAgIGJlbmNobWFyay50b19z
LnNpemUKKyAgfS5tYXggKyAxCisKKyAgJHZtcGFkID0gJHZtcy5jb2xsZWN0IHsKKyAgICB8IHZt
IHwKKyAgICB2bS50b19zLnNpemUKKyAgfS5tYXggKyAxCisgIAorICAkcGxhbnMuZWFjaF93aXRo
X2luZGV4IHsKKyAgICB8IHBsYW4sIGlkeCB8CisgICAgaWYgJHZlcmJvc2l0eSA9PSAwCisgICAg
ICB0ZXh0MSA9IGxwYWQoaWR4LnRvX3MsJHBsYW5zLnNpemUudG9fcy5zaXplKSsiLyIrJHBsYW5z
LnNpemUudG9fcworICAgICAgdGV4dDIgPSBwbGFuLnN1aXRlLnRvX3MrIi8iK3BsYW4uYmVuY2ht
YXJrLnRvX3MrIi8iK3BsYW4udm0udG9fcworICAgICAgJHN0ZGVyci5wcmludCAiXHIje3RleHQx
fSAje3JwYWQodGV4dDIsJHN1aXRlcGFkKzErJGJlbmNocGFkKzErJHZtcGFkKX0iCisgICAgICAk
c3RkZXJyLnByaW50ICJcciN7dGV4dDF9ICN7dGV4dDJ9IgorICAgICAgJHN0ZGVyci5mbHVzaAor
ICAgIGVuZAorICAgIHBsYW4ucnVuQW5kUmVjb3JkCisgIH0KKyAgCisgIGlmICR2ZXJib3NpdHkg
PT0gMAorICAgICRzdGRlcnIucHJpbnQgIlxyI3skcGxhbnMuc2l6ZX0vI3skcGxhbnMuc2l6ZX0g
I3snICcqKCRzdWl0ZXBhZCsxKyRiZW5jaHBhZCsxKyR2bXBhZCl9IgorICAgICRzdGRlcnIucHV0
cyAiXHIjeyRwbGFucy5zaXplfS8jeyRwbGFucy5zaXplfSIKKyAgZW5kCisgIAorICBpZiAkdmVy
Ym9zaXR5ID49IDIKKyAgICAkYmVuY2htYXJrc09uVk1zLmVhY2ggeworICAgICAgfCBiZW5jaG1h
cmtPblZNIHwKKyAgICAgICRzdGRlcnIucHV0cyAiI3tiZW5jaG1hcmtPblZNfTogI3tiZW5jaG1h
cmtPblZNLnN0YXRzfSIKKyAgICB9CisgICAgCisgICAgJHZtcy5lYWNoIHsKKyAgICAgIHwgdm0g
fAorICAgICAgJHN0ZGVyci5wdXRzICIje3ZtfSAoYXJpdGhtZXRpY01lYW4pOiAje3ZtLmFyaXRo
bWV0aWNNZWFuU3RhdHN9IgorICAgICAgJHN0ZGVyci5wdXRzICIje3ZtfSAoZ2VvbWV0cmljTWVh
bik6ICN7dm0uZ2VvbWV0cmljTWVhblN0YXRzfSIKKyAgICB9CisgIGVuZAorICAKKyAgcmVwb3J0
TmFtZSA9CisgICAgKGlmICgkdm1zLmNvbGxlY3QgeworICAgICAgICAgICB8IHZtIHwKKyAgICAg
ICAgICAgdm0ubmFtZUtpbmQKKyAgICAgICAgIH0uaW5kZXggOmF1dG8pCisgICAgICAgIiIKKyAg
ICAgZWxzZQorICAgICAgICR2bXMuY29sbGVjdCB7CisgICAgICAgICB8IHZtIHwKKyAgICAgICAg
IHZtLnRvX3MKKyAgICAgICB9LmpvaW4oIl8iKSArICJfIgorICAgICBlbmQpICsKKyAgICAoJHN1
aXRlcy5jb2xsZWN0IHsKKyAgICAgICB8IHN1aXRlIHwKKyAgICAgICBzdWl0ZS50b19zCisgICAg
IH0uam9pbigiIikpICsgIl8iICsKKyAgICAoYmVnaW4KKyAgICAgICB0aW1lID0gVGltZS5ub3cK
KyAgICAgICAiJTA0ZCUwMmQlMDJkXyUwMmQlMDJkIiAlCisgICAgICAgICBbIHRpbWUueWVhciwg
dGltZS5tb250aCwgdGltZS5kYXksCisgICAgICAgICAgIHRpbWUuaG91ciwgdGltZS5taW4gXQor
ICAgICBlbmQpICsKKyAgICAiX2JlbmNoUmVwb3J0LnR4dCIKKyAgCisgICRzdGRlcnIucHV0cyAi
R2VuZXJhdGluZyBiZW5jaG1hcmsgcmVwb3J0IGF0ICN7cmVwb3J0TmFtZX0iCisgIAorICBvdXRw
ID0gJHN0ZG91dAorICBiZWdpbgorICAgIG91dHAgPSBGaWxlLm9wZW4ocmVwb3J0TmFtZSwidyIp
CisgIHJlc2N1ZSA9PiBlCisgICAgJHN0ZGVyci5wdXRzICJFcnJvcjogY291bGQgbm90IHNhdmUg
cmVwb3J0IHRvICN7cmVwb3J0TmFtZX06ICN7ZX0iCisgICAgJHN0ZGVyci5wdXRzCisgIGVuZAor
ICAKKyAgZGVmIGNyZWF0ZVZNc1N0cmluZworICAgIHJlc3VsdCA9ICIiCisgICAgcmVzdWx0ICs9
ICIgICAiIGlmICRzdWl0ZXMuc2l6ZSA+IDEKKyAgICByZXN1bHQgKz0gcnBhZCgiIiwgJGJlbmNo
cGFkKQorICAgIHJlc3VsdCArPSAiICIKKyAgICAkdm1zLnNpemUudGltZXMgeworICAgICAgfCBp
bmRleCB8CisgICAgICBpZiBpbmRleCAhPSAwCisgICAgICAgIHJlc3VsdCArPSAiICIrTm9DaGFu
Z2UubmV3KDApLnNob3J0Rm9ybQorICAgICAgZW5kCisgICAgICByZXN1bHQgKz0gbHBhZChjZW50
ZXIoJHZtc1tpbmRleF0ubmFtZSwgOSs5KzIpLCAxMSs5KzIpCisgICAgfQorICAgIHJlc3VsdCAr
PSAiICAgICIKKyAgICBpZiAkdm1zLnNpemUgPj0gMworICAgICAgcmVzdWx0ICs9IGNlbnRlcigi
I3skdm1zWy0xXS5uYW1lfSB2LiAjeyR2bXNbMF0ubmFtZX0iLDI2KQorICAgIGVsc2UKKyAgICAg
IHJlc3VsdCArPSAiICIqMjYKKyAgICBlbmQKKyAgICByZXN1bHQKKyAgZW5kCisgIAorICAkY29s
dW1ucyA9IGNyZWF0ZVZNc1N0cmluZy5zaXplCisgIAorICBkZWYgcGx1cmFsKG51bSkKKyAgICBp
ZiBudW0gPT0gMQorICAgICAgIiIKKyAgICBlbHNlCisgICAgICAicyIKKyAgICBlbmQKKyAgZW5k
CisgIAorICBkZWYgd3JhcChzdHIpCisgICAgYXJyYXkgPSBzdHIuc3BsaXQKKyAgICByZXN1bHQg
PSAiIgorICAgIGN1ckxpbmUgPSBhcnJheS5zaGlmdAorICAgIGFycmF5LmVhY2ggeworICAgICAg
fCBjdXJTdHIgfAorICAgICAgaWYgKGN1ckxpbmUgKyAiICIgKyBjdXJTdHIpLnNpemUgPiAkY29s
dW1ucworICAgICAgICByZXN1bHQgKz0gY3VyTGluZSArICJcbiIKKyAgICAgICAgY3VyTGluZSA9
IGN1clN0cgorICAgICAgZWxzZQorICAgICAgICBjdXJMaW5lICs9ICIgIiArIGN1clN0cgorICAg
ICAgZW5kCisgICAgfQorICAgIHJlc3VsdCArIGN1ckxpbmUgKyAiXG4iCisgIGVuZAorICAKKyAg
b3V0cC5wcmludCAiQmVuY2htYXJrIHJlcG9ydCBmb3IgIgorICBpZiAkc3VpdGVzLnNpemUgPT0g
MQorICAgIG91dHAucHJpbnQgJHN1aXRlc1swXS50b19zCisgIGVsc2lmICRzdWl0ZXMuc2l6ZSA9
PSAyCisgICAgb3V0cC5wcmludCAiI3skc3VpdGVzWzBdfSBhbmQgI3skc3VpdGVzWzFdfSIKKyAg
ZWxzZQorICAgIG91dHAucHJpbnQgIiN7JHN1aXRlc1swLi4tMl0uam9pbignLCAnKX0sIGFuZCAj
eyRzdWl0ZXNbLTFdfSIKKyAgZW5kCisgIG91dHAucHV0cyAiLiIKKyAgb3V0cC5wdXRzCisgIAor
ICAjIFRoaXMgbG9va3Mgc3R1cGlkOyByZXZpc2l0IGxhdGVyLgorICBpZiBmYWxzZQorICAgICRz
dWl0ZXMuZWFjaCB7CisgICAgICB8IHN1aXRlIHwKKyAgICAgIG91dHAucHV0cyAiI3tzdWl0ZX0g
YXQgI3tzdWl0ZS5wYXRofSIKKyAgICB9CisgICAgCisgICAgb3V0cC5wdXRzCisgIGVuZAorICAK
KyAgb3V0cC5wdXRzICJWTXMgdGVzdGVkOiIKKyAgJHZtcy5lYWNoIHsKKyAgICB8IHZtIHwKKyAg
ICBvdXRwLnB1dHMgIlwiI3t2bS5uYW1lfVwiIGF0ICN7UGF0aG5hbWUubmV3KHZtLnBhdGgpLnJl
YWxwYXRofSIKKyAgfQorICAKKyAgb3V0cC5wdXRzCisgIAorICBvdXRwLnB1dHMgd3JhcCgiQ29s
bGVjdGVkICN7JG91dGVyKiRpbm5lcn0gc2FtcGxlI3twbHVyYWwoJG91dGVyKiRpbm5lcil9IHBl
ciBiZW5jaG1hcmsvVk0sICIrCisgICAgICAgICAgICAgICAgICJ3aXRoICN7JG91dGVyfSBWTSBp
bnZvY2F0aW9uI3twbHVyYWwoJG91dGVyKX0gcGVyIGJlbmNobWFyay4iKworICAgICAgICAgICAg
ICAgICAoaWYgJHdhcm11cCA9PSAwIHRoZW4gKCIgRGlkIG5vdCBpbmNsdWRlIGFueSB3YXJtLXVw
IGl0ZXJhdGlvbnM7IG1lYXN1cmVtZW50cyAiKworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJiZWdhbiB3aXRoIHRoZSB2ZXJ5IGZpcnN0IGl0ZXJhdGlvbi4iKQorICAg
ICAgICAgICAgICAgICAgZWxzZSAoIiBVc2VkICN7JHdhcm11cH0gYmVuY2htYXJrIGl0ZXJhdGlv
biN7cGx1cmFsKCR3YXJtdXApfSBwZXIgVk0gIisKKyAgICAgICAgICAgICAgICAgICAgICAgICJp
bnZvY2F0aW9uIGZvciB3YXJtLXVwLiIpIGVuZCkrCisgICAgICAgICAgICAgICAgIChjYXNlICR0
aW1lTW9kZQorICAgICAgICAgICAgICAgICAgd2hlbiA6cHJlY2lzZVRpbWUgdGhlbiAoIiBVc2Vk
IHRoZSBqc2Mtc3BlY2lmaWMgcHJlY2lzZVRpbWUoKSBmdW5jdGlvbiB0byBnZXQgIisKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtaWNyb3NlY29uZC1sZXZlbCB0
aW1pbmcuIikKKyAgICAgICAgICAgICAgICAgIHdoZW4gOmRhdGUgdGhlbiAoIiBVc2VkIHRoZSBw
b3J0YWJsZSBEYXRlLm5vdygpIG1ldGhvZCB0byBnZXQgbWlsbGlzZWNvbmQtIisKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImxldmVsIHRpbWluZy4iKQorICAgICAgICAgICAg
ICAgICAgZWxzZSByYWlzZSBlbmQpKworICAgICAgICAgICAgICAgICAoY2FzZSAkaW5uZXJNb2Rl
CisgICAgICAgICAgICAgICAgICB3aGVuIDpyZWxvYWQgdGhlbiAiIiAjIG5vdGhpbmcgaW50ZXJl
c3RpbmcgdG8gc2F5CisgICAgICAgICAgICAgICAgICB3aGVuIDpsb2FkT25jZSB0aGVuICgiIFJh
biBiZW5jaG1hcmtzIHVzaW5nIGFuIGV4cGVyaW1lbnRhbCBtb2RlIHRoYXQgIisKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbnN1cmVzIHRoYXQgdGhlIGJlbmNobWFy
ayBjb2RlIGlzIGxvYWRlZCBvbmx5IG9uY2UgIisKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJkdXJpbmcgZWFjaCBWTSBpbnZvY2F0aW9uLCB3aGljaCBlbmFibGVzIG1v
cmUgVk0gIisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3YXJtLXVw
LiIpCisgICAgICAgICAgICAgICAgICBlbHNlIHJhaXNlIGVuZCkrCisgICAgICAgICAgICAgICAg
ICIgUmVwb3J0aW5nIGJlbmNobWFyayBleGVjdXRpb24gdGltZXMgd2l0aCA5NSUgY29uZmlkZW5j
ZSAiKworICAgICAgICAgICAgICAgICAiaW50ZXJ2YWxzIGluIG1pbGxpc2Vjb25kcy4iKQorICAK
KyAgb3V0cC5wdXRzCisgIAorICBkZWYgcHJpbnRWTXMob3V0cCkKKyAgICBvdXRwLnB1dHMgY3Jl
YXRlVk1zU3RyaW5nCisgIGVuZAorICAKKyAgZGVmIHN1bW1hcnlTdGF0cyhvdXRwLCBhY2N1bXVs
YXRvcnMsIG5hbWUsICZwcm9jKQorICAgIG91dHAucHJpbnQgIiAgICIgaWYgJHN1aXRlcy5zaXpl
ID4gMQorICAgIG91dHAucHJpbnQgcnBhZChuYW1lLCAkYmVuY2hwYWQpCisgICAgb3V0cC5wcmlu
dCAiICIKKyAgICBhY2N1bXVsYXRvcnMuc2l6ZS50aW1lcyB7CisgICAgICB8IGluZGV4IHwKKyAg
ICAgIGlmIGluZGV4ICE9IDAKKyAgICAgICAgb3V0cC5wcmludCAiICIrYWNjdW11bGF0b3JzW2lu
ZGV4XS5zdGF0cygmcHJvYykuY29tcGFyZVRvKGFjY3VtdWxhdG9yc1tpbmRleC0xXS5zdGF0cygm
cHJvYykpLnNob3J0Rm9ybQorICAgICAgZW5kCisgICAgICBvdXRwLnByaW50IHN0YXRzVG9TdHIo
YWNjdW11bGF0b3JzW2luZGV4XS5zdGF0cygmcHJvYykpCisgICAgfQorICAgIGlmIGFjY3VtdWxh
dG9ycy5zaXplPj0yCisgICAgICBvdXRwLnByaW50KCIgICAgIithY2N1bXVsYXRvcnNbLTFdLnN0
YXRzKCZwcm9jKS5jb21wYXJlVG8oYWNjdW11bGF0b3JzWzBdLnN0YXRzKCZwcm9jKSkudG9fcykK
KyAgICBlbmQKKyAgICBvdXRwLnB1dHMKKyAgZW5kCisgIAorICBkZWYgYWxsU3VtbWFyeVN0YXRz
KG91dHAsIGFjY3VtdWxhdG9ycykKKyAgICBzdW1tYXJ5U3RhdHMob3V0cCwgYWNjdW11bGF0b3Jz
LCAiPGFyaXRobWV0aWM+IikgeworICAgICAgfCBzdGF0IHwKKyAgICAgIHN0YXQuYXJpdGhtZXRp
Y01lYW4KKyAgICB9CisgICAgCisgICAgc3VtbWFyeVN0YXRzKG91dHAsIGFjY3VtdWxhdG9ycywg
IjxnZW9tZXRyaWM+IikgeworICAgICAgfCBzdGF0IHwKKyAgICAgIHN0YXQuZ2VvbWV0cmljTWVh
bgorICAgIH0KKyAgICAKKyAgICBzdW1tYXJ5U3RhdHMob3V0cCwgYWNjdW11bGF0b3JzLCAiPGhh
cm1vbmljPiIpIHsKKyAgICAgIHwgc3RhdCB8CisgICAgICBzdGF0Lmhhcm1vbmljTWVhbgorICAg
IH0KKyAgZW5kCisgIAorICAkc3VpdGVzLmVhY2ggeworICAgIHwgc3VpdGUgfAorICAgIHByaW50
Vk1zKG91dHApCisgICAgaWYgJHN1aXRlcy5zaXplID4gMQorICAgICAgb3V0cC5wdXRzICIje3N1
aXRlLm5hbWV9OiIKKyAgICBlbHNlCisgICAgICBvdXRwLnB1dHMKKyAgICBlbmQKKyAgICBzdWl0
ZS5iZW5jaG1hcmtzLmVhY2ggeworICAgICAgfCBiZW5jaG1hcmsgfAorICAgICAgb3V0cC5wcmlu
dCAiICAgIiBpZiAkc3VpdGVzLnNpemUgPiAxCisgICAgICBvdXRwLnByaW50IHJwYWQoYmVuY2ht
YXJrLnRvX3MsICRiZW5jaHBhZCkKKyAgICAgIG91dHAucHJpbnQgIiAiCisgICAgICBteUNvbmZp
Z3MgPSAkYmVuY2htYXJrc09uVk1zRm9yQmVuY2htYXJrW2JlbmNobWFya10KKyAgICAgIG15Q29u
Zmlncy5zaXplLnRpbWVzIHsKKyAgICAgICAgfCBpbmRleCB8CisgICAgICAgIGlmIGluZGV4ICE9
IDAKKyAgICAgICAgICBvdXRwLnByaW50ICIgIitteUNvbmZpZ3NbaW5kZXhdLnN0YXRzLmNvbXBh
cmVUbyhteUNvbmZpZ3NbaW5kZXgtMV0uc3RhdHMpLnNob3J0Rm9ybQorICAgICAgICBlbmQKKyAg
ICAgICAgb3V0cC5wcmludCBzdGF0c1RvU3RyKG15Q29uZmlnc1tpbmRleF0uc3RhdHMpCisgICAg
ICB9CisgICAgICBpZiAkdm1zLnNpemU+PTIKKyAgICAgICAgb3V0cC5wcmludCgiICAgICIrbXlD
b25maWdzWy0xXS5zdGF0cy5jb21wYXJlVG8obXlDb25maWdzWzBdLnN0YXRzKS50b19zKQorICAg
ICAgZW5kCisgICAgICBvdXRwLnB1dHMKKyAgICB9CisgICAgb3V0cC5wdXRzCisgICAgYWxsU3Vt
bWFyeVN0YXRzKG91dHAsICRzdWl0ZXNPblZNc0ZvclN1aXRlW3N1aXRlXSkKKyAgICBvdXRwLnB1
dHMgaWYgJHN1aXRlcy5zaXplID4gMQorICB9CisgIAorICBpZiAkc3VpdGVzLnNpemUgPiAxCisg
ICAgcHJpbnRWTXMob3V0cCkKKyAgICBvdXRwLnB1dHMgIkFsbCBiZW5jaG1hcmtzOiIKKyAgICBh
bGxTdW1tYXJ5U3RhdHMob3V0cCwgJHZtcykKKyAgZW5kCisgIAorICBpZiBvdXRwICE9ICRzdGRv
dXQKKyAgICBvdXRwLmNsb3NlCisgICAgcHV0cworICAgIEZpbGUub3BlbihyZXBvcnROYW1lKSB7
CisgICAgICB8IGlucCB8CisgICAgICBwdXRzIGlucC5yZWFkCisgICAgfQorICBlbmQKKyAgCity
ZXNjdWUgPT4gZQorICBmYWlsKGUpCitlbmQKKyAgCisgIAoKUHJvcGVydHkgY2hhbmdlcyBvbjog
VG9vbHMvU2NyaXB0cy9iZW5jaGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiAg
ICsgKgoK
</data>
<flag name="review"
          id="101771"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105670</attachid>
            <date>2011-08-30 12:45:25 -0700</date>
            <delta_ts>2011-08-30 13:25:58 -0700</delta_ts>
            <desc>the patch (fix review)</desc>
            <filename>bencher_patch_1.diff</filename>
            <type>text/plain</type>
            <size>52386</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDk0MDQxKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMjUgQEAKKzIwMTEtMDgtMjkgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBKYXZhU2NyaXB0Q29yZSBkb2VzIG5vdCBoYXZlIGEgZ29vZCBtZWNoYW5pc20gZm9y
IHBlcmZvcm1hbmNlCisgICAgICAgIHJlZ3Jlc3Npb24gdGVzdGluZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxNzcKKworICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KKyAgICAgICAgCisgICAgICAgIEFkZGVkIGEgbmV3IHNjcmlwdCwg
d2hpY2ggYWxsb3dzIGZvciB0ZXN0aW5nIG9uZSwgdHdvLCBvciBtb3JlIFZNcworICAgICAgICBh
dCBvbmNlIG9uIFN1blNwaWRlciwgVjgsIGFuZCBLcmFrZW4gYmVuY2htYXJrcy4gIEJlbmNobWFy
ay9WTSBydW5zCisgICAgICAgIGFyZSBpbnRlcmxlYXZlZCBhdCByYW5kb20gdG8gbWluaW1pemUg
c3lzdGVtYXRpY3MuICBUaGUgcmVzdWx0cworICAgICAgICB0aGF0IGJlbmNoZXIgcHJpbnRzIGlu
Y2x1ZGVzIGFsbCBwb3NzaWJsZSByZWxldmFudCBpbmZvcm1hdGlvbiBhYm91dAorICAgICAgICBo
b3cgYmVuY2hlciB3YXMgaW52b2tlZC4gIEJlbmNoZXIgY2FuIGJlIGVhc2lseSB1c2VkIHRvIG1l
YXN1cmUKKyAgICAgICAgcGVyZm9ybWFuY2UgY2hhbmdlcyBkb3duIHRvIGZyYWN0aW9ucyBvZiBh
IHBlcmNlbnQuCisgICAgICAgIAorICAgICAgICBCZW5jaGVyIGFsc28gaW5jbHVkZXMgZXhwZXJp
bWVudGFsIHN1cHBvcnQgZm9yIHJ1bm5pbmcgYmVuY2htYXJrcyBpbgorICAgICAgICBhIER1bXBS
ZW5kZXJUcmVlIHJlbGVhc2UgYnVpbGQuICBUaGlzIHdvcmtzIGluIFN1blNwaWRlciBhbmQgVjgs
IGJ1dAorICAgICAgICBub3QgeWV0IGluIEtyYWtlbi4gIFJ1bm5pbmcgYmVuY2htYXJrcyBpbiBE
dW1wUmVuZGVyVHJlZSBtb3JlCisgICAgICAgIGNsb3NlbHkgbWltaWNzIHRoZSBwZXJmb3JtYW5j
ZSB3aGVuIHJ1bm5pbmcgaW4gYnJvd3Nlci4KKworICAgICAgICAqIFNjcmlwdHMvYmVuY2hlcjog
QWRkZWQuCisKIDIwMTEtMDgtMjkgIFRvbSBaYWtyYWpzZWsgIDx0b216QGNvZGVhdXJvcmEub3Jn
PgogCiAgICAgICAgIHNoZXJpZmZib3QgInVzYWdlIiBoZWxwIHN0YXRlbWVudHMgYXJlIHdyb25n
CkluZGV4OiBUb29scy9TY3JpcHRzL2JlbmNoZXIKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0
cy9iZW5jaGVyCShyZXZpc2lvbiAwKQorKysgVG9vbHMvU2NyaXB0cy9iZW5jaGVyCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDE1OTEgQEAKKyMhL3Vzci9iaW4vZW52IHJ1YnkKKworIyBDb3B5cmln
aHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisjIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorIyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisjIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworIyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisjIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisjIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworIyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorIyBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorIyBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisjIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworcmVxdWlyZSAncnVieWdlbXMnCisKK3JlcXVp
cmUgJ2dldG9wdGxvbmcnCityZXF1aXJlICdwYXRobmFtZScKK3JlcXVpcmUgJ3RlbXBmaWxlJwor
CitiZWdpbgorICByZXF1aXJlICdqc29uJworcmVzY3VlIExvYWRFcnJvciA9PiBlCisgICRzdGRl
cnIucHV0cyAiSXQgZG9lcyBub3QgYXBwZWFyIHRoYXQgeW91IGhhdmUgdGhlICdqc29uJyBwYWNr
YWdlIGluc3RhbGxlZC4gIFRyeSBydW5uaW5nICdzdWRvIGdlbSBpbnN0YWxsIGpzb24nLiIKKyAg
ZXhpdCAxCitlbmQKKworIyBDb25maWd1cmF0aW9uCisKK0NPTkZJR1VSQVRJT05fRkxOTSA9IEVO
VlsiSE9NRSJdKyIvLmJlbmNoZXIiCisKK3VubGVzcyBGaWxlVGVzdC5leGlzdD8gQ09ORklHVVJB
VElPTl9GTE5NCisgICRzdGRlcnIucHV0cyAiRXJyb3I6IG5vIGNvbmZpZ3VyYXRpb24gZmlsZSBh
dCB+Ly5iZW5jaGVyLiIKKyAgJHN0ZGVyci5wdXRzICJUaGlzIGZpbGUgc2hvdWxkIGNvbnRhaW4g
cGF0aHMgdG8gU3VuU3BpZGVyLCBWOCwgYW5kIEtyYWtlbiwgaW4gSlNPTiIKKyAgJHN0ZGVyci5w
dXRzICJmb3JtYXQuICBGb3IgZXhhbXBsZToiCisgICRzdGRlcnIucHV0cyAieyBcInN1blNwaWRl
clBhdGhcIjogXCIvVm9sdW1lcy9EYXRhL3BpemxvL09wZW5Tb3VyY2UvUGVyZm9ybWFuY2VUZXN0
cy9TdW5TcGlkZXIvdGVzdHMvc3Vuc3BpZGVyLTEuMFwiLCBcInY4UGF0aFwiOiBcIi9Wb2x1bWVz
L0RhdGEvcGl6bG8vT3BlblNvdXJjZS9QZXJmb3JtYW5jZVRlc3RzL1N1blNwaWRlci90ZXN0cy92
OC12NlwiLCBcImtyYWtlblBhdGhcIjogXCIvVm9sdW1lcy9EYXRhL3BpemxvL2tyYWtlbi9rcmFr
ZW4tZTExOTQyMWNiMzI1L3Rlc3RzL2tyYWtlbi0xLjFcIiB9IgorICBleGl0IDEKK2VuZAorCitD
T05GSUdVUkFUSU9OID0gSlNPTi5wYXJzZShGaWxlOjpyZWFkKENPTkZJR1VSQVRJT05fRkxOTSkp
CisKK1NVTlNQSURFUl9QQVRIID0gQ09ORklHVVJBVElPTlsic3VuU3BpZGVyUGF0aCJdCitWOF9Q
QVRIID0gQ09ORklHVVJBVElPTlsidjhQYXRoIl0KK0tSQUtFTl9QQVRIID0gQ09ORklHVVJBVElP
Tlsia3Jha2VuUGF0aCJdCisKK0lCUl9MT09LVVA9WzAuMDA2MTU1ODMsIDAuMDk3NSwgMC4yMjg1
MiwgMC4zNDE2MjgsIDAuNDMwNzQxLCAwLjUwMDUyNiwgMC41NTU5MzMsIAorICAgICAgICAgICAg
MC42MDA3MDYsIDAuNjM3NTEzLCAwLjY2ODI0NCwgMC42OTQyNTQsIDAuNzE2NTM3LCAwLjczNTgy
NywgMC43NTI2ODQsIAorICAgICAgICAgICAgMC43Njc1MzUsIDAuNzgwNzE2LCAwLjc5MjQ5Miwg
MC44MDMwNzQsIDAuODEyNjM0LCAwLjgyMTMxMywgMC44MjkyMjcsIAorICAgICAgICAgICAgMC44
MzY0NzIsIDAuODQzMTI5LCAwLjg0OTI2NywgMC44NTQ5NDMsIDAuODYwMjA5LCAwLjg2NTEwNywg
MC44Njk2NzQsIAorICAgICAgICAgICAgMC44NzM5NDIsIDAuODc3OTQxLCAwLjg4MTY5MywgMC44
ODUyMjMsIDAuODg4NTQ4LCAwLjg5MTY4NiwgMC44OTQ2NTIsIAorICAgICAgICAgICAgMC44OTc0
NjEsIDAuOTAwMTI0LCAwLjkwMjY1MiwgMC45MDUwNTYsIDAuOTA3MzQzLCAwLjkwOTUyNCwgMC45
MTE2MDQsIAorICAgICAgICAgICAgMC45MTM1OSwgMC45MTU0OSwgMC45MTczMDgsIDAuOTE5MDQ5
LCAwLjkyMDcxOCwgMC45MjIzMiwgMC45MjM4NTksIDAuOTI1MzM4LCAKKyAgICAgICAgICAgIDAu
OTI2NzYxLCAwLjkyODEzLCAwLjkyOTQ0OSwgMC45MzA3MjEsIDAuOTMxOTQ4LCAwLjkzMzEzMiwg
MC45MzQyNzUsIDAuOTM1MzgsIAorICAgICAgICAgICAgMC45MzY0NDksIDAuOTM3NDgzLCAwLjkz
ODQ4MywgMC45Mzk0NTIsIDAuOTQwMzkyLCAwLjk0MTMwMiwgMC45NDIxODUsIAorICAgICAgICAg
ICAgMC45NDMwNDIsIDAuOTQzODc0LCAwLjk0NDY4MiwgMC45NDU0NjcsIDAuOTQ2MjMsIDAuOTQ2
OTcyLCAwLjk0NzY5NCwgCisgICAgICAgICAgICAwLjk0ODM5NiwgMC45NDkwOCwgMC45NDk3NDYs
IDAuOTUwMzk1LCAwLjk1MTAyNywgMC45NTE2NDMsIDAuOTUyMjQ0LCAKKyAgICAgICAgICAgIDAu
OTUyODMxLCAwLjk1MzQwMywgMC45NTM5NjEsIDAuOTU0NTA2LCAwLjk1NTAzOSwgMC45NTU1NTks
IDAuOTU2MDY3LCAKKyAgICAgICAgICAgIDAuOTU2NTYzLCAwLjk1NzA0OSwgMC45NTc1MjQsIDAu
OTU3OTg4LCAwLjk1ODQ0MywgMC45NTg4ODcsIDAuOTU5MzIzLCAKKyAgICAgICAgICAgIDAuOTU5
NzQ5LCAwLjk2MDE2NiwgMC45NjA1NzUsIDAuOTYwOTc1LCAwLjk2MTM2OCwgMC45NjE3NTIsIDAu
OTYyMTI5LCAKKyAgICAgICAgICAgIDAuOTYyNDk5LCAwLjk2Mjg2MSwgMC45NjMyMTcsIDAuOTYz
NTY2LCAwLjk2MzkwOCwgMC45NjQyNDQsIDAuOTY0NTc0LCAKKyAgICAgICAgICAgIDAuOTY0ODk3
LCAwLjk2NTIxNSwgMC45NjU1MjcsIDAuOTY1ODM0LCAwLjk2NjEzNSwgMC45NjY0MzEsIDAuOTY2
NzIyLCAKKyAgICAgICAgICAgIDAuOTY3MDA3LCAwLjk2NzI4OCwgMC45Njc1NjQsIDAuOTY3ODM2
LCAwLjk2ODEwMywgMC45NjgzNjYsIDAuOTY4NjI0LCAKKyAgICAgICAgICAgIDAuOTY4ODc4LCAw
Ljk2OTEyOCwgMC45NjkzNzQsIDAuOTY5NjE3LCAwLjk2OTg1NSwgMC45NzAwOSwgMC45NzAzMjEs
IAorICAgICAgICAgICAgMC45NzA1NDgsIDAuOTcwNzcyLCAwLjk3MDk5MywgMC45NzEyMSwgMC45
NzE0MjUsIDAuOTcxNjM2LCAwLjk3MTg0MywgCisgICAgICAgICAgICAwLjk3MjA0OCwgMC45NzIy
NSwgMC45NzI0NDksIDAuOTcyNjQ1LCAwLjk3MjgzOSwgMC45NzMwMjksIDAuOTczMjE3LCAKKyAg
ICAgICAgICAgIDAuOTczNDAzLCAwLjk3MzU4NiwgMC45NzM3NjYsIDAuOTczOTQ0LCAwLjk3NDEy
LCAwLjk3NDI5MywgMC45NzQ0NjQsIAorICAgICAgICAgICAgMC45NzQ2MzIsIDAuOTc0Nzk5LCAw
Ljk3NDk2MywgMC45NzUxMjUsIDAuOTc1Mjg1LCAwLjk3NTQ0MywgMC45NzU1OTksIAorICAgICAg
ICAgICAgMC45NzU3NTMsIDAuOTc1OTA1LCAwLjk3NjA1NSwgMC45NzYyMDQsIDAuOTc2MzUsIDAu
OTc2NDk1LCAwLjk3NjYzOCwgCisgICAgICAgICAgICAwLjk3Njc3OSwgMC45NzY5MTgsIDAuOTc3
MDU2LCAwLjk3NzE5MywgMC45NzczMjcsIDAuOTc3NDYsIDAuOTc3NTkyLCAKKyAgICAgICAgICAg
IDAuOTc3NzIyLCAwLjk3Nzg1LCAwLjk3Nzk3NywgMC45NzgxMDMsIDAuOTc4MjI3LCAwLjk3ODM0
OSwgMC45Nzg0NzEsIAorICAgICAgICAgICAgMC45Nzg1OTEsIDAuOTc4NzA5LCAwLjk3ODgyNywg
MC45Nzg5NDMsIDAuOTc5MDU4LCAwLjk3OTE3MSwgMC45NzkyODMsIAorICAgICAgICAgICAgMC45
NzkzOTUsIDAuOTc5NTA0LCAwLjk3OTYxMywgMC45Nzk3MjEsIDAuOTc5ODI3LCAwLjk3OTkzMywg
MC45ODAwMzcsIAorICAgICAgICAgICAgMC45ODAxNCwgMC45ODAyNDIsIDAuOTgwMzQzLCAwLjk4
MDQ0MywgMC45ODA1NDMsIDAuOTgwNjQxLCAwLjk4MDczOCwgCisgICAgICAgICAgICAwLjk4MDgz
NCwgMC45ODA5MjksIDAuOTgxMDIzLCAwLjk4MTExNiwgMC45ODEyMDksIDAuOTgxMywgMC45ODEz
OTEsIDAuOTgxNDgxLCAKKyAgICAgICAgICAgIDAuOTgxNTY5LCAwLjk4MTY1NywgMC45ODE3NDUs
IDAuOTgxODMxLCAwLjk4MTkxNiwgMC45ODIwMDEsIDAuOTgyMDg1LCAKKyAgICAgICAgICAgIDAu
OTgyMTY4LCAwLjk4MjI1MSwgMC45ODIzMzIsIDAuOTgyNDEzLCAwLjk4MjQ5MywgMC45ODI1NzMs
IDAuOTgyNjUxLCAKKyAgICAgICAgICAgIDAuOTgyNzI5LCAwLjk4MjgwNywgMC45ODI4ODMsIDAu
OTgyOTU5LCAwLjk4MzAzNCwgMC45ODMxMDksIDAuOTgzMTgzLCAKKyAgICAgICAgICAgIDAuOTgz
MjU2LCAwLjk4MzMyOSwgMC45ODM0MDEsIDAuOTgzNDcyLCAwLjk4MzU0MywgMC45ODM2MTMsIDAu
OTgzNjgzLCAKKyAgICAgICAgICAgIDAuOTgzNzUyLCAwLjk4MzgyLCAwLjk4Mzg4OCwgMC45ODM5
NTYsIDAuOTg0MDIyLCAwLjk4NDA4OSwgMC45ODQxNTQsIAorICAgICAgICAgICAgMC45ODQyMTks
IDAuOTg0Mjg0LCAwLjk4NDM0OCwgMC45ODQ0MTEsIDAuOTg0NDc0LCAwLjk4NDUzNywgMC45ODQ1
OTksIAorICAgICAgICAgICAgMC45ODQ2NiwgMC45ODQ3MjEsIDAuOTg0NzgyLCAwLjk4NDg0Miwg
MC45ODQ5MDIsIDAuOTg0OTYxLCAwLjk4NTAxOSwgCisgICAgICAgICAgICAwLjk4NTA3NywgMC45
ODUxMzUsIDAuOTg1MTkzLCAwLjk4NTI0OSwgMC45ODUzMDYsIDAuOTg1MzYyLCAwLjk4NTQxNywg
CisgICAgICAgICAgICAwLjk4NTQ3MiwgMC45ODU1MjcsIDAuOTg1NTgyLCAwLjk4NTYzNSwgMC45
ODU2ODksIDAuOTg1NzQyLCAwLjk4NTc5NSwgCisgICAgICAgICAgICAwLjk4NTg0NywgMC45ODU4
OTksIDAuOTg1OTUxLCAwLjk4NjAwMiwgMC45ODYwNTMsIDAuOTg2MTAzLCAwLjk4NjE1MywgCisg
ICAgICAgICAgICAwLjk4NjIwMywgMC45ODYyNTIsIDAuOTg2MzAxLCAwLjk4NjM1LCAwLjk4NjM5
OCwgMC45ODY0NDYsIDAuOTg2NDk0LCAKKyAgICAgICAgICAgIDAuOTg2NTQxLCAwLjk4NjU4OCwg
MC45ODY2MzUsIDAuOTg2NjgxLCAwLjk4NjcyNywgMC45ODY3NzMsIDAuOTg2ODE4LCAKKyAgICAg
ICAgICAgIDAuOTg2ODYzLCAwLjk4NjkwOCwgMC45ODY5NTMsIDAuOTg2OTk3LCAwLjk4NzA0MSwg
MC45ODcwODQsIDAuOTg3MTI4LCAKKyAgICAgICAgICAgIDAuOTg3MTcxLCAwLjk4NzIxMywgMC45
ODcyNTYsIDAuOTg3Mjk4LCAwLjk4NzM0LCAwLjk4NzM4MSwgMC45ODc0MjMsIAorICAgICAgICAg
ICAgMC45ODc0NjQsIDAuOTg3NTA0LCAwLjk4NzU0NSwgMC45ODc1ODUsIDAuOTg3NjI1LCAwLjk4
NzY2NSwgMC45ODc3MDQsIAorICAgICAgICAgICAgMC45ODc3NDQsIDAuOTg3NzgzLCAwLjk4Nzgy
MSwgMC45ODc4NiwgMC45ODc4OTgsIDAuOTg3OTM2LCAwLjk4Nzk3NCwgCisgICAgICAgICAgICAw
Ljk4ODAxMSwgMC45ODgwNDksIDAuOTg4MDg2LCAwLjk4ODEyMywgMC45ODgxNTksIDAuOTg4MTk2
LCAwLjk4ODIzMiwgCisgICAgICAgICAgICAwLjk4ODI2OCwgMC45ODgzMDMsIDAuOTg4MzM5LCAw
Ljk4ODM3NCwgMC45ODg0MDksIDAuOTg4NDQ0LCAwLjk4ODQ3OSwgCisgICAgICAgICAgICAwLjk4
ODUxMywgMC45ODg1NDcsIDAuOTg4NTgyLCAwLjk4ODYxNSwgMC45ODg2NDksIDAuOTg4NjgyLCAw
Ljk4ODcxNiwgCisgICAgICAgICAgICAwLjk4ODc0OSwgMC45ODg3ODIsIDAuOTg4ODE0LCAwLjk4
ODg0NywgMC45ODg4NzksIDAuOTg4OTExLCAwLjk4ODk0MywgCisgICAgICAgICAgICAwLjk4ODk3
NSwgMC45ODkwMDYsIDAuOTg5MDM4LCAwLjk4OTA2OSwgMC45ODkxLCAwLjk4OTEzMSwgMC45ODkx
NjEsIDAuOTg5MTkyLCAKKyAgICAgICAgICAgIDAuOTg5MjIyLCAwLjk4OTI1MiwgMC45ODkyODIs
IDAuOTg5MzEyLCAwLjk4OTM0MiwgMC45ODkzNzEsIDAuOTg5NDAxLCAKKyAgICAgICAgICAgIDAu
OTg5NDMsIDAuOTg5NDU5LCAwLjk4OTQ4OCwgMC45ODk1MTYsIDAuOTg5NTQ1LCAwLjk4OTU3Mywg
MC45ODk2MDIsIDAuOTg5NjMsIAorICAgICAgICAgICAgMC45ODk2NTgsIDAuOTg5Njg1LCAwLjk4
OTcxMywgMC45ODk3NCwgMC45ODk3NjgsIDAuOTg5Nzk1LCAwLjk4OTgyMiwgCisgICAgICAgICAg
ICAwLjk4OTg0OSwgMC45ODk4NzYsIDAuOTg5OTAyLCAwLjk4OTkyOSwgMC45ODk5NTUsIDAuOTg5
OTgxLCAwLjk5MDAwNywgCisgICAgICAgICAgICAwLjk5MDAzMywgMC45OTAwNTksIDAuOTkwMDg1
LCAwLjk5MDExLCAwLjk5MDEzNiwgMC45OTAxNjEsIDAuOTkwMTg2LCAKKyAgICAgICAgICAgIDAu
OTkwMjExLCAwLjk5MDIzNiwgMC45OTAyNjEsIDAuOTkwMjg1LCAwLjk5MDMxLCAwLjk5MDMzNCwg
MC45OTAzNTgsIAorICAgICAgICAgICAgMC45OTAzODMsIDAuOTkwNDA3LCAwLjk5MDQzLCAwLjk5
MDQ1NCwgMC45OTA0NzgsIDAuOTkwNTAxLCAwLjk5MDUyNSwgCisgICAgICAgICAgICAwLjk5MDU0
OCwgMC45OTA1NzEsIDAuOTkwNTk0LCAwLjk5MDYxNywgMC45OTA2NCwgMC45OTA2NjMsIDAuOTkw
Njg2LCAKKyAgICAgICAgICAgIDAuOTkwNzA4LCAwLjk5MDczMSwgMC45OTA3NTMsIDAuOTkwNzc1
LCAwLjk5MDc5NywgMC45OTA4MTksIDAuOTkwODQxLCAKKyAgICAgICAgICAgIDAuOTkwODYzLCAw
Ljk5MDg4NSwgMC45OTA5MDYsIDAuOTkwOTI4LCAwLjk5MDk0OSwgMC45OTA5NywgMC45OTA5OTEs
IAorICAgICAgICAgICAgMC45OTEwMTMsIDAuOTkxMDM0LCAwLjk5MTA1NCwgMC45OTEwNzUsIDAu
OTkxMDk2LCAwLjk5MTExNiwgMC45OTExMzcsIAorICAgICAgICAgICAgMC45OTExNTcsIDAuOTkx
MTc4LCAwLjk5MTE5OCwgMC45OTEyMTgsIDAuOTkxMjM4LCAwLjk5MTI1OCwgMC45OTEyNzgsIAor
ICAgICAgICAgICAgMC45OTEyOTgsIDAuOTkxMzE3LCAwLjk5MTMzNywgMC45OTEzNTYsIDAuOTkx
Mzc2LCAwLjk5MTM5NSwgMC45OTE0MTQsIAorICAgICAgICAgICAgMC45OTE0MzMsIDAuOTkxNDUy
LCAwLjk5MTQ3MSwgMC45OTE0OSwgMC45OTE1MDksIDAuOTkxNTI4LCAwLjk5MTU0NywgCisgICAg
ICAgICAgICAwLjk5MTU2NSwgMC45OTE1ODQsIDAuOTkxNjAyLCAwLjk5MTYyLCAwLjk5MTYzOSwg
MC45OTE2NTcsIDAuOTkxNjc1LCAKKyAgICAgICAgICAgIDAuOTkxNjkzLCAwLjk5MTcxMSwgMC45
OTE3MjksIDAuOTkxNzQ2LCAwLjk5MTc2NCwgMC45OTE3ODIsIDAuOTkxNzk5LCAKKyAgICAgICAg
ICAgIDAuOTkxODE3LCAwLjk5MTgzNCwgMC45OTE4NTEsIDAuOTkxODY5LCAwLjk5MTg4NiwgMC45
OTE5MDMsIDAuOTkxOTIsIAorICAgICAgICAgICAgMC45OTE5MzcsIDAuOTkxOTU0LCAwLjk5MTk3
MSwgMC45OTE5ODcsIDAuOTkyMDA0LCAwLjk5MjAyMSwgMC45OTIwMzcsIAorICAgICAgICAgICAg
MC45OTIwNTQsIDAuOTkyMDcsIDAuOTkyMDg2LCAwLjk5MjEwMywgMC45OTIxMTksIDAuOTkyMTM1
LCAwLjk5MjE1MSwgCisgICAgICAgICAgICAwLjk5MjE2NywgMC45OTIxODMsIDAuOTkyMTk5LCAw
Ljk5MjIxNSwgMC45OTIyMywgMC45OTIyNDYsIDAuOTkyMjYyLCAKKyAgICAgICAgICAgIDAuOTky
Mjc3LCAwLjk5MjI5MywgMC45OTIzMDgsIDAuOTkyMzI0LCAwLjk5MjMzOSwgMC45OTIzNTQsIDAu
OTkyMzY5LCAKKyAgICAgICAgICAgIDAuOTkyMzg0LCAwLjk5MjQsIDAuOTkyNDE1LCAwLjk5MjQy
OSwgMC45OTI0NDQsIDAuOTkyNDU5LCAwLjk5MjQ3NCwgMC45OTI0ODksIAorICAgICAgICAgICAg
MC45OTI1MDMsIDAuOTkyNTE4LCAwLjk5MjUzMywgMC45OTI1NDcsIDAuOTkyNTYxLCAwLjk5MjU3
NiwgMC45OTI1OSwgCisgICAgICAgICAgICAwLjk5MjYwNCwgMC45OTI2MTksIDAuOTkyNjMzLCAw
Ljk5MjY0NywgMC45OTI2NjEsIDAuOTkyNjc1LCAwLjk5MjY4OSwgCisgICAgICAgICAgICAwLjk5
MjcwMywgMC45OTI3MTcsIDAuOTkyNzMsIDAuOTkyNzQ0LCAwLjk5Mjc1OCwgMC45OTI3NzEsIDAu
OTkyNzg1LCAKKyAgICAgICAgICAgIDAuOTkyNzk4LCAwLjk5MjgxMiwgMC45OTI4MjUsIDAuOTky
ODM5LCAwLjk5Mjg1MiwgMC45OTI4NjUsIDAuOTkyODc5LCAKKyAgICAgICAgICAgIDAuOTkyODky
LCAwLjk5MjkwNSwgMC45OTI5MTgsIDAuOTkyOTMxLCAwLjk5Mjk0NCwgMC45OTI5NTcsIDAuOTky
OTcsIAorICAgICAgICAgICAgMC45OTI5ODMsIDAuOTkyOTk1LCAwLjk5MzAwOCwgMC45OTMwMjEs
IDAuOTkzMDM0LCAwLjk5MzA0NiwgMC45OTMwNTksIAorICAgICAgICAgICAgMC45OTMwNzEsIDAu
OTkzMDg0LCAwLjk5MzA5NiwgMC45OTMxMDksIDAuOTkzMTIxLCAwLjk5MzEzMywgMC45OTMxNDUs
IAorICAgICAgICAgICAgMC45OTMxNTgsIDAuOTkzMTcsIDAuOTkzMTgyLCAwLjk5MzE5NCwgMC45
OTMyMDYsIDAuOTkzMjE4LCAwLjk5MzIzLCAwLjk5MzI0MiwgCisgICAgICAgICAgICAwLjk5MzI1
NCwgMC45OTMyNjYsIDAuOTkzMjc3LCAwLjk5MzI4OSwgMC45OTMzMDEsIDAuOTkzMzEyLCAwLjk5
MzMyNCwgCisgICAgICAgICAgICAwLjk5MzMzNiwgMC45OTMzNDcsIDAuOTkzMzU5LCAwLjk5MzM3
LCAwLjk5MzM4MiwgMC45OTMzOTMsIDAuOTkzNDA0LCAKKyAgICAgICAgICAgIDAuOTkzNDE2LCAw
Ljk5MzQyNywgMC45OTM0MzgsIDAuOTkzNDQ5LCAwLjk5MzQ2LCAwLjk5MzQ3MiwgMC45OTM0ODMs
IAorICAgICAgICAgICAgMC45OTM0OTQsIDAuOTkzNTA1LCAwLjk5MzUxNiwgMC45OTM1MjcsIDAu
OTkzNTM4LCAwLjk5MzU0OCwgMC45OTM1NTksIAorICAgICAgICAgICAgMC45OTM1NywgMC45OTM1
ODEsIDAuOTkzNTkxLCAwLjk5MzYwMiwgMC45OTM2MTMsIDAuOTkzNjIzLCAwLjk5MzYzNCwgCisg
ICAgICAgICAgICAwLjk5MzY0NCwgMC45OTM2NTUsIDAuOTkzNjY1LCAwLjk5MzY3NiwgMC45OTM2
ODYsIDAuOTkzNjk3LCAwLjk5MzcwNywgCisgICAgICAgICAgICAwLjk5MzcxNywgMC45OTM3Mjcs
IDAuOTkzNzM4LCAwLjk5Mzc0OCwgMC45OTM3NTgsIDAuOTkzNzY4LCAwLjk5Mzc3OCwgCisgICAg
ICAgICAgICAwLjk5Mzc4OCwgMC45OTM3OTgsIDAuOTkzODA4LCAwLjk5MzgxOCwgMC45OTM4Mjgs
IDAuOTkzODM4LCAwLjk5Mzg0OCwgCisgICAgICAgICAgICAwLjk5Mzg1OCwgMC45OTM4NjgsIDAu
OTkzODc3LCAwLjk5Mzg4NywgMC45OTM4OTcsIDAuOTkzOTA3LCAwLjk5MzkxNiwgCisgICAgICAg
ICAgICAwLjk5MzkyNiwgMC45OTM5MzUsIDAuOTkzOTQ1LCAwLjk5Mzk1NCwgMC45OTM5NjQsIDAu
OTkzOTczLCAwLjk5Mzk4MywgCisgICAgICAgICAgICAwLjk5Mzk5MiwgMC45OTQwMDIsIDAuOTk0
MDExLCAwLjk5NDAyLCAwLjk5NDAzLCAwLjk5NDAzOSwgMC45OTQwNDgsIDAuOTk0MDU3LCAKKyAg
ICAgICAgICAgIDAuOTk0MDY3LCAwLjk5NDA3NiwgMC45OTQwODUsIDAuOTk0MDk0LCAwLjk5NDEw
MywgMC45OTQxMTIsIDAuOTk0MTIxLCAKKyAgICAgICAgICAgIDAuOTk0MTMsIDAuOTk0MTM5LCAw
Ljk5NDE0OCwgMC45OTQxNTcsIDAuOTk0MTY2LCAwLjk5NDE3NSwgMC45OTQxODMsIAorICAgICAg
ICAgICAgMC45OTQxOTIsIDAuOTk0MjAxLCAwLjk5NDIxLCAwLjk5NDIxOCwgMC45OTQyMjcsIDAu
OTk0MjM2LCAwLjk5NDI0NCwgCisgICAgICAgICAgICAwLjk5NDI1MywgMC45OTQyNjIsIDAuOTk0
MjcsIDAuOTk0Mjc5LCAwLjk5NDI4NywgMC45OTQyOTYsIDAuOTk0MzA0LCAKKyAgICAgICAgICAg
IDAuOTk0MzEzLCAwLjk5NDMyMSwgMC45OTQzMjksIDAuOTk0MzM4LCAwLjk5NDM0NiwgMC45OTQz
NTQsIDAuOTk0MzYzLCAKKyAgICAgICAgICAgIDAuOTk0MzcxLCAwLjk5NDM3OSwgMC45OTQzODcs
IDAuOTk0Mzk1LCAwLjk5NDQwNCwgMC45OTQ0MTIsIDAuOTk0NDIsIAorICAgICAgICAgICAgMC45
OTQ0MjgsIDAuOTk0NDM2LCAwLjk5NDQ0NCwgMC45OTQ0NTIsIDAuOTk0NDYsIDAuOTk0NDY4LCAw
Ljk5NDQ3NiwgCisgICAgICAgICAgICAwLjk5NDQ4NCwgMC45OTQ0OTIsIDAuOTk0NSwgMC45OTQ1
MDgsIDAuOTk0NTE2LCAwLjk5NDUyMywgMC45OTQ1MzEsIDAuOTk0NTM5LCAKKyAgICAgICAgICAg
IDAuOTk0NTQ3LCAwLjk5NDU1NCwgMC45OTQ1NjIsIDAuOTk0NTcsIDAuOTk0NTc3LCAwLjk5NDU4
NSwgMC45OTQ1OTMsIDAuOTk0NiwgCisgICAgICAgICAgICAwLjk5NDYwOCwgMC45OTQ2MTUsIDAu
OTk0NjIzLCAwLjk5NDYzMSwgMC45OTQ2MzgsIDAuOTk0NjQ1LCAwLjk5NDY1MywgCisgICAgICAg
ICAgICAwLjk5NDY2LCAwLjk5NDY2OCwgMC45OTQ2NzUsIDAuOTk0NjgzLCAwLjk5NDY5LCAwLjk5
NDY5NywgMC45OTQ3MDUsIDAuOTk0NzEyLCAKKyAgICAgICAgICAgIDAuOTk0NzE5LCAwLjk5NDcy
NiwgMC45OTQ3MzQsIDAuOTk0NzQxLCAwLjk5NDc0OCwgMC45OTQ3NTUsIDAuOTk0NzYyLCAKKyAg
ICAgICAgICAgIDAuOTk0NzY5LCAwLjk5NDc3NywgMC45OTQ3ODQsIDAuOTk0NzkxLCAwLjk5NDc5
OCwgMC45OTQ4MDUsIDAuOTk0ODEyLCAKKyAgICAgICAgICAgIDAuOTk0ODE5LCAwLjk5NDgyNiwg
MC45OTQ4MzMsIDAuOTk0ODQsIDAuOTk0ODQ3LCAwLjk5NDg1NCwgMC45OTQ4NiwgMC45OTQ4Njcs
IAorICAgICAgICAgICAgMC45OTQ4NzQsIDAuOTk0ODgxLCAwLjk5NDg4OCwgMC45OTQ4OTUsIDAu
OTk0OTAxLCAwLjk5NDkwOCwgMC45OTQ5MTUsIAorICAgICAgICAgICAgMC45OTQ5MjIsIDAuOTk0
OTI4LCAwLjk5NDkzNSwgMC45OTQ5NDIsIDAuOTk0OTQ4LCAwLjk5NDk1NSwgMC45OTQ5NjIsIAor
ICAgICAgICAgICAgMC45OTQ5NjgsIDAuOTk0OTc1LCAwLjk5NDk4MSwgMC45OTQ5ODgsIDAuOTk0
OTk0LCAwLjk5NTAwMSwgMC45OTUwMDcsIAorICAgICAgICAgICAgMC45OTUwMTQsIDAuOTk1MDIs
IDAuOTk1MDI3LCAwLjk5NTAzMywgMC45OTUwNCwgMC45OTUwNDYsIDAuOTk1MDUyLCAwLjk5NTA1
OSwgCisgICAgICAgICAgICAwLjk5NTA2NSwgMC45OTUwNzEsIDAuOTk1MDc4LCAwLjk5NTA4NCwg
MC45OTUwOSwgMC45OTUwOTcsIDAuOTk1MTAzLCAKKyAgICAgICAgICAgIDAuOTk1MTA5LCAwLjk5
NTExNSwgMC45OTUxMjEsIDAuOTk1MTI4LCAwLjk5NTEzNCwgMC45OTUxNCwgMC45OTUxNDYsIAor
ICAgICAgICAgICAgMC45OTUxNTIsIDAuOTk1MTU4LCAwLjk5NTE2NCwgMC45OTUxNzEsIDAuOTk1
MTc3LCAwLjk5NTE4MywgMC45OTUxODksIAorICAgICAgICAgICAgMC45OTUxOTUsIDAuOTk1MjAx
LCAwLjk5NTIwNywgMC45OTUyMTMsIDAuOTk1MjE5LCAwLjk5NTIyNSwgMC45OTUyMzEsIAorICAg
ICAgICAgICAgMC45OTUyMzYsIDAuOTk1MjQyLCAwLjk5NTI0OCwgMC45OTUyNTQsIDAuOTk1MjYs
IDAuOTk1MjY2LCAwLjk5NTI3MiwgCisgICAgICAgICAgICAwLjk5NTI3NywgMC45OTUyODMsIDAu
OTk1Mjg5LCAwLjk5NTI5NSwgMC45OTUzMDEsIDAuOTk1MzA2LCAwLjk5NTMxMiwgCisgICAgICAg
ICAgICAwLjk5NTMxOCwgMC45OTUzMjMsIDAuOTk1MzI5LCAwLjk5NTMzNSwgMC45OTUzNCwgMC45
OTUzNDYsIDAuOTk1MzUyLCAKKyAgICAgICAgICAgIDAuOTk1MzU3LCAwLjk5NTM2MywgMC45OTUz
NjksIDAuOTk1Mzc0LCAwLjk5NTM4LCAwLjk5NTM4NSwgMC45OTUzOTEsIAorICAgICAgICAgICAg
MC45OTUzOTYsIDAuOTk1NDAyLCAwLjk5NTQwNywgMC45OTU0MTMsIDAuOTk1NDE4LCAwLjk5NTQy
NCwgMC45OTU0MjksIAorICAgICAgICAgICAgMC45OTU0MzUsIDAuOTk1NDQsIDAuOTk1NDQ1LCAw
Ljk5NTQ1MSwgMC45OTU0NTYsIDAuOTk1NDYyLCAwLjk5NTQ2NywgCisgICAgICAgICAgICAwLjk5
NTQ3MiwgMC45OTU0NzgsIDAuOTk1NDgzLCAwLjk5NTQ4OCwgMC45OTU0OTMsIDAuOTk1NDk5LCAw
Ljk5NTUwNCwgCisgICAgICAgICAgICAwLjk5NTUwOSwgMC45OTU1MTUsIDAuOTk1NTIsIDAuOTk1
NTI1LCAwLjk5NTUzLCAwLjk5NTUzNSwgMC45OTU1NDEsIDAuOTk1NTQ2LCAKKyAgICAgICAgICAg
IDAuOTk1NTUxLCAwLjk5NTU1NiwgMC45OTU1NjEsIDAuOTk1NTY2LCAwLjk5NTU3MSwgMC45OTU1
NzcsIDAuOTk1NTgyLCAKKyAgICAgICAgICAgIDAuOTk1NTg3LCAwLjk5NTU5MiwgMC45OTU1OTcs
IDAuOTk1NjAyLCAwLjk5NTYwNywgMC45OTU2MTIsIDAuOTk1NjE3LCAKKyAgICAgICAgICAgIDAu
OTk1NjIyLCAwLjk5NTYyNywgMC45OTU2MzIsIDAuOTk1NjM3LCAwLjk5NTY0MiwgMC45OTU2NDcs
IDAuOTk1NjUyLCAKKyAgICAgICAgICAgIDAuOTk1NjU3LCAwLjk5NTY2MSwgMC45OTU2NjYsIDAu
OTk1NjcxLCAwLjk5NTY3NiwgMC45OTU2ODEsIDAuOTk1Njg2LCAKKyAgICAgICAgICAgIDAuOTk1
NjkxLCAwLjk5NTY5NSwgMC45OTU3LCAwLjk5NTcwNSwgMC45OTU3MSwgMC45OTU3MTUsIDAuOTk1
NzE5LCAwLjk5NTcyNCwgCisgICAgICAgICAgICAwLjk5NTcyOSwgMC45OTU3MzQsIDAuOTk1NzM4
LCAwLjk5NTc0MywgMC45OTU3NDgsIDAuOTk1NzUzLCAwLjk5NTc1NywgCisgICAgICAgICAgICAw
Ljk5NTc2MiwgMC45OTU3NjcsIDAuOTk1NzcxLCAwLjk5NTc3NiwgMC45OTU3ODEsIDAuOTk1Nzg1
LCAwLjk5NTc5LCAKKyAgICAgICAgICAgIDAuOTk1Nzk0LCAwLjk5NTc5OSwgMC45OTU4MDQsIDAu
OTk1ODA4LCAwLjk5NTgxMywgMC45OTU4MTcsIDAuOTk1ODIyLCAKKyAgICAgICAgICAgIDAuOTk1
ODI2LCAwLjk5NTgzMSwgMC45OTU4MzUsIDAuOTk1ODQsIDAuOTk1ODQ0LCAwLjk5NTg0OSwgMC45
OTU4NTMsIAorICAgICAgICAgICAgMC45OTU4NTgsIDAuOTk1ODYyLCAwLjk5NTg2NywgMC45OTU4
NzEsIDAuOTk1ODc2LCAwLjk5NTg4LCAwLjk5NTg4NSwgCisgICAgICAgICAgICAwLjk5NTg4OSwg
MC45OTU4OTMsIDAuOTk1ODk4LCAwLjk5NTkwMiwgMC45OTU5MDYsIDAuOTk1OTExLCAwLjk5NTkx
NSwgCisgICAgICAgICAgICAwLjk5NTkyLCAwLjk5NTkyNCwgMC45OTU5MjgsIDAuOTk1OTMyLCAw
Ljk5NTkzNywgMC45OTU5NDEsIDAuOTk1OTQ1LCAwLjk5NTk1LCAKKyAgICAgICAgICAgIDAuOTk1
OTU0LCAwLjk5NTk1OCwgMC45OTU5NjIsIDAuOTk1OTY3LCAwLjk5NTk3MSwgMC45OTU5NzUsIDAu
OTk1OTc5LCAKKyAgICAgICAgICAgIDAuOTk1OTg0LCAwLjk5NTk4OCwgMC45OTU5OTIsIDAuOTk1
OTk2LCAwLjk5NiwgMC45OTYwMDQsIDAuOTk2MDA5LCAwLjk5NjAxMywgCisgICAgICAgICAgICAw
Ljk5NjAxNywgMC45OTYwMjEsIDAuOTk2MDI1LCAwLjk5NjAyOSwgMC45OTYwMzMsIDAuOTk2MDM3
LCAwLjk5NjA0MSwgCisgICAgICAgICAgICAwLjk5NjA0NiwgMC45OTYwNSwgMC45OTYwNTQsIDAu
OTk2MDU4LCAwLjk5NjA2MiwgMC45OTYwNjYsIDAuOTk2MDcsIDAuOTk2MDc0LCAKKyAgICAgICAg
ICAgIDAuOTk2MDc4LCAwLjk5NjA4MiwgMC45OTYwODYsIDAuOTk2MDksIDAuOTk2MDk0LCAwLjk5
NjA5OCwgMC45OTYxMDIsIAorICAgICAgICAgICAgMC45OTYxMDYsIDAuOTk2MTEsIDAuOTk2MTE0
LCAwLjk5NjExNywgMC45OTYxMjEsIDAuOTk2MTI1LCAwLjk5NjEyOSwgCisgICAgICAgICAgICAw
Ljk5NjEzMywgMC45OTYxMzcsIDAuOTk2MTQxLCAwLjk5NjE0NSwgMC45OTYxNDksIDAuOTk2MTUy
LCAwLjk5NjE1NiwgCisgICAgICAgICAgICAwLjk5NjE2LCAwLjk5NjE2NF0KKworIyBSdW4tdGlt
ZSBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgKGNhbiBiZSBzZXQgd2l0aCBjb21tYW5kLWxpbmUg
b3B0aW9ucykKKworJGlubmVyPTMKKyR3YXJtdXA9MQorJG91dGVyPTQKKyRpbmNsdWRlU3VuU3Bp
ZGVyPXRydWUKKyRpbmNsdWRlVjg9dHJ1ZQorJGluY2x1ZGVLcmFrZW49dHJ1ZQorJGJlbmNobWFy
a1BhdHRlcm49bmlsCiskdmVyYm9zaXR5PTAKKyRpbm5lck1vZGU9OnJlbG9hZAorJHRpbWVNb2Rl
PTphdXRvCiska2VlcEZpbGVzPWZhbHNlCisKKyMgSGVscGZ1bCBmdW5jdGlvbnMgYW5kIGNsYXNz
ZXMKKworZGVmIHNtYWxsVXNhZ2UKKyAgcHV0cyAiVXNlIHRoZSAtLWhlbHAgb3B0aW9uIHRvIGdl
dCBiYXNpYyB1c2FnZSBpbmZvcm1hdGlvbi4iCisgIGV4aXQgMQorZW5kCisKK2RlZiB1c2FnZQor
ICBwdXRzICJiZW5jaGVyIFtvcHRpb25zXSA8dm0xPiBbPHZtMj4gLi4uXSIKKyAgcHV0cworICBw
dXRzICJSdW5zIG9uZSBvciBtb3JlIEphdmFTY3JpcHQgcnVudGltZXMgYWdhaW5zdCBTdW5TcGlk
ZXIsIFY4LCBhbmQvb3IgS3Jha2VuIgorICBwdXRzICJiZW5jaG1hcmtzLCBhbmQgcmVwb3J0cyBk
ZXRhaWxlZCBzdGF0aXN0aWNzLiAgV2hhdCBtYWtlcyBiZW5jaGVyIHNwZWNpYWwgaXMiCisgIHB1
dHMgInRoYXQgZWFjaCBiZW5jaG1hcmsvVk0gY29uZmlndXJhdGlvbiBpcyBydW4gaW4gYSBzaW5n
bGUgVk0gaW52b2NhdGlvbiwgYW5kIgorICBwdXRzICJ0aGUgaW52b2NhdGlvbnMgYXJlIHJ1biBp
biByYW5kb20gb3JkZXIuICBUaGlzIG1pbmltaXplcyBzeXN0ZW1hdGljcyBkdWUgdG8iCisgIHB1
dHMgIm9uZSBiZW5jaG1hcmsgcG9sbHV0aW5nIHRoZSBydW5uaW5nIHRpbWUgb2YgYW5vdGhlci4g
IFRoZSBmaW5lLWdyYWluZWQiCisgIHB1dHMgImludGVybGVhdmluZyBvZiBWTSBpbnZvY2F0aW9u
cyBmdXJ0aGVyIG1pbmltaXplcyBzeXN0ZW1hdGljcyBkdWUgdG8gY2hhbmdlcyBpbiIKKyAgcHV0
cyAidGhlIHBlcmZvcm1hbmNlIG9yIGJlaGF2aW9yIG9mIHlvdXIgbWFjaGluZS4iCisgIHB1dHMg
CisgIHB1dHMgIkJlbmNoZXIgaXMgaGlnaGx5IGNvbmZpZ3VyYWJsZS4gIFlvdSBjYW4gY29tcGFy
ZSBhcyBtYW55IFZNcyBhcyB5b3UgbGlrZS4gIFlvdSIKKyAgcHV0cyAiY2FuIGNoYW5nZSB0aGUg
YW1vdW50IG9mIHdhcm0tdXAgaXRlcmF0aW9ucywgbnVtYmVyIG9mIGl0ZXJhdGlvbnMgZXhlY3V0
ZWQgcGVyIgorICBwdXRzICJWTSBpbnZvY2F0aW9uLCBhbmQgdGhlIG51bWJlciBvZiBWTSBpbnZv
Y2F0aW9ucyBwZXIgYmVuY2htYXJrLiAgQnkgZGVmYXVsdCwiCisgIHB1dHMgIlN1blNwaWRlciwg
Vk0sIGFuZCBLcmFrZW4gYXJlIGFsbCBydW47IGJ1dCB5b3UgY2FuIHJ1biBhbnkgY29tYmluYXRp
b24gb2YgdGhlc2UiCisgIHB1dHMgInN1aXRlcy4iCisgIHB1dHMKKyAgcHV0cyAiVGhlIDx2bT4g
c2hvdWxkIGJlIGVpdGhlciBhIHBhdGggdG8gYSBKYXZhU2NyaXB0IHJ1bnRpbWUgZXhlY3V0YWJs
ZSAoc3VjaCBhcyIKKyAgcHV0cyAianNjKSwgb3IgYSBzdHJpbmcgb2YgdGhlIGZvcm0gPG5hbWU+
OjxwYXRoPiwgd2hlcmUgdGhlIDxwYXRoPiBpcyB0aGUgcGF0aCB0byIKKyAgcHV0cyAidGhlIGV4
ZWN1dGFibGUgYW5kIDxuYW1lPiBpcyB0aGUgbmFtZSB0aGF0IHlvdSB3b3VsZCBsaWtlIHRvIGdp
dmUgdGhlIgorICBwdXRzICJjb25maWd1cmF0aW9uIGZvciB0aGUgcHVycG9zZW9mIHJlcG9ydGlu
Zy4gIElmIG5vIG5hbWUgaXMgZ2l2ZW4sIGEgZ2VuZXJpYyBuYW1lIgorICBwdXRzICJvZiB0aGUg
Zm9ybSBDb25mIzxuPiB3aWxsIGJlIGFzY3JpYmVkIHRvIHRoZSBjb25maWd1cmF0aW9uIGF1dG9t
YXRpY2FsbHkuIgorICBwdXRzIAorICBwdXRzICJPcHRpb25zOiIKKyAgcHV0cyAiLS1pbm5lciA8
bj4gICAgICAgICAgU2V0IHRoZSBudW1iZXIgb2YgaW5uZXIgKHBlci1ydW50aW1lLWludm9jYXRp
b24pIgorICBwdXRzICIgICAgICAgICAgICAgICAgICAgICBpdGVyYXRpb25zLiAgRGVmYXVsdCBp
cyAjeyRpbm5lcn0uIgorICBwdXRzICItLW91dGVyIDxuPiAgICAgICAgICBTZXQgdGhlIG51bWJl
ciBvZiBydW50aW1lIGludm9jYXRpb25zIGZvciBlYWNoIGJlbmNobWFyay4iCisgIHB1dHMgIiAg
ICAgICAgICAgICAgICAgICAgIERlZmF1bHQgaXMgI3skb3V0ZXJ9LiIKKyAgcHV0cyAiLS13YXJt
dXAgPG4+ICAgICAgICAgU2V0IHRoZSBudW1iZXIgb2Ygd2FybS11cCBydW5zIHBlciBpbnZvY2F0
aW9uLiAgRGVmYXVsdCIKKyAgcHV0cyAiICAgICAgICAgICAgICAgICAgICAgaXMgI3skd2FybXVw
fS4iCisgIHB1dHMgIi0tdGltaW5nLW1vZGUgICAgICAgIFNldCB0aGUgd2F5IHRoYXQgYmVuY2hl
ciBtZWFzdXJlcyB0aW1lLiAgUG9zc2libGUgdmFsdWVzIgorICBwdXRzICIgICAgICAgICAgICAg
ICAgICAgICBhcmUgJ3ByZWNpc2VUaW1lJywgJ2RhdGUnLCBhbmQgJ2F1dG8nLiAgRGVmYXVsdCBp
cyIKKyAgcHV0cyAiICAgICAgICAgICAgICAgICAgICAgJ2F1dG8nLCB3aGljaCBhdXRvbWF0aWNh
bGx5IGRldGVjdHMgdGhlIGJlc3Qgd2F5LiIKKyAgcHV0cyAiLS12OC1vbmx5ICAgICAgICAgICAg
T25seSBydW4gVjguIgorICBwdXRzICItLXN1bnNwaWRlci1vbmx5ICAgICBPbmx5IHJ1biBTdW5T
cGlkZXIuIgorICBwdXRzICItLWtyYWtlbi1vbmx5ICAgICAgICBPbmx5IHJ1biBLcmFrZW4uIgor
ICBwdXRzICItLWV4Y2x1ZGUtdjggICAgICAgICBFeGNsdWRlIFY4IChvbmx5IHJ1biBTdW5TcGlk
ZXIgYW5kIEtyYWtlbikuIgorICBwdXRzICItLWV4Y2x1ZGUtc3Vuc3BpZGVyICBFeGNsdWRlIFN1
blNwaWRlciAob25seSBydW4gVjggYW5kIEtyYWtlbikuIgorICBwdXRzICItLWV4Y2x1ZGUta3Jh
a2VuICAgICBFeGNsdWRlIFN1blNwaWRlciAob25seSBydW4gU3VuU3BpZGVyIGFuZCBWOCkuIgor
ICBwdXRzICItLWJlbmNobWFya3MgICAgICAgICBPbmx5IHJ1biBiZW5jaG1hcmtzIG1hdGNoaW5n
IHRoZSBnaXZlbiByZWd1bGFyIGV4cHJlc3Npb24uIgorICBwdXRzICItLWtlZXAtZmlsZXMgICAg
ICAgICBLZWVwIHRlbXBvcmFyeSBmaWxlcy4gIFVzZWZ1bCBmb3IgZGVidWdnaW5nLiIKKyAgcHV0
cyAiLS12ZXJib3NlIG9yIC12ICAgICAgUHJpbnQgbW9yZSBzdHVmZi4iCisgIHB1dHMgIi0taGVs
cCBvciAtaCAgICAgICAgIERpc3BsYXkgdGhpcyBtZXNzYWdlLiIKKyAgcHV0cworICBwdXRzICJF
eGFtcGxlOiIKKyAgcHV0cyAiYmVuY2hlciBUaXBPZlRyZWU6L1ZvbHVtZXMvRGF0YS9waXpsby9P
cGVuU291cmNlL1dlYktpdEJ1aWxkL1JlbGVhc2UvanNjIE15Q2hhbmdlczovVm9sdW1lcy9EYXRh
L3BpemxvL3NlY29uZGFyeS9PcGVuU291cmNlL1dlYktpdEJ1aWxkL1JlbGVhc2UvanNjIgorICBl
eGl0IDEKK2VuZAorCitkZWYgZmFpbChyZWFzb24pCisgIGlmIHJlYXNvbi5yZXNwb25kX3RvPyA6
YmFja3RyYWNlCisgICAgcHV0cyAiRkFJTEVEOiAje3JlYXNvbn0iCisgICAgcHV0cyAiU3RhY2sg
dHJhY2U6IgorICAgIHB1dHMgcmVhc29uLmJhY2t0cmFjZS5qb2luKCJcbiIpCisgIGVsc2UKKyAg
ICBwdXRzICJGQUlMRUQ6ICN7cmVhc29ufSIKKyAgZW5kCisgIHNtYWxsVXNhZ2UKK2VuZAorCitk
ZWYgcXVpY2tGYWlsKHIxLHIyKQorICAkc3RkZXJyLnB1dHMgIiN7JDB9OiAje3IxfSIKKyAgcHV0
cworICBmYWlsKHIyKQorZW5kCisKK2RlZiBpbnRBcmcoYXJnTmFtZSxhcmcsbWluLG1heCkKKyAg
cmVzdWx0PWFyZy50b19pCisgIHVubGVzcyByZXN1bHQudG9fcyA9PSBhcmcKKyAgICBxdWlja0Zh
aWwoIkV4cGVjdGVkIGFuIGludGVnZXIgdmFsdWUgZm9yICN7YXJnTmFtZX0sIGJ1dCBnb3QgI3th
cmd9LiIsCisgICAgICAgICAgICAgICJJbnZhbGlkIGFyZ3VtZW50IGZvciBjb21tYW5kLWxpbmUg
b3B0aW9uIikKKyAgZW5kCisgIGlmIG1pbiBhbmQgcmVzdWx0PG1pbgorICAgIHF1aWNrRmFpbCgi
QXJndW1lbnQgZm9yICN7YXJnTmFtZX0gY2Fubm90IGJlIHNtYWxsZXIgdGhhbiAje21pbn0uIiwK
KyAgICAgICAgICAgICAgIkludmFsaWQgYXJndW1lbnQgZm9yIGNvbW1hbmQtbGluZSBvcHRpb24i
KQorICBlbmQKKyAgaWYgbWF4IGFuZCByZXN1bHQ+bWF4CisgICAgcXVpY2tGYWlsKCJBcmd1bWVu
dCBmb3IgI3thcmdOYW1lfSBjYW5ub3QgYmUgZ3JlYXRlciB0aGFuICN7bWF4fS4iLAorICAgICAg
ICAgICAgICAiSW52YWxpZCBhcmd1bWVudCBmb3IgY29tbWFuZC1saW5lIG9wdGlvbiIpCisgIGVu
ZAorICByZXN1bHQKK2VuZAorCitkZWYgY29tcHV0ZU1lYW4oYXJyYXkpCisgIHN1bT0wLjAKKyAg
YXJyYXkuZWFjaCB7CisgICAgfCB2YWx1ZSB8CisgICAgc3VtICs9IHZhbHVlCisgIH0KKyAgc3Vt
L2FycmF5Lmxlbmd0aAorZW5kCisKK2RlZiBjb21wdXRlR2VvbWV0cmljTWVhbihhcnJheSkKKyAg
bXVsdD0xLjAKKyAgYXJyYXkuZWFjaCB7CisgICAgfCB2YWx1ZSB8CisgICAgbXVsdCo9dmFsdWUK
KyAgfQorICBtdWx0KiooMS4wL2FycmF5Lmxlbmd0aCkKK2VuZAorCitkZWYgY29tcHV0ZUhhcm1v
bmljTWVhbihhcnJheSkKKyAgMS4wIC8gY29tcHV0ZU1lYW4oYXJyYXkuY29sbGVjdHsgfCB2YWx1
ZSB8IDEuMCAvIHZhbHVlIH0pCitlbmQKKworZGVmIGNvbXB1dGVTdGREZXYoYXJyYXkpCisgIGNh
c2UgYXJyYXkubGVuZ3RoCisgIHdoZW4gMAorICAgIDAuMC8wLjAKKyAgd2hlbiAxCisgICAgMC4w
CisgIGVsc2UKKyAgICBiZWdpbgorICAgICAgbWVhbj1jb21wdXRlTWVhbihhcnJheSkKKyAgICAg
IHN1bT0wLjAKKyAgICAgIGFycmF5LmVhY2ggeworICAgICAgICB8IHZhbHVlIHwKKyAgICAgICAg
c3VtICs9ICh2YWx1ZS1tZWFuKSoqMgorICAgICAgfQorICAgICAgTWF0aC5zcXJ0KHN1bS8oYXJy
YXkubGVuZ3RoLTEpKQorICAgIHJlc2N1ZQorICAgICAgMC4wLzAuMAorICAgIGVuZAorICBlbmQK
K2VuZAorCitjbGFzcyBBcnJheQorICBkZWYgc2h1ZmZsZSEKKyAgICBzaXplLmRvd250bygxKSB7
IHxufCBwdXNoIGRlbGV0ZV9hdChyYW5kKG4pKSB9CisgICAgc2VsZgorICBlbmQKK2VuZAorCitk
ZWYgaW52ZXJzZUJldGFSZWd1bGFyaXplZChuKQorICBJQlJfTE9PS1VQW24tMV0KK2VuZAorCitk
ZWYgbnVtVG9TdHIobnVtKQorICAiJS40ZiIlKG51bS50b19mKQorZW5kCisgIAorY2xhc3MgTm9D
aGFuZ2UKKyAgYXR0cl9yZWFkZXIgOmFtb3VudEZhc3RlcgorICAKKyAgZGVmIGluaXRpYWxpemUo
YW1vdW50RmFzdGVyKQorICAgIEBhbW91bnRGYXN0ZXIgPSBhbW91bnRGYXN0ZXIKKyAgZW5kCisg
IAorICBkZWYgc2hvcnRGb3JtCisgICAgIiAiCisgIGVuZAorICAKKyAgZGVmIHRvX3MKKyAgICBp
ZiBAYW1vdW50RmFzdGVyIDwgMS4wMQorICAgICAgIiIKKyAgICBlbHNlCisgICAgICAiICBtaWdo
dCBiZSAje251bVRvU3RyKEBhbW91bnRGYXN0ZXIpfXggZmFzdGVyIgorICAgIGVuZAorICBlbmQK
K2VuZAorCitjbGFzcyBGYXN0ZXIKKyAgYXR0cl9yZWFkZXIgOmFtb3VudEZhc3RlcgorICAKKyAg
ZGVmIGluaXRpYWxpemUoYW1vdW50RmFzdGVyKQorICAgIEBhbW91bnRGYXN0ZXIgPSBhbW91bnRG
YXN0ZXIKKyAgZW5kCisgIAorICBkZWYgc2hvcnRGb3JtCisgICAgIl4iCisgIGVuZAorICAKKyAg
ZGVmIHRvX3MKKyAgICAiXiBkZWZpbml0ZWx5ICN7bnVtVG9TdHIoQGFtb3VudEZhc3Rlcil9eCBm
YXN0ZXIiCisgIGVuZAorZW5kCisKK2NsYXNzIFNsb3dlcgorICBhdHRyX3JlYWRlciA6YW1vdW50
U2xvd2VyCisgIAorICBkZWYgaW5pdGlhbGl6ZShhbW91bnRTbG93ZXIpCisgICAgQGFtb3VudFNs
b3dlciA9IGFtb3VudFNsb3dlcgorICBlbmQKKyAgCisgIGRlZiBzaG9ydEZvcm0KKyAgICAiISIK
KyAgZW5kCisgIAorICBkZWYgdG9fcworICAgICIhIGRlZmluaXRlbHkgI3tudW1Ub1N0cihAYW1v
dW50U2xvd2VyKX14IHNsb3dlciIKKyAgZW5kCitlbmQKKworY2xhc3MgTWF5QmVTbG93ZXIKKyAg
YXR0cl9yZWFkZXIgOmFtb3VudFNsb3dlcgorICAKKyAgZGVmIGluaXRpYWxpemUoYW1vdW50U2xv
d2VyKQorICAgIEBhbW91bnRTbG93ZXIgPSBhbW91bnRTbG93ZXIKKyAgZW5kCisgIAorICBkZWYg
c2hvcnRGb3JtCisgICAgIj8iCisgIGVuZAorICAKKyAgZGVmIHRvX3MKKyAgICBpZiBAYW1vdW50
U2xvd2VyIDwgMS4wMQorICAgICAgIj8iCisgICAgZWxzZQorICAgICAgIj8gbWlnaHQgYmUgI3tu
dW1Ub1N0cihAYW1vdW50U2xvd2VyKX14IHNsb3dlciIKKyAgICBlbmQKKyAgZW5kCitlbmQKKwor
Y2xhc3MgU3RhdHMKKyAgZGVmIGluaXRpYWxpemUKKyAgICBAYXJyYXkgPSBbXQorICBlbmQKKyAg
CisgIGRlZiBhZGQodmFsdWUpCisgICAgaWYgdmFsdWUuaXNfYT8gU3RhdHMKKyAgICAgIGFkZCh2
YWx1ZS5hcnJheSkKKyAgICBlbHNpZiB2YWx1ZS5yZXNwb25kX3RvPyA6ZWFjaAorICAgICAgdmFs
dWUuZWFjaCB7CisgICAgICAgIHwgdiB8CisgICAgICAgIGFkZCh2KQorICAgICAgfQorICAgIGVs
c2UKKyAgICAgIEBhcnJheSA8PCB2YWx1ZS50b19mCisgICAgZW5kCisgIGVuZAorICAgIAorICBk
ZWYgYXJyYXkKKyAgICBAYXJyYXkKKyAgZW5kCisgIAorICBkZWYgc3VtCisgICAgcmVzdWx0PTAK
KyAgICBAYXJyYXkuZWFjaCB7CisgICAgICB8IHZhbHVlIHwKKyAgICAgIHJlc3VsdCArPSB2YWx1
ZQorICAgIH0KKyAgICByZXN1bHQKKyAgZW5kCisgIAorICBkZWYgbWluCisgICAgQGFycmF5Lm1p
bgorICBlbmQKKyAgCisgIGRlZiBtYXgKKyAgICBAYXJyYXkubWF4CisgIGVuZAorICAKKyAgZGVm
IHNpemUKKyAgICBAYXJyYXkubGVuZ3RoCisgIGVuZAorICAKKyAgZGVmIG1lYW4KKyAgICBjb21w
dXRlTWVhbihhcnJheSkKKyAgZW5kCisgIAorICBkZWYgYXJpdGhtZXRpY01lYW4KKyAgICBtZWFu
CisgIGVuZAorICAKKyAgZGVmIHN0ZERldgorICAgIGNvbXB1dGVTdGREZXYoYXJyYXkpCisgIGVu
ZAorCisgIGRlZiBzdGRFcnIKKyAgICBzdGREZXYvTWF0aC5zcXJ0KHNpemUpCisgIGVuZAorICAK
KyAgIyBDb21wdXRlcyBhIDk1JSBTdHVkZW50J3MgdCBkaXN0cmlidXRpb24gY29uZmlkZW5jZSBp
bnRlcnZhbAorICBkZWYgY29uZkludAorICAgIGlmIHNpemUgPCAyCisgICAgICAwLjAvMC4wCisg
ICAgZWxzZQorICAgICAgcmFpc2UgaWYgc2l6ZSA+IDEwMDAKKyAgICAgIE1hdGguc3FydChzaXpl
LTEuMCkqc3RkRXJyKk1hdGguc3FydCgtMS4wKzEuMC9pbnZlcnNlQmV0YVJlZ3VsYXJpemVkKHNp
emUtMSkpCisgICAgZW5kCisgIGVuZAorICAKKyAgZGVmIGxvd2VyCisgICAgbWVhbi1jb25mSW50
CisgIGVuZAorICAKKyAgZGVmIHVwcGVyCisgICAgbWVhbitjb25mSW50CisgIGVuZAorICAKKyAg
ZGVmIGdlb21ldHJpY01lYW4KKyAgICBjb21wdXRlR2VvbWV0cmljTWVhbihhcnJheSkKKyAgZW5k
CisgIAorICBkZWYgaGFybW9uaWNNZWFuCisgICAgY29tcHV0ZUhhcm1vbmljTWVhbihhcnJheSkK
KyAgZW5kCisgIAorICBkZWYgY29tcGFyZVRvKG90aGVyKQorICAgIGlmIHVwcGVyIDwgb3RoZXIu
bG93ZXIKKyAgICAgIEZhc3Rlci5uZXcob3RoZXIubWVhbi9tZWFuKQorICAgIGVsc2lmIGxvd2Vy
ID4gb3RoZXIudXBwZXIKKyAgICAgIFNsb3dlci5uZXcobWVhbi9vdGhlci5tZWFuKQorICAgIGVs
c2lmIG1lYW4gPiBvdGhlci5tZWFuCisgICAgICBNYXlCZVNsb3dlci5uZXcobWVhbi9vdGhlci5t
ZWFuKQorICAgIGVsc2UKKyAgICAgIE5vQ2hhbmdlLm5ldyhvdGhlci5tZWFuL21lYW4pCisgICAg
ZW5kCisgIGVuZAorICAKKyAgZGVmIHRvX3MKKyAgICAic2l6ZSA9ICN7c2l6ZX0sIG1lYW4gPSAj
e21lYW59LCBzdGREZXYgPSAje3N0ZERldn0sIHN0ZEVyciA9ICN7c3RkRXJyfSwgY29uZkludCA9
ICN7Y29uZkludH0iCisgIGVuZAorZW5kCisKK2RlZiBkb3VibGVQdXRzKG91dDEsb3V0Mixtc2cp
CisgIG91dDEucHV0cyAiI3tvdXQyLnBhdGh9OiAje21zZ30iIGlmICR2ZXJib3NpdHk+PTMKKyAg
b3V0Mi5wdXRzIG1zZworZW5kCisKK2RlZiBiZW5jaFJ1bkhhcm5lc3Modm0sIGJlbmNocGF0aCkK
KyAgJHN0ZGVyci5wdXRzICJydW5uaW5nICN7YmVuY2hwYXRofSB3aXRoICN7dm19Li4uIiBpZiAk
dmVyYm9zaXR5Pj0xCisgIHJlc3VsdD1uaWwKKyAgVGVtcGZpbGUub3BlbigiYmVuY2hlciIpIHsK
KyAgICB8IGZpbGUgfAorICAgIHlpZWxkKGZpbGUpCisgICAgZmlsZS5mbHVzaAorICAgIGJlZ2lu
CisgICAgICByZXN1bHQ9dm0ucnVuQW5kUmVwb3J0KGZpbGUucGF0aCkKKyAgICByZXNjdWUgPT4g
ZQorICAgICAgJHN0ZGVyci5wdXRzICJDb3VsZCBub3QgcnVuICN7ZmlsZS5wYXRofToiCisgICAg
ICBGaWxlLm9wZW4oZmlsZS5wYXRoLCJyIikgeworICAgICAgICB8IGlucCB8CisgICAgICAgIGlu
cC5lYWNoX2xpbmUgeworICAgICAgICAgIHwgbGluZSB8CisgICAgICAgICAgJHN0ZGVyci5wdXRz
ICIje2xpbmV9IgorICAgICAgICB9CisgICAgICB9CisgICAgZW5kCisgICAgZmlsZS51bmxpbmsg
dW5sZXNzICRrZWVwRmlsZXMKKyAgfQorICByYWlzZSB1bmxlc3MgcmVzdWx0IGFuZCByZXN1bHQu
c2l6ZSA9PSAkaW5uZXIKKyAgcmVzdWx0CitlbmQKKworZGVmIGVtaXRUaW1lSGVscGVycyhmaWxl
KQorICBjYXNlICR0aW1lTW9kZQorICB3aGVuIDpwcmVjaXNlVGltZQorICAgIGRvdWJsZVB1dHMo
JHN0ZGVycixmaWxlLCJmdW5jdGlvbiBfX2JlbmNoZXJfY3VyVGltZU1TKCkgeyIpCisgICAgZG91
YmxlUHV0cygkc3RkZXJyLGZpbGUsIiAgIHJldHVybiBwcmVjaXNlVGltZSgpKjEwMDAiKQorICAg
IGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCJ9IikKKyAgd2hlbiA6ZGF0ZQorICAgIGRvdWJsZVB1
dHMoJHN0ZGVycixmaWxlLCJmdW5jdGlvbiBfX2JlbmNoZXJfY3VyVGltZU1TKCkgeyIpCisgICAg
ZG91YmxlUHV0cygkc3RkZXJyLGZpbGUsIiAgIHJldHVybiBEYXRlLm5vdygpIikKKyAgICBkb3Vi
bGVQdXRzKCRzdGRlcnIsZmlsZSwifSIpCisgIGVsc2UKKyAgICByYWlzZQorICBlbmQKKyAgZG91
YmxlUHV0cygkc3RkZXJyLGZpbGUsImZ1bmN0aW9uIF9fYmVuY2hlcl9ydW4oX19iZW5jaGVyX3do
YXQpIHsiKQorICBkb3VibGVQdXRzKCRzdGRlcnIsZmlsZSwiICAgdmFyIF9fYmVuY2hlcl9iZWZv
cmUgPSBfX2JlbmNoZXJfY3VyVGltZU1TKCk7IikKKyAgZG91YmxlUHV0cygkc3RkZXJyLGZpbGUs
IiAgIHJ1bihfX2JlbmNoZXJfd2hhdCk7IikKKyAgZG91YmxlUHV0cygkc3RkZXJyLGZpbGUsIiAg
IHZhciBfX2JlbmNoZXJfYWZ0ZXIgPSBfX2JlbmNoZXJfY3VyVGltZU1TKCk7IikKKyAgZG91Ymxl
UHV0cygkc3RkZXJyLGZpbGUsIiAgIHJldHVybiBfX2JlbmNoZXJfYWZ0ZXIgLSBfX2JlbmNoZXJf
YmVmb3JlOyIpCisgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCJ9IikKK2VuZAorCitkZWYgZW1p
dEJlbmNoUnVuQ29kZSh2bSwgZmlsZSwgYmVuY2hwYXRoKQorICBlbWl0VGltZUhlbHBlcnMoZmls
ZSkKKyAgY2FzZSAkaW5uZXJNb2RlCisgIHdoZW4gOnJlbG9hZAorICAgIGNhc2Ugdm0udm1UeXBl
CisgICAgd2hlbiA6anNjCisgICAgICAkd2FybXVwLnRpbWVzIHsKKyAgICAgICAgZG91YmxlUHV0
cygkc3RkZXJyLGZpbGUsIl9fYmVuY2hlcl9ydW4oI3tiZW5jaHBhdGguaW5zcGVjdH0pIikKKyAg
ICAgICAgZG91YmxlUHV0cygkc3RkZXJyLGZpbGUsImdjKCk7IikKKyAgICAgIH0KKyAgICAgICRp
bm5lci50aW1lcyB7CisgICAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCJwcmludChcIlRp
bWU6IFwiK19fYmVuY2hlcl9ydW4oI3tiZW5jaHBhdGguaW5zcGVjdH0pKTsiKQorICAgICAgICBk
b3VibGVQdXRzKCRzdGRlcnIsZmlsZSwiZ2MoKTsiKQorICAgICAgfQorICAgIHdoZW4gOmR1bXBS
ZW5kZXJUcmVlCisgICAgICBkb3VibGVQdXRzKCRzdGRlcnIsZmlsZSwiX19iZW5jaGVyX2NvdW50
ID0gMDsiKQorICAgICAgZG91YmxlUHV0cygkc3RkZXJyLGZpbGUsImZ1bmN0aW9uIF9fYmVuY2hl
cl9kb05leHQocmVzdWx0KSB7IikKKyAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCIgICAg
aWYgKF9fYmVuY2hlcl9jb3VudCA+PSAjeyR3YXJtdXB9KSIpCisgICAgICBkb3VibGVQdXRzKCRz
dGRlcnIsZmlsZSwiICAgICAgICBkZWJ1ZyhcIlRpbWU6IFwiK3Jlc3VsdCk7IikKKyAgICAgIGRv
dWJsZVB1dHMoJHN0ZGVycixmaWxlLCIgICAgX19iZW5jaGVyX2NvdW50Kys7IikKKyAgICAgIGRv
dWJsZVB1dHMoJHN0ZGVycixmaWxlLCIgICAgaWYgKF9fYmVuY2hlcl9jb3VudCA8ICN7JGlubmVy
KyR3YXJtdXB9KSIpCisgICAgICBkb3VibGVQdXRzKCRzdGRlcnIsZmlsZSwiICAgICAgICBfX2Jl
bmNoZXJfcnVuSW1wbCgje2JlbmNocGF0aC5pbnNwZWN0fSwgX19iZW5jaGVyX2RvTmV4dCk7IikK
KyAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCIgICAgZWxzZSIpCisgICAgICBkb3VibGVQ
dXRzKCRzdGRlcnIsZmlsZSwiICAgICAgICBxdWl0KCk7IikKKyAgICAgIGRvdWJsZVB1dHMoJHN0
ZGVycixmaWxlLCJ9IikKKyAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCJfX2JlbmNoZXJf
cnVuSW1wbCgje2JlbmNocGF0aC5pbnNwZWN0fSwgX19iZW5jaGVyX2RvTmV4dCk7IikKKyAgICBl
bHNlCisgICAgICByYWlzZSB2bS52bVR5cGUKKyAgICBlbmQKKyAgd2hlbiA6bG9hZE9uY2UKKyAg
ICBkb3VibGVQdXRzKCRzdGRlcnIsZmlsZSwiZnVuY3Rpb24gcnVuaXQoKSB7IikKKyAgICBGaWxl
Lm9wZW4oYmVuY2hwYXRoLCdyJykgeworICAgICAgfCBpbnAgfAorICAgICAgaW5wLmVhY2hfbGlu
ZSB7CisgICAgICAgIHwgbGluZSB8CisgICAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLGxp
bmUpCisgICAgICB9CisgICAgfQorICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCJ9IikKKyAg
ICAkd2FybXVwLnRpbWVzIHsKKyAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCJydW5pdCgp
OyIpCisgICAgICBkb3VibGVQdXRzKCRzdGRlcnIsZmlsZSwiZ2MoKTsiKQorICAgIH0KKyAgICAk
aW5uZXIudGltZXMgeworICAgICAgZG91YmxlUHV0cygkc3RkZXJyLGZpbGUsImJlZm9yZSA9IF9f
YmVuY2hlcl9jdXJUaW1lTVMoKTsiKQorICAgICAgZG91YmxlUHV0cygkc3RkZXJyLGZpbGUsInJ1
bml0KCk7IikKKyAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCJhZnRlciA9IF9fYmVuY2hl
cl9jdXJUaW1lTVMoKTsiKQorICAgICAgZG91YmxlUHV0cygkc3RkZXJyLGZpbGUsInByaW50KFwi
VGltZTogXCIrKGFmdGVyLWJlZm9yZSkpOyIpCisgICAgICBkb3VibGVQdXRzKCRzdGRlcnIsZmls
ZSwiZ2MoKTsiKQorICAgIH0KKyAgICBpZiB2bS52bVR5cGUgPT0gOmR1bXBSZW5kZXJUcmVlCisg
ICAgICBkb3VibGVQdXRzKCRzdGRlcnIsZmlsZSwicXVpdCgpOyIpCisgICAgZW5kCisgIGVsc2UK
KyAgICByYWlzZSAiYmFkICRpbm5lck1vZGU6ICN7JGlubmVyTW9kZX0iCisgIGVuZAorZW5kCisK
K2RlZiBydW5CZW5jaG1hcmtBbmRSZXBvcnQodm0sIGJlbmNocGF0aCkKKyAgYmVuY2hSdW5IYXJu
ZXNzKHZtLCBiZW5jaHBhdGgpIHsKKyAgICB8IGZpbGUgfAorICAgIGVtaXRCZW5jaFJ1bkNvZGUo
dm0sIGZpbGUsIGJlbmNocGF0aCkKKyAgfQorZW5kCisKK2NsYXNzIFN0YXRzQWNjdW11bGF0b3IK
KyAgZGVmIGluaXRpYWxpemUKKyAgICBAc3RhdHMgPSBbXQorICAgICgkb3V0ZXIqJGlubmVyKS50
aW1lcyB7CisgICAgICBAc3RhdHMgPDwgU3RhdHMubmV3CisgICAgfQorICBlbmQKKyAgCisgIGRl
ZiBzdGF0c0Zvckl0ZXJhdGlvbihvdXRlckl0ZXJhdGlvbiwgaW5uZXJJdGVyYXRpb24pCisgICAg
QHN0YXRzW291dGVySXRlcmF0aW9uKiRpbm5lciArIGlubmVySXRlcmF0aW9uXQorICBlbmQKKyAg
CisgIGRlZiBzdGF0cworICAgIHJlc3VsdCA9IFN0YXRzLm5ldworICAgIEBzdGF0cy5lYWNoIHsK
KyAgICAgIHwgc3RhdCB8CisgICAgICByZXN1bHQuYWRkKHlpZWxkIHN0YXQpCisgICAgfQorICAg
IHJlc3VsdAorICBlbmQKKyAgCisgIGRlZiBnZW9tZXRyaWNNZWFuU3RhdHMKKyAgICBzdGF0cyB7
CisgICAgICB8IHN0YXQgfAorICAgICAgc3RhdC5nZW9tZXRyaWNNZWFuCisgICAgfQorICBlbmQK
KyAgCisgIGRlZiBhcml0aG1ldGljTWVhblN0YXRzCisgICAgc3RhdHMgeworICAgICAgfCBzdGF0
IHwKKyAgICAgIHN0YXQuYXJpdGhtZXRpY01lYW4KKyAgICB9CisgIGVuZAorZW5kCisKK2NsYXNz
IFZNIDwgU3RhdHNBY2N1bXVsYXRvcgorICBkZWYgaW5pdGlhbGl6ZShwYXRoLCBuYW1lLCBuYW1l
S2luZCkKKyAgICBzdXBlcigpCisgICAgQHBhdGggPSBwYXRoCisgICAgQG5hbWUgPSBuYW1lCisg
ICAgQG5hbWVLaW5kID0gbmFtZUtpbmQKKyAgICAKKyAgICBUZW1wZmlsZS5vcGVuKCJiZW5jaGVy
LXZtdGVzdCIpIHsKKyAgICAgIHwgZmlsZSB8CisgICAgICBmaWxlLnB1dHMgInByaW50KFwiaGVy
ZVwiKTsiCisgICAgICBmaWxlLmZsdXNoCisgICAgICAKKyAgICAgIHJlc3VsdCA9IG5pbAorICAg
ICAgQHZtVHlwZSA9IDpqc2MKKyAgICAgIHJ1bihmaWxlLnBhdGgpIHsKKyAgICAgICAgfCBpbnAg
fAorICAgICAgICByZXN1bHQgPSBpbnAucmVhZAorICAgICAgfQorICAgICAgCisgICAgICBpZiBy
ZXN1bHQuY2hvbXAgPT0gImhlcmUiCisgICAgICAgICRzdGRlcnIucHV0cyAiI3tAbmFtZX0gaXMg
ZGVmaW5pdGVseSBhIGpzYy1zdHlsZSBWTS4iIGlmICR2ZXJib3NpdHk+PTEKKyAgICAgICAgQHZt
VHlwZSA9IDpqc2MKKyAgICAgIGVsc2UKKyAgICAgICAgJHN0ZGVyci5wdXRzICJBc3N1bWluZyB0
aGF0ICN7QG5hbWV9IGlzIGEgRHVtcFJlbmRlclRyZWUtc3R5bGUgVk0uIiBpZiAkdmVyYm9zaXR5
Pj0xCisgICAgICAgIEB2bVR5cGUgPSA6ZHVtcFJlbmRlclRyZWUKKyAgICAgIGVuZAorICAgIH0K
KyAgZW5kCisgIAorICBkZWYgdG9fcworICAgIEBuYW1lCisgIGVuZAorICAKKyAgZGVmIG5hbWUK
KyAgICBAbmFtZQorICBlbmQKKyAgCisgIGRlZiBwYXRoCisgICAgQHBhdGgKKyAgZW5kCisgIAor
ICBkZWYgbmFtZUtpbmQKKyAgICBAbmFtZUtpbmQKKyAgZW5kCisgIAorICBkZWYgdm1UeXBlCisg
ICAgQHZtVHlwZQorICBlbmQKKyAgCisgIGRlZiBwcmludEZ1bmN0aW9uCisgICAgY2FzZSBAdm1U
eXBlCisgICAgd2hlbiA6anNjCisgICAgICAicHJpbnQiCisgICAgd2hlbiA6ZHVtcFJlbmRlclRy
ZWUKKyAgICAgICJkZWJ1ZyIKKyAgICBlbHNlCisgICAgICByYWlzZSBAdm1UeXBlCisgICAgZW5k
CisgIGVuZAorICAKKyAgZGVmIHJ1bihmaWxlbmFtZSkKKyAgICBjYXNlIEB2bVR5cGUKKyAgICB3
aGVuIDpqc2MKKyAgICAgIGNtZCA9ICIje0BwYXRofSAje2ZpbGVuYW1lfSIKKyAgICAgICRzdGRl
cnIucHV0cyAiPj4gI3tjbWR9IiBpZiAkdmVyYm9zaXR5Pj0yCisgICAgICBJTy5wb3BlbihjbWQs
InIiKSB7CisgICAgICAgIHwgaW5wIHwKKyAgICAgICAgeWllbGQgaW5wCisgICAgICB9CisgICAg
ICAkPy5zdWNjZXNzPworICAgIHdoZW4gOmR1bXBSZW5kZXJUcmVlCisgICAgICByZXN1bHQgPSBu
aWwKKyAgICAgIFRlbXBmaWxlLm9wZW4oWyJiZW5jaGVyLWh0bWxkb2MiLCIuaHRtbCJdKSB7Cisg
ICAgICAgIHwgaHRtbEZpbGUgfAorICAgICAgICBUZW1wZmlsZS5vcGVuKCJiZW5jaGVyLWNzcyIp
IHsKKyAgICAgICAgICB8IGNzc0ZpbGUgfAorICAgICAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixj
c3NGaWxlLCIucGFzcyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6IGdyZWVu
O1xufVxuLmZhaWwge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiByZWQ7XG59
XG5cI2NvbnNvbGUge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBmb250LWZhbWls
eTogbW9ub3NwYWNlO1xufSIpCisgICAgICAgICAgVGVtcGZpbGUub3BlbigiYmVuY2hlci1wcmUi
KSB7CisgICAgICAgICAgICB8IHByZUZpbGUgfAorICAgICAgICAgICAgZG91YmxlUHV0cygkc3Rk
ZXJyLHByZUZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICJpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7XG4iKworICAgICAgICAgICAgICAgICAgICAgICAiICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQod2luZG93LmVuYWJsZVBpeGVsVGVzdGluZyk7XG4iKwor
ICAgICAgICAgICAgICAgICAgICAgICAiICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTtcbiIrCisgICAgICAgICAgICAgICAgICAgICAgICJ9XG4iKworICAgICAgICAgICAg
ICAgICAgICAgICAiXG4iKworICAgICAgICAgICAgICAgICAgICAgICAiZnVuY3Rpb24gZGVidWco
bXNnKVxuIisKKyAgICAgICAgICAgICAgICAgICAgICAgIntcbiIrCisgICAgICAgICAgICAgICAg
ICAgICAgICIgICAgdmFyIHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3BhblwiKTtc
biIrCisgICAgICAgICAgICAgICAgICAgICAgICIgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
XCJjb25zb2xlXCIpLmFwcGVuZENoaWxkKHNwYW4pOyAvLyBpbnNlcnQgaXQgZmlyc3Qgc28gWEhU
TUwga25vd3MgdGhlIG5hbWVzcGFjZVxuIisKKyAgICAgICAgICAgICAgICAgICAgICAgIiAgICBz
cGFuLmlubmVySFRNTCA9IG1zZyArICc8YnIgLz4nO1xuIisKKyAgICAgICAgICAgICAgICAgICAg
ICAgIn1cbiIrCisgICAgICAgICAgICAgICAgICAgICAgICJcbiIrCisgICAgICAgICAgICAgICAg
ICAgICAgICJmdW5jdGlvbiBxdWl0KCkge1xuIisKKyAgICAgICAgICAgICAgICAgICAgICAgIiAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7XG4iKworICAgICAgICAgICAgICAg
ICAgICAgICAifVxuIisKKyAgICAgICAgICAgICAgICAgICAgICAgIlxuIisKKyAgICAgICAgICAg
ICAgICAgICAgICAgIl9fYmVuY2hlcl9jb250aW51YXRpb249bnVsbDtcbiIrCisgICAgICAgICAg
ICAgICAgICAgICAgICJcbiIrCisgICAgICAgICAgICAgICAgICAgICAgICJmdW5jdGlvbiByZXBv
cnRSZXN1bHQocmVzdWx0KSB7XG4iKworICAgICAgICAgICAgICAgICAgICAgICAiICAgIF9fYmVu
Y2hlcl9jb250aW51YXRpb24ocmVzdWx0KTtcbiIrCisgICAgICAgICAgICAgICAgICAgICAgICJ9
XG4iKworICAgICAgICAgICAgICAgICAgICAgICAiXG4iKworICAgICAgICAgICAgICAgICAgICAg
ICAiZnVuY3Rpb24gX19iZW5jaGVyX3J1bkltcGwoZmlsZW5hbWUsIGNvbnRpbnVhdGlvbikge1xu
IisKKyAgICAgICAgICAgICAgICAgICAgICAgIiAgICBmdW5jdGlvbiBkb2l0KCkge1xuIisKKyAg
ICAgICAgICAgICAgICAgICAgICAgIiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJm
cmFtZXBhcmVudFwiKS5pbm5lckhUTUwgPSBcIlwiO1xuIisKKyAgICAgICAgICAgICAgICAgICAg
ICAgIiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJmcmFtZXBhcmVudFwiKS5pbm5l
ckhUTUwgPSBcIjxpZnJhbWUgaWQ9J3Rlc3RmcmFtZSc+XCI7XG4iKworICAgICAgICAgICAgICAg
ICAgICAgICAiICAgICAgICB2YXIgdGVzdEZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
XCJ0ZXN0ZnJhbWVcIik7XG4iKworICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICB0ZXN0
RnJhbWUuY29udGVudERvY3VtZW50Lm9wZW4oKTtcbiIrCisgICAgICAgICAgICAgICAgICAgICAg
ICIgICAgICAgIHRlc3RGcmFtZS5jb250ZW50RG9jdW1lbnQud3JpdGUoXCI8IURPQ1RZUEUgaHRt
bD5cXG48aGVhZD48L2hlYWQ+PGJvZHk+PGRpdiBpZD1cXFwiY29uc29sZVxcXCI+PC9kaXY+PHNj
cmlwdCB0eXBlPVxcXCJ0ZXh0L2phdmFzY3JpcHRcXFwiPl9fYmVuY2hlcl9iZWZvcmUgPSBEYXRl
Lm5vdygpOzwvc2NyaXB0PjxzY3JpcHQgc3JjPVxcXCJmaWxlOi8vXCIrZmlsZW5hbWUrXCJcXFwi
Pjwvc2NyaXB0PjxzY3JpcHQgdHlwZT1cXFwidGV4dC9qYXZhc2NyaXB0XFxcIj53aW5kb3cucGFy
ZW50LnJlcG9ydFJlc3VsdChEYXRlLm5vdygpIC0gX19iZW5jaGVyX2JlZm9yZSk7PC9zY3JpcHQ+
PC9ib2R5PjwvaHRtbD5cIik7XG4iKworICAgICAgICAgICAgICAgICAgICAgICAiICAgICAgICB0
ZXN0RnJhbWUuY29udGVudERvY3VtZW50LmNsb3NlKCk7XG4iKworICAgICAgICAgICAgICAgICAg
ICAgICAiICAgIH1cbiIrCisgICAgICAgICAgICAgICAgICAgICAgICIgICAgX19iZW5jaGVyX2Nv
bnRpbnVhdGlvbiA9IGNvbnRpbnVhdGlvbjtcbiIrCisgICAgICAgICAgICAgICAgICAgICAgICIg
ICAgd2luZG93LnNldFRpbWVvdXQoZG9pdCwgMTApO1xuIisKKyAgICAgICAgICAgICAgICAgICAg
ICAgIn1cbiIpCisgICAgICAgICAgICBkb3VibGVQdXRzKCRzdGRlcnIsaHRtbEZpbGUsIjwhRE9D
VFlQRSBIVE1MIFBVQkxJQyBcIi0vL0lFVEYvL0RURCBIVE1MLy9FTlwiPlxuPGh0bWw+PGhlYWQ+
PGxpbmsgcmVsPVwic3R5bGVzaGVldFwiIGhyZWY9XCJmaWxlOi8vI3tjc3NGaWxlLnBhdGh9XCI+
PHNjcmlwdCBzcmM9XCJmaWxlOi8vI3twcmVGaWxlLnBhdGh9XCI+PC9zY3JpcHQ+PC9oZWFkPjxi
b2R5PjxkaXYgaWQ9XCJjb25zb2xlXCI+PC9kaXY+PGRpdiBpZD1cImZyYW1lcGFyZW50XCI+PC9k
aXY+PHNjcmlwdCBzcmM9XCJmaWxlOi8vI3tmaWxlbmFtZX1cIj48L3NjcmlwdD48L2JvZHk+PC9o
dG1sPiIpCisgICAgICAgICAgICAKKyAgICAgICAgICAgIGh0bWxGaWxlLmZsdXNoCisgICAgICAg
ICAgICBwcmVGaWxlLmZsdXNoCisgICAgICAgICAgICBjc3NGaWxlLmZsdXNoCisgICAgICAgICAg
ICAKKyAgICAgICAgICAgIGNtZCA9ICIje3BhdGh9ICN7aHRtbEZpbGUucGF0aH0iCisgICAgICAg
ICAgICAkc3RkZXJyLnB1dHMgIj4+ICN7Y21kfSIgaWYgJHZlcmJvc2l0eT49MgorICAgICAgICAg
ICAgSU8ucG9wZW4oY21kLCAiciIpIHsKKyAgICAgICAgICAgICAgfCBpbnAgfAorICAgICAgICAg
ICAgICB5aWVsZCBpbnAKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJlc3VsdCA9ICQ/Cisg
ICAgICAgICAgICAKKyAgICAgICAgICAgICNzbGVlcCAxMDAwMAorICAgICAgICAgICAgCisgICAg
ICAgICAgICBodG1sRmlsZS51bmxpbmsgdW5sZXNzICRrZWVwRmlsZXMKKyAgICAgICAgICAgIHBy
ZUZpbGUudW5saW5rIHVubGVzcyAka2VlcEZpbGVzCisgICAgICAgICAgICBjc3NGaWxlLnVubGlu
ayB1bmxlc3MgJGtlZXBGaWxlcworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAg
ICAgcmVzdWx0LnN1Y2Nlc3M/CisgICAgZWxzZQorICAgICAgcmFpc2UgQHZtVHlwZQorICAgIGVu
ZAorICBlbmQKKyAgCisgIGRlZiBydW5BbmRSZXBvcnQoZmlsZW5hbWUpCisgICAgcmVzdWx0ID0g
bmlsCisgICAgNS50aW1lcyB7CisgICAgICByZXN1bHQgPSBTdGF0cy5uZXcKKyAgICAgIHJ1bihm
aWxlbmFtZSkgeworICAgICAgICB8IGlucCB8CisgICAgICAgIGlucC5lYWNoX2xpbmUgeworICAg
ICAgICAgIHwgbGluZSB8CisgICAgICAgICAgJHN0ZGVyci5wdXRzICJzdGRvdXQ6ICN7bGluZX0i
IGlmICR2ZXJib3NpdHk+PTIKKyAgICAgICAgICBpZiBsaW5lID1+IC9eVGltZTogLworICAgICAg
ICAgICAgcmVzdWx0LmFkZCgkfi5wb3N0X21hdGNoLnRvX2YpCisgICAgICAgICAgZW5kCisgICAg
ICAgIH0KKyAgICAgIH0KKyAgICAgIGJyZWFrIGlmIHJlc3VsdC5zaXplID09ICRpbm5lcgorICAg
ICAgaWYgJHZlcmJvc2l0eSA9PSAwCisgICAgICAgICRzdGRlcnIucHJpbnQgIiAgICIKKyAgICAg
IGVuZAorICAgICAgJHN0ZGVyci5wdXRzICJGYWlsZWQgdG8gcnVuICN7ZmlsZW5hbWV9IG9uICN7
c2VsZn0sIHJldHJ5aW5nLi4uIgorICAgIH0KKyAgICByYWlzZSAiRmFpbGVkIHRvIHJ1biAje2Zp
bGVuYW1lfSBvbiAje3NlbGZ9IiB1bmxlc3MgcmVzdWx0IGFuZCByZXN1bHQuc2l6ZSA9PSAkaW5u
ZXIKKyAgICByZXN1bHQKKyAgZW5kCitlbmQKKworY2xhc3MgU3VuU3BpZGVyQmVuY2htYXJrCisg
IGF0dHJfYWNjZXNzb3IgOmJlbmNobWFya1N1aXRlCisgIAorICBkZWYgaW5pdGlhbGl6ZShuYW1l
KQorICAgIEBuYW1lID0gbmFtZQorICBlbmQKKyAgCisgIGRlZiB0b19zCisgICAgQG5hbWUKKyAg
ZW5kCisgIAorICBkZWYgcnVuQW5kUmVwb3J0KHZtKQorICAgIHJ1bkJlbmNobWFya0FuZFJlcG9y
dCh2bSwgIiN7U1VOU1BJREVSX1BBVEh9LyN7QG5hbWV9LmpzIikKKyAgZW5kCitlbmQKKworY2xh
c3MgVjhCZW5jaG1hcmsKKyAgYXR0cl9hY2Nlc3NvciA6YmVuY2htYXJrU3VpdGUKKyAgCisgIGRl
ZiBpbml0aWFsaXplKG5hbWUpCisgICAgQG5hbWUgPSBuYW1lCisgIGVuZAorICAKKyAgZGVmIHRv
X3MKKyAgICBAbmFtZQorICBlbmQKKyAgCisgIGRlZiBydW5BbmRSZXBvcnQodm0pCisgICAgcnVu
QmVuY2htYXJrQW5kUmVwb3J0KHZtLCAiI3tWOF9QQVRIfS92OC0je0BuYW1lfS5qcyIpCisgIGVu
ZAorZW5kCisKK2NsYXNzIEtyYWtlbkJlbmNobWFyaworICBhdHRyX2FjY2Vzc29yIDpiZW5jaG1h
cmtTdWl0ZQorICAKKyAgZGVmIGluaXRpYWxpemUobmFtZSkKKyAgICBAbmFtZSA9IG5hbWUKKyAg
ZW5kCisgIAorICBkZWYgdG9fcworICAgIEBuYW1lCisgIGVuZAorICAKKyAgZGVmIHJ1bkFuZFJl
cG9ydCh2bSkKKyAgICAjIEtyYWtlbiByZXF1aXJlcyBzb21lIHNwZWNpYWwtY2FzaW5nCisgICAg
CisgICAgZGF0YVBhdGg9IiN7S1JBS0VOX1BBVEh9LyN7QG5hbWV9LWRhdGEuanMiCisgICAgYmVu
Y2hQYXRoPSIje0tSQUtFTl9QQVRIfS8je0BuYW1lfS5qcyIKKyAgICAKKyAgICBiZW5jaFJ1bkhh
cm5lc3Modm0sIGJlbmNoUGF0aCkgeworICAgICAgfCBmaWxlIHwKKyAgICAgIGVtaXRUaW1lSGVs
cGVycyhmaWxlKQorICAgICAgZG91YmxlUHV0cygkc3RkZXJyLGZpbGUsImxvYWQoI3tkYXRhUGF0
aC5pbnNwZWN0fSk7IikKKyAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCJnYygpOyIpOwor
ICAgICAgaWYgJGlubmVyTW9kZSA9PSA6cmVsb2FkCisgICAgICAgIGNhc2Ugdm0udm1UeXBlCisg
ICAgICAgIHdoZW4gOmpzYworICAgICAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCJmb3Ig
KHZhciBfX2JlbmNoZXJfaW5kZXggPSAwOyBfX2JlbmNoZXJfaW5kZXggPCAjeyR3YXJtdXArJGlu
bmVyfTsgKytfX2JlbmNoZXJfaW5kZXgpIHsiKQorICAgICAgICAgIGRvdWJsZVB1dHMoJHN0ZGVy
cixmaWxlLCIgICBiZWZvcmUgPSBfX2JlbmNoZXJfY3VyVGltZU1TKCk7IikKKyAgICAgICAgICBk
b3VibGVQdXRzKCRzdGRlcnIsZmlsZSwiICAgbG9hZCgje2JlbmNoUGF0aC5pbnNwZWN0fSk7IikK
KyAgICAgICAgICBkb3VibGVQdXRzKCRzdGRlcnIsZmlsZSwiICAgYWZ0ZXIgPSBfX2JlbmNoZXJf
Y3VyVGltZU1TKCk7IikKKyAgICAgICAgICBkb3VibGVQdXRzKCRzdGRlcnIsZmlsZSwiICAgaWYg
KF9fYmVuY2hlcl9pbmRleCA+PSAjeyR3YXJtdXB9KSAje3ZtLnByaW50RnVuY3Rpb259KFwiVGlt
ZTogXCIrKGFmdGVyLWJlZm9yZSkpOyIpOworICAgICAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixm
aWxlLCIgICBnYygpOyIpOworICAgICAgICAgIGRvdWJsZVB1dHMoJHN0ZGVycixmaWxlLCJ9IikK
KyAgICAgICAgd2hlbiA6ZHVtcFJlbmRlclRyZWUKKyAgICAgICAgICByYWlzZSAiS3Jha2VuIGlu
IER1bXBSZW5kZXJUcmVlIGlzIGN1cnJlbnRseSB1bnN1cHBvcnRlZC4iCisgICAgICAgIGVsc2UK
KyAgICAgICAgICByYWlzZSB2bS52bVR5cGUKKyAgICAgICAgZW5kCisgICAgICBlbHNlCisgICAg
ICAgIGVtaXRCZW5jaFJ1bkNvZGUodm0sIGZpbGUsIGJlbmNoUGF0aCkKKyAgICAgIGVuZAorICAg
IH0KKyAgZW5kCitlbmQKKworY2xhc3MgQmVuY2htYXJrU3VpdGUKKyAgZGVmIGluaXRpYWxpemUo
bmFtZSwgcGF0aCkKKyAgICBAbmFtZSA9IG5hbWUKKyAgICBAcGF0aCA9IHBhdGgKKyAgICBAYmVu
Y2htYXJrcyA9IFtdCisgIGVuZAorICAKKyAgZGVmIG5hbWUKKyAgICBAbmFtZQorICBlbmQKKyAg
CisgIGRlZiB0b19zCisgICAgQG5hbWUKKyAgZW5kCisgIAorICBkZWYgcGF0aAorICAgIEBwYXRo
CisgIGVuZAorICAKKyAgZGVmIGFkZChiZW5jaG1hcmspCisgICAgaWYgbm90ICRiZW5jaG1hcmtQ
YXR0ZXJuIG9yICIje0BuYW1lfS8je2JlbmNobWFyay50b19zfSIgPX4gJGJlbmNobWFya1BhdHRl
cm4KKyAgICAgIGJlbmNobWFyay5iZW5jaG1hcmtTdWl0ZSA9IHNlbGYKKyAgICAgIEBiZW5jaG1h
cmtzIDw8IGJlbmNobWFyaworICAgIGVuZAorICBlbmQKKyAgCisgIGRlZiBiZW5jaG1hcmtzCisg
ICAgQGJlbmNobWFya3MKKyAgZW5kCisgIAorICBkZWYgZW1wdHk/CisgICAgQGJlbmNobWFya3Mu
ZW1wdHk/CisgIGVuZAorICAKKyAgZGVmIHJldGFpbl9pZgorICAgIEBiZW5jaG1hcmtzLmRlbGV0
ZV9pZiB7CisgICAgICB8IGJlbmNobWFyayB8CisgICAgICBub3QgeWllbGQgYmVuY2htYXJrCisg
ICAgfQorICBlbmQKK2VuZAorCitjbGFzcyBCZW5jaG1hcmtPblZNCisgIGRlZiBpbml0aWFsaXpl
KHZtLCBiZW5jaG1hcmssIHN1aXRlT25WTSkKKyAgICBAdm0gPSB2bQorICAgIEBiZW5jaG1hcmsg
PSBiZW5jaG1hcmsKKyAgICBAc3VpdGVPblZNID0gc3VpdGVPblZNCisgICAgQHN0YXRzID0gU3Rh
dHMubmV3CisgIGVuZAorICAKKyAgZGVmIHRvX3MKKyAgICAiI3tAYmVuY2htYXJrfSBvbiAje0B2
bX0iCisgIGVuZAorICAKKyAgZGVmIGJlbmNobWFyaworICAgIEBiZW5jaG1hcmsKKyAgZW5kCisg
IAorICBkZWYgdm0KKyAgICBAdm0KKyAgZW5kCisgIAorICBkZWYgc3VpdGUKKyAgICBAYmVuY2ht
YXJrLmJlbmNobWFya1N1aXRlCisgIGVuZAorICAKKyAgZGVmIHN1aXRlT25WTQorICAgIEBzdWl0
ZU9uVk0KKyAgZW5kCisgIAorICBkZWYgc3RhdHMKKyAgICBAc3RhdHMKKyAgZW5kCisgIAorICBk
ZWYgcnVuUmVjb3JkQW5kUmVwb3J0CisgICAgcmVzdWx0ID0gQGJlbmNobWFyay5ydW5BbmRSZXBv
cnQoQHZtKQorICAgIEBzdGF0cy5hZGQocmVzdWx0KQorICAgIHJlc3VsdAorICBlbmQKK2VuZAor
CitjbGFzcyBTdWl0ZU9uVk0gPCBTdGF0c0FjY3VtdWxhdG9yCisgIGRlZiBpbml0aWFsaXplKHZt
LCBzdWl0ZSkKKyAgICBzdXBlcigpCisgICAgQHZtID0gdm0KKyAgICBAc3VpdGUgPSBzdWl0ZQor
ICBlbmQKKyAgCisgIGRlZiB0b19zCisgICAgIiN7QHN1aXRlfSBvbiAje0B2bX0iCisgIGVuZAor
ICAKKyAgZGVmIHN1aXRlCisgICAgQHN1aXRlCisgIGVuZAorICAKKyAgZGVmIHZtCisgICAgQHZt
CisgIGVuZAorZW5kCisKK2NsYXNzIEJlbmNoUGxhbgorICBkZWYgaW5pdGlhbGl6ZShiZW5jaG1h
cmtPblZNLCBpdGVyYXRpb24pCisgICAgQGJlbmNobWFya09uVk0gPSBiZW5jaG1hcmtPblZNCisg
ICAgQGl0ZXJhdGlvbiA9IGl0ZXJhdGlvbgorICBlbmQKKyAgCisgIGRlZiB0b19zCisgICAgIiN7
QGJlbmNobWFya09uVk19IFwjI3tAaXRlcmF0aW9uKzF9IgorICBlbmQKKyAgCisgIGRlZiBiZW5j
aG1hcmtPblZNCisgICAgQGJlbmNobWFya09uVk0KKyAgZW5kCisgIAorICBkZWYgYmVuY2htYXJr
CisgICAgQGJlbmNobWFya09uVk0uYmVuY2htYXJrCisgIGVuZAorICAKKyAgZGVmIHN1aXRlCisg
ICAgQGJlbmNobWFya09uVk0uc3VpdGUKKyAgZW5kCisgIAorICBkZWYgdm0KKyAgICBAYmVuY2ht
YXJrT25WTS52bQorICBlbmQKKyAgCisgIGRlZiBpdGVyYXRpb24KKyAgICBAaXRlcmF0aW9uCisg
IGVuZAorICAKKyAgZGVmIHJ1bkFuZFJlY29yZAorICAgIEBiZW5jaG1hcmtPblZNLnJ1blJlY29y
ZEFuZFJlcG9ydC5hcnJheS5lYWNoX3dpdGhfaW5kZXggeworICAgICAgfCB2YWx1ZSwgaW5kZXgg
fAorICAgICAgQGJlbmNobWFya09uVk0udm0uc3RhdHNGb3JJdGVyYXRpb24oQGl0ZXJhdGlvbiwg
aW5kZXgpLmFkZCh2YWx1ZSkKKyAgICAgIEBiZW5jaG1hcmtPblZNLnN1aXRlT25WTS5zdGF0c0Zv
ckl0ZXJhdGlvbihAaXRlcmF0aW9uLCBpbmRleCkuYWRkKHZhbHVlKQorICAgIH0KKyAgZW5kCitl
bmQKKworZGVmIGxwYWQoc3RyLGNoYXJzKQorICBpZiBzdHIubGVuZ3RoPmNoYXJzCisgICAgc3Ry
CisgIGVsc2UKKyAgICAiJSN7Y2hhcnN9cyIlKHN0cikKKyAgZW5kCitlbmQKKworZGVmIHJwYWQo
c3RyLGNoYXJzKQorICB3aGlsZSBzdHIubGVuZ3RoPGNoYXJzCisgICAgc3RyKz0iICIKKyAgZW5k
CisgIHN0cgorZW5kCisKK2RlZiBjZW50ZXIoc3RyLGNoYXJzKQorICB3aGlsZSBzdHIubGVuZ3Ro
PGNoYXJzCisgICAgc3RyKz0iICIKKyAgICBpZiBzdHIubGVuZ3RoPGNoYXJzCisgICAgICBzdHI9
IiAiK3N0cgorICAgIGVuZAorICBlbmQKKyAgc3RyCitlbmQKKworZGVmIHN0YXRzVG9TdHIoc3Rh
dHMpCisgIGxwYWQobnVtVG9TdHIoc3RhdHMubWVhbiksMTEpKyIrLSIrcnBhZChudW1Ub1N0cihz
dGF0cy5jb25mSW50KSw5KQorZW5kCisgIAorYmVnaW4KKyAgR2V0b3B0TG9uZy5uZXcoWyctLWlu
bmVyJywgR2V0b3B0TG9uZzo6UkVRVUlSRURfQVJHVU1FTlRdLAorICAgICAgICAgICAgICAgICBb
Jy0tb3V0ZXInLCBHZXRvcHRMb25nOjpSRVFVSVJFRF9BUkdVTUVOVF0sCisgICAgICAgICAgICAg
ICAgIFsnLS13YXJtdXAnLCBHZXRvcHRMb25nOjpSRVFVSVJFRF9BUkdVTUVOVF0sCisgICAgICAg
ICAgICAgICAgIFsnLS10aW1lLW1vZGUnLCBHZXRvcHRMb25nOjpSRVFVSVJFRF9BUkdVTUVOVF0s
CisgICAgICAgICAgICAgICAgIFsnLS1zdW5zcGlkZXItb25seScsIEdldG9wdExvbmc6Ok5PX0FS
R1VNRU5UXSwKKyAgICAgICAgICAgICAgICAgWyctLXY4LW9ubHknLCBHZXRvcHRMb25nOjpOT19B
UkdVTUVOVF0sCisgICAgICAgICAgICAgICAgIFsnLS1rcmFrZW4tb25seScsIEdldG9wdExvbmc6
Ok5PX0FSR1VNRU5UXSwKKyAgICAgICAgICAgICAgICAgWyctLWV4Y2x1ZGUtc3Vuc3BpZGVyJywg
R2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAorICAgICAgICAgICAgICAgICBbJy0tZXhjbHVkZS12
OCcsIEdldG9wdExvbmc6Ok5PX0FSR1VNRU5UXSwKKyAgICAgICAgICAgICAgICAgWyctLWV4Y2x1
ZGUta3Jha2VuJywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAorICAgICAgICAgICAgICAgICBb
Jy0tYmVuY2htYXJrcycsIEdldG9wdExvbmc6OlJFUVVJUkVEX0FSR1VNRU5UXSwKKyAgICAgICAg
ICAgICAgICAgWyctLWxvYWQtb25jZScsIEdldG9wdExvbmc6Ok5PX0FSR1VNRU5UXSwKKyAgICAg
ICAgICAgICAgICAgWyctLWtlZXAtZmlsZXMnLCBHZXRvcHRMb25nOjpOT19BUkdVTUVOVF0sCisg
ICAgICAgICAgICAgICAgIFsnLS12ZXJib3NlJywgJy12JywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1F
TlRdLAorICAgICAgICAgICAgICAgICBbJy0taGVscCcsICctaCcsIEdldG9wdExvbmc6Ok5PX0FS
R1VNRU5UXSkuZWFjaCB7CisgICAgfCBvcHQsIGFyZyB8CisgICAgY2FzZSBvcHQKKyAgICB3aGVu
ICctLWlubmVyJworICAgICAgJGlubmVyID0gaW50QXJnKG9wdCxhcmcsMSxuaWwpCisgICAgd2hl
biAnLS1vdXRlcicKKyAgICAgICRvdXRlciA9IGludEFyZyhvcHQsYXJnLDEsbmlsKQorICAgIHdo
ZW4gJy0td2FybXVwJworICAgICAgJHdhcm11cCA9IGludEFyZyhvcHQsYXJnLDAsbmlsKQorICAg
IHdoZW4gJy0tdGltZS1tb2RlJworICAgICAgaWYgYXJnLnVwY2FzZSA9PSAiUFJFQ0lTRVRJTUUi
CisgICAgICAgICR0aW1lTW9kZSA9IDpwcmVjaXNlVGltZQorICAgICAgZWxzaWYgYXJnLnVwY2Fz
ZSA9PSAiREFURSIKKyAgICAgICAgJHRpbWVNb2RlID0gOmRhdGUKKyAgICAgIGVsc2lmIGFyZy51
cGNhc2UgPT0gIkFVVE8iCisgICAgICAgICR0aW1lTW9kZSA9IDphdXRvCisgICAgICBlbHNlCisg
ICAgICAgIHF1aWNrRmFpbCgiRXhwZWN0ZWQgZWl0aGVyICdwcmVjaXNlVGltZScsICdkYXRlJywg
b3IgJ2F1dG8nIGZvciAtLXRpbWUtbW9kZSwgYnV0IGdvdCAnI3thcmd9Jy4iLAorICAgICAgICAg
ICAgICAgICAgIkludmFsaWQgYXJndW1lbnQgZm9yIGNvbW1hbmQtbGluZSBvcHRpb24iKQorICAg
ICAgZW5kCisgICAgd2hlbiAnLS1zdW5zcGlkZXItb25seScKKyAgICAgICRpbmNsdWRlVjggPSBm
YWxzZQorICAgICAgJGluY2x1ZGVLcmFrZW4gPSBmYWxzZQorICAgIHdoZW4gJy0tdjgtb25seScK
KyAgICAgICRpbmNsdWRlU3VuU3BpZGVyID0gZmFsc2UKKyAgICAgICRpbmNsdWRlS3Jha2VuID0g
ZmFsc2UKKyAgICB3aGVuICctLWtyYWtlbi1vbmx5JworICAgICAgJGluY2x1ZGVTdW5TcGlkZXIg
PSBmYWxzZQorICAgICAgJGluY2x1ZGVWOCA9IGZhbHNlCisgICAgd2hlbiAnLS1leGNsdWRlLXN1
bnNwaWRlcicKKyAgICAgICRpbmNsdWRlU3VuU3BpZGVyID0gZmFsc2UKKyAgICB3aGVuICctLWV4
Y2x1ZGUtdjgnCisgICAgICAkaW5jbHVkZVY4ID0gZmFsc2UKKyAgICB3aGVuICctLWV4Y2x1ZGUt
a3Jha2VuJworICAgICAgJGluY2x1ZGVLcmFrZW4gPSBmYWxzZQorICAgIHdoZW4gJy0tYmVuY2ht
YXJrcycKKyAgICAgICRiZW5jaG1hcmtQYXR0ZXJuID0gUmVnZXhwLm5ldyhhcmcpCisgICAgd2hl
biAnLS1sb2FkLW9uY2UnCisgICAgICAkaW5uZXJNb2RlID0gOmxvYWRPbmNlCisgICAgd2hlbiAn
LS1rZWVwLWZpbGVzJworICAgICAgJGtlZXBGaWxlcyA9IHRydWUKKyAgICB3aGVuICctLXZlcmJv
c2UnCisgICAgICAkdmVyYm9zaXR5ICs9IDEKKyAgICB3aGVuICctLWhlbHAnCisgICAgICB1c2Fn
ZQorICAgIGVsc2UKKyAgICAgIHJhaXNlICJiYWQgb3B0aW9uOiAje29wdH0iCisgICAgZW5kCisg
IH0KKyAgCisgIGlmIEFSR1YuZW1wdHk/CisgICAgcXVpY2tGYWlsKCJQbGVhc2Ugc3BlY2lmeSBh
dCBsZWFzdCBvbiBjb25maWd1cmFpdG9uIG9uIHRoZSBjb21tYW5kIGxpbmUuIiwKKyAgICAgICAg
ICAgICAgIkluc3VmZmljaWVudCBhcmd1bWVudHMiKQorICBlbmQKKyAgCisgIFNVTlNQSURFUiA9
IEJlbmNobWFya1N1aXRlLm5ldygiU3VuU3BpZGVyIiwgU1VOU1BJREVSX1BBVEgpCisgIFsiM2Qt
Y3ViZSIsICIzZC1tb3JwaCIsICIzZC1yYXl0cmFjZSIsICJhY2Nlc3MtYmluYXJ5LXRyZWVzIiwK
KyAgICJhY2Nlc3MtZmFubmt1Y2giLCAiYWNjZXNzLW5ib2R5IiwgImFjY2Vzcy1uc2lldmUiLAor
ICAgImJpdG9wcy0zYml0LWJpdHMtaW4tYnl0ZSIsICJiaXRvcHMtYml0cy1pbi1ieXRlIiwgImJp
dG9wcy1iaXR3aXNlLWFuZCIsCisgICAiYml0b3BzLW5zaWV2ZS1iaXRzIiwgImNvbnRyb2xmbG93
LXJlY3Vyc2l2ZSIsICJjcnlwdG8tYWVzIiwKKyAgICJjcnlwdG8tbWQ1IiwgImNyeXB0by1zaGEx
IiwgImRhdGUtZm9ybWF0LXRvZnRlIiwgImRhdGUtZm9ybWF0LXhwYXJiIiwKKyAgICJtYXRoLWNv
cmRpYyIsICJtYXRoLXBhcnRpYWwtc3VtcyIsICJtYXRoLXNwZWN0cmFsLW5vcm0iLCAicmVnZXhw
LWRuYSIsCisgICAic3RyaW5nLWJhc2U2NCIsICJzdHJpbmctZmFzdGEiLCAic3RyaW5nLXRhZ2Ns
b3VkIiwKKyAgICJzdHJpbmctdW5wYWNrLWNvZGUiLCAic3RyaW5nLXZhbGlkYXRlLWlucHV0Il0u
ZWFjaCB7CisgICAgfCBuYW1lIHwKKyAgICBTVU5TUElERVIuYWRkIFN1blNwaWRlckJlbmNobWFy
ay5uZXcobmFtZSkKKyAgfQorCisgIFY4ID0gQmVuY2htYXJrU3VpdGUubmV3KCJWOCIsIFY4X1BB
VEgpCisgIFsiY3J5cHRvIiwgImRlbHRhYmx1ZSIsICJlYXJsZXktYm95ZXIiLCAicmF5dHJhY2Ui
LAorICAgInJlZ2V4cCIsICJyaWNoYXJkcyIsICJzcGxheSJdLmVhY2ggeworICAgIHwgbmFtZSB8
CisgICAgVjguYWRkIFY4QmVuY2htYXJrLm5ldyhuYW1lKQorICB9CisKKyAgS1JBS0VOID0gQmVu
Y2htYXJrU3VpdGUubmV3KCJLcmFrZW4iLCBLUkFLRU5fUEFUSCkKKyAgWyJhaS1hc3RhciIsICJh
dWRpby1iZWF0LWRldGVjdGlvbiIsICJhdWRpby1kZnQiLCAiYXVkaW8tZmZ0IiwKKyAgICJhdWRp
by1vc2NpbGxhdG9yIiwgImltYWdpbmctZGFya3Jvb20iLCAiaW1hZ2luZy1kZXNhdHVyYXRlIiwK
KyAgICJpbWFnaW5nLWdhdXNzaWFuLWJsdXIiLCAianNvbi1wYXJzZS1maW5hbmNpYWwiLAorICAg
Impzb24tc3RyaW5naWZ5LXRpbmRlcmJveCIsICJzdGFuZm9yZC1jcnlwdG8tYWVzIiwKKyAgICJz
dGFuZm9yZC1jcnlwdG8tY2NtIiwgInN0YW5mb3JkLWNyeXB0by1wYmtkZjIiLAorICAgInN0YW5m
b3JkLWNyeXB0by1zaGEyNTYtaXRlcmF0aXZlIl0uZWFjaCB7CisgICAgfCBuYW1lIHwKKyAgICBL
UkFLRU4uYWRkIEtyYWtlbkJlbmNobWFyay5uZXcobmFtZSkKKyAgfQorCisgICR2bXMgPSBbXQor
ICAKKyAgQVJHVi5lYWNoIHsKKyAgICB8IHZtIHwKKyAgICBpZiB2bSA9fiAvKFthLXpBLVowLTlf
IF0rKTovCisgICAgICBuYW1lID0gJDEKKyAgICAgIG5hbWVLaW5kID0gOmdpdmVuCisgICAgICB2
bSA9ICR+LnBvc3RfbWF0Y2gKKyAgICBlbHNlCisgICAgICBuYW1lID0gIkNvbmZcIyN7JHZtcy5s
ZW5ndGgrMX0iCisgICAgICBuYW1lS2luZCA9IDphdXRvCisgICAgZW5kCisgICAgJHN0ZGVyci5w
dXRzICIje25hbWV9OiAje3ZtfSIgaWYgJHZlcmJvc2l0eSA+PSAxCisgICAgJHZtcyA8PCBWTS5u
ZXcodm0sIG5hbWUsIG5hbWVLaW5kKQorICB9CisgIAorICBpZiAkdGltZU1vZGUgPT0gOmF1dG8K
KyAgICBoYXZlUHJlY2lzZVRpbWUgPSB0cnVlCisgICAgJHZtcy5lYWNoIHsKKyAgICAgIHwgdm0g
fAorICAgICAgaWYgdm0udm1UeXBlID09IDpkdW1wUmVuZGVyVHJlZQorICAgICAgICAkc3RkZXJy
LnB1dHMgIldhcm5pbmc6ICN7dm19IGRvZXMgbm90IGhhdmUgcHJlY2lzZVRpbWUoKSBiZWNhdXNl
IGl0IGlzIER1bXBSZW5kZXJUcmVlOyB1c2luZyBEYXRlLm5vdyBpbnN0ZWFkLiIKKyAgICAgICAg
aGF2ZVByZWNpc2VUaW1lID0gZmFsc2UKKyAgICAgIGVsc2UKKyAgICAgICAgVGVtcGZpbGUub3Bl
bigiYmVuY2hlci10aW1ldGVzdCIpIHsKKyAgICAgICAgICB8IGZpbGUgfAorICAgICAgICAgIGRv
dWJsZVB1dHMoJHN0ZGVycixmaWxlLCIje3ZtLnByaW50RnVuY3Rpb259KFwiVGltZTogXCIrcHJl
Y2lzZVRpbWUoKSk7IikKKyAgICAgICAgICBmaWxlLmZsdXNoCisgICAgICAgICAgcmVzdWx0ID0g
bmlsCisgICAgICAgICAgdm0ucnVuKGZpbGUucGF0aCkgeworICAgICAgICAgICAgfCBpbnAgfAor
ICAgICAgICAgICAgcmVzdWx0ID0gaW5wLnJlYWQKKyAgICAgICAgICB9CisgICAgICAgICAgdGhp
c1ZNSGFzUHJlY2lzZVRpbWUgPSBmYWxzZQorICAgICAgICAgIGlmIHJlc3VsdCA9fiAvVGltZTog
LworICAgICAgICAgICAgc2VjcyA9ICR+LnBvc3RfbWF0Y2gudG9faQorICAgICAgICAgICAgaWYg
KHNlY3MgLSBUaW1lLm5vdy50b19pKS5hYnMgPCA1CisgICAgICAgICAgICAgIHRoaXNWTUhhc1By
ZWNpc2VUaW1lID0gdHJ1ZQorICAgICAgICAgICAgZW5kCisgICAgICAgICAgZW5kCisgICAgICAg
ICAgdW5sZXNzIHRoaXNWTUhhc1ByZWNpc2VUaW1lCisgICAgICAgICAgICAkc3RkZXJyLnB1dHMg
Ildhcm5pbmc6ICN7dm19IGRvZXMgbm90IGhhdmUgcHJlY2lzZVRpbWUoKTsgdXNpbmcgRGF0ZS5u
b3cgaW5zdGVhZC4iCisgICAgICAgICAgICBoYXZlUHJlY2lzZVRpbWUgPSBmYWxzZQorICAgICAg
ICAgIGVuZAorICAgICAgICAgIGZpbGUudW5saW5rIHVubGVzcyAka2VlcEZpbGVzCisgICAgICAg
IH0KKyAgICAgIGVuZAorICAgIH0KKyAgICAKKyAgICBpZiBoYXZlUHJlY2lzZVRpbWUKKyAgICAg
ICR0aW1lTW9kZSA9IDpwcmVjaXNlVGltZQorICAgIGVsc2UKKyAgICAgICR0aW1lTW9kZSA9IDpk
YXRlCisgICAgZW5kCisgIGVuZAorICAKKyAgaWYgJG91dGVyKiRpbm5lciA9PSAxCisgICAgJHN0
ZGVyci5wdXRzICJXYXJuaW5nOiB3aWxsIG9ubHkgY29sbGVjdCBvbmUgc2FtcGxlIHBlciBiZW5j
aG1hcmsvVk0uICBDb25maWRlbmNlIGludGVydmFsIGNhbGN1bGF0aW9uIHdpbGwgZmFpbC4iCisg
IGVuZAorICAKKyAgJHN0ZGVyci5wdXRzICJVc2luZyB0aW1lTW9kZSA9ICN7JHRpbWVNb2RlfS4i
IGlmICR2ZXJib3NpdHkgPj0gMQorICAKKyAgJHN1aXRlcyA9IFtdCisgIAorICBpZiAkaW5jbHVk
ZVN1blNwaWRlciBhbmQgbm90IFNVTlNQSURFUi5lbXB0eT8KKyAgICAkc3VpdGVzIDw8IFNVTlNQ
SURFUgorICBlbmQKKyAgCisgIGlmICRpbmNsdWRlVjggYW5kIG5vdCBWOC5lbXB0eT8KKyAgICAk
c3VpdGVzIDw8IFY4CisgIGVuZAorICAKKyAgaWYgJGluY2x1ZGVLcmFrZW4gYW5kIG5vdCBLUkFL
RU4uZW1wdHk/CisgICAgJHN1aXRlcyA8PCBLUkFLRU4KKyAgZW5kCisgIAorICAkYmVuY2htYXJr
cyA9IFtdCisgICRzdWl0ZXMuZWFjaCB7CisgICAgfCBzdWl0ZSB8CisgICAgJGJlbmNobWFya3Mg
Kz0gc3VpdGUuYmVuY2htYXJrcworICB9CisgIAorICAkc3VpdGVzT25WTXMgPSBbXQorICAkc3Vp
dGVzT25WTXNGb3JTdWl0ZSA9IHt9CisgICRzdWl0ZXMuZWFjaCB7CisgICAgfCBzdWl0ZSB8Cisg
ICAgJHN1aXRlc09uVk1zRm9yU3VpdGVbc3VpdGVdID0gW10KKyAgfQorICAKKyAgJGJlbmNobWFy
a3NPblZNcyA9IFtdCisgICRiZW5jaG1hcmtzT25WTXNGb3JCZW5jaG1hcmsgPSB7fQorICAkYmVu
Y2htYXJrcy5lYWNoIHsKKyAgICB8IGJlbmNobWFyayB8CisgICAgJGJlbmNobWFya3NPblZNc0Zv
ckJlbmNobWFya1tiZW5jaG1hcmtdID0gW10KKyAgfQorICAKKyAgJHZtcy5lYWNoIHsKKyAgICB8
IHZtIHwKKyAgICAkc3VpdGVzLmVhY2ggeworICAgICAgfCBzdWl0ZSB8CisgICAgICBzdWl0ZU9u
Vk0gPSBTdWl0ZU9uVk0ubmV3KHZtLCBzdWl0ZSkKKyAgICAgICRzdWl0ZXNPblZNcyA8PCBzdWl0
ZU9uVk0KKyAgICAgICRzdWl0ZXNPblZNc0ZvclN1aXRlW3N1aXRlXSA8PCBzdWl0ZU9uVk0KKyAg
ICAgIHN1aXRlLmJlbmNobWFya3MuZWFjaCB7CisgICAgICAgIHwgYmVuY2htYXJrIHwKKyAgICAg
ICAgYmVuY2htYXJrT25WTSA9IEJlbmNobWFya09uVk0ubmV3KHZtLCBiZW5jaG1hcmssIHN1aXRl
T25WTSkKKyAgICAgICAgJGJlbmNobWFya3NPblZNcyA8PCBiZW5jaG1hcmtPblZNCisgICAgICAg
ICRiZW5jaG1hcmtzT25WTXNGb3JCZW5jaG1hcmtbYmVuY2htYXJrXSA8PCBiZW5jaG1hcmtPblZN
CisgICAgICB9CisgICAgfQorICB9CisKKyAgJHBsYW5zID0gW10KKyAgJGJlbmNobWFya3NPblZN
cy5lYWNoIHsKKyAgICB8IGJlbmNobWFya09uVk0gfAorICAgICRvdXRlci50aW1lcyB7CisgICAg
ICB8IGl0ZXJhdGlvbiB8CisgICAgICAkcGxhbnMgPDwgQmVuY2hQbGFuLm5ldyhiZW5jaG1hcmtP
blZNLCBpdGVyYXRpb24pCisgICAgfQorICB9CisgIAorICAkcGxhbnMuc2h1ZmZsZSEKKyAgCisg
ICRzdWl0ZXBhZCA9ICRzdWl0ZXMuY29sbGVjdCB7CisgICAgfCBzdWl0ZSB8CisgICAgc3VpdGUu
dG9fcy5zaXplCisgIH0ubWF4ICsgMQorICAKKyAgJGJlbmNocGFkID0gKCRiZW5jaG1hcmtzICsK
KyAgICAgICAgICAgICAgIFsiPGFyaXRobWV0aWM+IiwgIjxnZW9tZXRyaWM+IiwgIjxoYXJtb25p
Yz4iXSkuY29sbGVjdCB7CisgICAgfCBiZW5jaG1hcmsgfAorICAgIGJlbmNobWFyay50b19zLnNp
emUKKyAgfS5tYXggKyAxCisKKyAgJHZtcGFkID0gJHZtcy5jb2xsZWN0IHsKKyAgICB8IHZtIHwK
KyAgICB2bS50b19zLnNpemUKKyAgfS5tYXggKyAxCisgIAorICAkcGxhbnMuZWFjaF93aXRoX2lu
ZGV4IHsKKyAgICB8IHBsYW4sIGlkeCB8CisgICAgaWYgJHZlcmJvc2l0eSA9PSAwCisgICAgICB0
ZXh0MSA9IGxwYWQoaWR4LnRvX3MsJHBsYW5zLnNpemUudG9fcy5zaXplKSsiLyIrJHBsYW5zLnNp
emUudG9fcworICAgICAgdGV4dDIgPSBwbGFuLnN1aXRlLnRvX3MrIi8iK3BsYW4uYmVuY2htYXJr
LnRvX3MrIi8iK3BsYW4udm0udG9fcworICAgICAgJHN0ZGVyci5wcmludCAiXHIje3RleHQxfSAj
e3JwYWQodGV4dDIsJHN1aXRlcGFkKzErJGJlbmNocGFkKzErJHZtcGFkKX0iCisgICAgICAkc3Rk
ZXJyLnByaW50ICJcciN7dGV4dDF9ICN7dGV4dDJ9IgorICAgICAgJHN0ZGVyci5mbHVzaAorICAg
IGVuZAorICAgIHBsYW4ucnVuQW5kUmVjb3JkCisgIH0KKyAgCisgIGlmICR2ZXJib3NpdHkgPT0g
MAorICAgICRzdGRlcnIucHJpbnQgIlxyI3skcGxhbnMuc2l6ZX0vI3skcGxhbnMuc2l6ZX0gI3sn
ICcqKCRzdWl0ZXBhZCsxKyRiZW5jaHBhZCsxKyR2bXBhZCl9IgorICAgICRzdGRlcnIucHV0cyAi
XHIjeyRwbGFucy5zaXplfS8jeyRwbGFucy5zaXplfSIKKyAgZW5kCisgIAorICBpZiAkdmVyYm9z
aXR5ID49IDIKKyAgICAkYmVuY2htYXJrc09uVk1zLmVhY2ggeworICAgICAgfCBiZW5jaG1hcmtP
blZNIHwKKyAgICAgICRzdGRlcnIucHV0cyAiI3tiZW5jaG1hcmtPblZNfTogI3tiZW5jaG1hcmtP
blZNLnN0YXRzfSIKKyAgICB9CisgICAgCisgICAgJHZtcy5lYWNoIHsKKyAgICAgIHwgdm0gfAor
ICAgICAgJHN0ZGVyci5wdXRzICIje3ZtfSAoYXJpdGhtZXRpY01lYW4pOiAje3ZtLmFyaXRobWV0
aWNNZWFuU3RhdHN9IgorICAgICAgJHN0ZGVyci5wdXRzICIje3ZtfSAoZ2VvbWV0cmljTWVhbik6
ICN7dm0uZ2VvbWV0cmljTWVhblN0YXRzfSIKKyAgICB9CisgIGVuZAorICAKKyAgcmVwb3J0TmFt
ZSA9CisgICAgKGlmICgkdm1zLmNvbGxlY3QgeworICAgICAgICAgICB8IHZtIHwKKyAgICAgICAg
ICAgdm0ubmFtZUtpbmQKKyAgICAgICAgIH0uaW5kZXggOmF1dG8pCisgICAgICAgIiIKKyAgICAg
ZWxzZQorICAgICAgICR2bXMuY29sbGVjdCB7CisgICAgICAgICB8IHZtIHwKKyAgICAgICAgIHZt
LnRvX3MKKyAgICAgICB9LmpvaW4oIl8iKSArICJfIgorICAgICBlbmQpICsKKyAgICAoJHN1aXRl
cy5jb2xsZWN0IHsKKyAgICAgICB8IHN1aXRlIHwKKyAgICAgICBzdWl0ZS50b19zCisgICAgIH0u
am9pbigiIikpICsgIl8iICsKKyAgICAoYmVnaW4KKyAgICAgICB0aW1lID0gVGltZS5ub3cKKyAg
ICAgICAiJTA0ZCUwMmQlMDJkXyUwMmQlMDJkIiAlCisgICAgICAgICBbIHRpbWUueWVhciwgdGlt
ZS5tb250aCwgdGltZS5kYXksCisgICAgICAgICAgIHRpbWUuaG91ciwgdGltZS5taW4gXQorICAg
ICBlbmQpICsKKyAgICAiX2JlbmNoUmVwb3J0LnR4dCIKKyAgCisgICRzdGRlcnIucHV0cyAiR2Vu
ZXJhdGluZyBiZW5jaG1hcmsgcmVwb3J0IGF0ICN7cmVwb3J0TmFtZX0iCisgIAorICBvdXRwID0g
JHN0ZG91dAorICBiZWdpbgorICAgIG91dHAgPSBGaWxlLm9wZW4ocmVwb3J0TmFtZSwidyIpCisg
IHJlc2N1ZSA9PiBlCisgICAgJHN0ZGVyci5wdXRzICJFcnJvcjogY291bGQgbm90IHNhdmUgcmVw
b3J0IHRvICN7cmVwb3J0TmFtZX06ICN7ZX0iCisgICAgJHN0ZGVyci5wdXRzCisgIGVuZAorICAK
KyAgZGVmIGNyZWF0ZVZNc1N0cmluZworICAgIHJlc3VsdCA9ICIiCisgICAgcmVzdWx0ICs9ICIg
ICAiIGlmICRzdWl0ZXMuc2l6ZSA+IDEKKyAgICByZXN1bHQgKz0gcnBhZCgiIiwgJGJlbmNocGFk
KQorICAgIHJlc3VsdCArPSAiICIKKyAgICAkdm1zLnNpemUudGltZXMgeworICAgICAgfCBpbmRl
eCB8CisgICAgICBpZiBpbmRleCAhPSAwCisgICAgICAgIHJlc3VsdCArPSAiICIrTm9DaGFuZ2Uu
bmV3KDApLnNob3J0Rm9ybQorICAgICAgZW5kCisgICAgICByZXN1bHQgKz0gbHBhZChjZW50ZXIo
JHZtc1tpbmRleF0ubmFtZSwgOSs5KzIpLCAxMSs5KzIpCisgICAgfQorICAgIHJlc3VsdCArPSAi
ICAgICIKKyAgICBpZiAkdm1zLnNpemUgPj0gMworICAgICAgcmVzdWx0ICs9IGNlbnRlcigiI3sk
dm1zWy0xXS5uYW1lfSB2LiAjeyR2bXNbMF0ubmFtZX0iLDI2KQorICAgIGVsc2UKKyAgICAgIHJl
c3VsdCArPSAiICIqMjYKKyAgICBlbmQKKyAgICByZXN1bHQKKyAgZW5kCisgIAorICAkY29sdW1u
cyA9IGNyZWF0ZVZNc1N0cmluZy5zaXplCisgIAorICBkZWYgcGx1cmFsKG51bSkKKyAgICBpZiBu
dW0gPT0gMQorICAgICAgIiIKKyAgICBlbHNlCisgICAgICAicyIKKyAgICBlbmQKKyAgZW5kCisg
IAorICBkZWYgd3JhcChzdHIpCisgICAgYXJyYXkgPSBzdHIuc3BsaXQKKyAgICByZXN1bHQgPSAi
IgorICAgIGN1ckxpbmUgPSBhcnJheS5zaGlmdAorICAgIGFycmF5LmVhY2ggeworICAgICAgfCBj
dXJTdHIgfAorICAgICAgaWYgKGN1ckxpbmUgKyAiICIgKyBjdXJTdHIpLnNpemUgPiAkY29sdW1u
cworICAgICAgICByZXN1bHQgKz0gY3VyTGluZSArICJcbiIKKyAgICAgICAgY3VyTGluZSA9IGN1
clN0cgorICAgICAgZWxzZQorICAgICAgICBjdXJMaW5lICs9ICIgIiArIGN1clN0cgorICAgICAg
ZW5kCisgICAgfQorICAgIHJlc3VsdCArIGN1ckxpbmUgKyAiXG4iCisgIGVuZAorICAKKyAgb3V0
cC5wcmludCAiQmVuY2htYXJrIHJlcG9ydCBmb3IgIgorICBpZiAkc3VpdGVzLnNpemUgPT0gMQor
ICAgIG91dHAucHJpbnQgJHN1aXRlc1swXS50b19zCisgIGVsc2lmICRzdWl0ZXMuc2l6ZSA9PSAy
CisgICAgb3V0cC5wcmludCAiI3skc3VpdGVzWzBdfSBhbmQgI3skc3VpdGVzWzFdfSIKKyAgZWxz
ZQorICAgIG91dHAucHJpbnQgIiN7JHN1aXRlc1swLi4tMl0uam9pbignLCAnKX0sIGFuZCAjeyRz
dWl0ZXNbLTFdfSIKKyAgZW5kCisgIG91dHAucHV0cyAiLiIKKyAgb3V0cC5wdXRzCisgIAorICAj
IFRoaXMgbG9va3Mgc3R1cGlkOyByZXZpc2l0IGxhdGVyLgorICBpZiBmYWxzZQorICAgICRzdWl0
ZXMuZWFjaCB7CisgICAgICB8IHN1aXRlIHwKKyAgICAgIG91dHAucHV0cyAiI3tzdWl0ZX0gYXQg
I3tzdWl0ZS5wYXRofSIKKyAgICB9CisgICAgCisgICAgb3V0cC5wdXRzCisgIGVuZAorICAKKyAg
b3V0cC5wdXRzICJWTXMgdGVzdGVkOiIKKyAgJHZtcy5lYWNoIHsKKyAgICB8IHZtIHwKKyAgICBv
dXRwLnB1dHMgIlwiI3t2bS5uYW1lfVwiIGF0ICN7UGF0aG5hbWUubmV3KHZtLnBhdGgpLnJlYWxw
YXRofSIKKyAgfQorICAKKyAgb3V0cC5wdXRzCisgIAorICBvdXRwLnB1dHMgd3JhcCgiQ29sbGVj
dGVkICN7JG91dGVyKiRpbm5lcn0gc2FtcGxlI3twbHVyYWwoJG91dGVyKiRpbm5lcil9IHBlciBi
ZW5jaG1hcmsvVk0sICIrCisgICAgICAgICAgICAgICAgICJ3aXRoICN7JG91dGVyfSBWTSBpbnZv
Y2F0aW9uI3twbHVyYWwoJG91dGVyKX0gcGVyIGJlbmNobWFyay4iKworICAgICAgICAgICAgICAg
ICAoaWYgJHdhcm11cCA9PSAwIHRoZW4gKCIgRGlkIG5vdCBpbmNsdWRlIGFueSB3YXJtLXVwIGl0
ZXJhdGlvbnM7IG1lYXN1cmVtZW50cyAiKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJiZWdhbiB3aXRoIHRoZSB2ZXJ5IGZpcnN0IGl0ZXJhdGlvbi4iKQorICAgICAg
ICAgICAgICAgICAgZWxzZSAoIiBVc2VkICN7JHdhcm11cH0gYmVuY2htYXJrIGl0ZXJhdGlvbiN7
cGx1cmFsKCR3YXJtdXApfSBwZXIgVk0gIisKKyAgICAgICAgICAgICAgICAgICAgICAgICJpbnZv
Y2F0aW9uIGZvciB3YXJtLXVwLiIpIGVuZCkrCisgICAgICAgICAgICAgICAgIChjYXNlICR0aW1l
TW9kZQorICAgICAgICAgICAgICAgICAgd2hlbiA6cHJlY2lzZVRpbWUgdGhlbiAoIiBVc2VkIHRo
ZSBqc2Mtc3BlY2lmaWMgcHJlY2lzZVRpbWUoKSBmdW5jdGlvbiB0byBnZXQgIisKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtaWNyb3NlY29uZC1sZXZlbCB0aW1p
bmcuIikKKyAgICAgICAgICAgICAgICAgIHdoZW4gOmRhdGUgdGhlbiAoIiBVc2VkIHRoZSBwb3J0
YWJsZSBEYXRlLm5vdygpIG1ldGhvZCB0byBnZXQgbWlsbGlzZWNvbmQtIisKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImxldmVsIHRpbWluZy4iKQorICAgICAgICAgICAgICAg
ICAgZWxzZSByYWlzZSBlbmQpKworICAgICAgICAgICAgICAgICAoY2FzZSAkaW5uZXJNb2RlCisg
ICAgICAgICAgICAgICAgICB3aGVuIDpyZWxvYWQgdGhlbiAiIiAjIG5vdGhpbmcgaW50ZXJlc3Rp
bmcgdG8gc2F5CisgICAgICAgICAgICAgICAgICB3aGVuIDpsb2FkT25jZSB0aGVuICgiIFJhbiBi
ZW5jaG1hcmtzIHVzaW5nIGFuIGV4cGVyaW1lbnRhbCBtb2RlIHRoYXQgIisKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbnN1cmVzIHRoYXQgdGhlIGJlbmNobWFyayBj
b2RlIGlzIGxvYWRlZCBvbmx5IG9uY2UgIisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJkdXJpbmcgZWFjaCBWTSBpbnZvY2F0aW9uLCB3aGljaCBlbmFibGVzIG1vcmUg
Vk0gIisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3YXJtLXVwLiIp
CisgICAgICAgICAgICAgICAgICBlbHNlIHJhaXNlIGVuZCkrCisgICAgICAgICAgICAgICAgICIg
UmVwb3J0aW5nIGJlbmNobWFyayBleGVjdXRpb24gdGltZXMgd2l0aCA5NSUgY29uZmlkZW5jZSAi
KworICAgICAgICAgICAgICAgICAiaW50ZXJ2YWxzIGluIG1pbGxpc2Vjb25kcy4iKQorICAKKyAg
b3V0cC5wdXRzCisgIAorICBkZWYgcHJpbnRWTXMob3V0cCkKKyAgICBvdXRwLnB1dHMgY3JlYXRl
Vk1zU3RyaW5nCisgIGVuZAorICAKKyAgZGVmIHN1bW1hcnlTdGF0cyhvdXRwLCBhY2N1bXVsYXRv
cnMsIG5hbWUsICZwcm9jKQorICAgIG91dHAucHJpbnQgIiAgICIgaWYgJHN1aXRlcy5zaXplID4g
MQorICAgIG91dHAucHJpbnQgcnBhZChuYW1lLCAkYmVuY2hwYWQpCisgICAgb3V0cC5wcmludCAi
ICIKKyAgICBhY2N1bXVsYXRvcnMuc2l6ZS50aW1lcyB7CisgICAgICB8IGluZGV4IHwKKyAgICAg
IGlmIGluZGV4ICE9IDAKKyAgICAgICAgb3V0cC5wcmludCAiICIrYWNjdW11bGF0b3JzW2luZGV4
XS5zdGF0cygmcHJvYykuY29tcGFyZVRvKGFjY3VtdWxhdG9yc1tpbmRleC0xXS5zdGF0cygmcHJv
YykpLnNob3J0Rm9ybQorICAgICAgZW5kCisgICAgICBvdXRwLnByaW50IHN0YXRzVG9TdHIoYWNj
dW11bGF0b3JzW2luZGV4XS5zdGF0cygmcHJvYykpCisgICAgfQorICAgIGlmIGFjY3VtdWxhdG9y
cy5zaXplPj0yCisgICAgICBvdXRwLnByaW50KCIgICAgIithY2N1bXVsYXRvcnNbLTFdLnN0YXRz
KCZwcm9jKS5jb21wYXJlVG8oYWNjdW11bGF0b3JzWzBdLnN0YXRzKCZwcm9jKSkudG9fcykKKyAg
ICBlbmQKKyAgICBvdXRwLnB1dHMKKyAgZW5kCisgIAorICBkZWYgYWxsU3VtbWFyeVN0YXRzKG91
dHAsIGFjY3VtdWxhdG9ycykKKyAgICBzdW1tYXJ5U3RhdHMob3V0cCwgYWNjdW11bGF0b3JzLCAi
PGFyaXRobWV0aWM+IikgeworICAgICAgfCBzdGF0IHwKKyAgICAgIHN0YXQuYXJpdGhtZXRpY01l
YW4KKyAgICB9CisgICAgCisgICAgc3VtbWFyeVN0YXRzKG91dHAsIGFjY3VtdWxhdG9ycywgIjxn
ZW9tZXRyaWM+IikgeworICAgICAgfCBzdGF0IHwKKyAgICAgIHN0YXQuZ2VvbWV0cmljTWVhbgor
ICAgIH0KKyAgICAKKyAgICBzdW1tYXJ5U3RhdHMob3V0cCwgYWNjdW11bGF0b3JzLCAiPGhhcm1v
bmljPiIpIHsKKyAgICAgIHwgc3RhdCB8CisgICAgICBzdGF0Lmhhcm1vbmljTWVhbgorICAgIH0K
KyAgZW5kCisgIAorICAkc3VpdGVzLmVhY2ggeworICAgIHwgc3VpdGUgfAorICAgIHByaW50Vk1z
KG91dHApCisgICAgaWYgJHN1aXRlcy5zaXplID4gMQorICAgICAgb3V0cC5wdXRzICIje3N1aXRl
Lm5hbWV9OiIKKyAgICBlbHNlCisgICAgICBvdXRwLnB1dHMKKyAgICBlbmQKKyAgICBzdWl0ZS5i
ZW5jaG1hcmtzLmVhY2ggeworICAgICAgfCBiZW5jaG1hcmsgfAorICAgICAgb3V0cC5wcmludCAi
ICAgIiBpZiAkc3VpdGVzLnNpemUgPiAxCisgICAgICBvdXRwLnByaW50IHJwYWQoYmVuY2htYXJr
LnRvX3MsICRiZW5jaHBhZCkKKyAgICAgIG91dHAucHJpbnQgIiAiCisgICAgICBteUNvbmZpZ3Mg
PSAkYmVuY2htYXJrc09uVk1zRm9yQmVuY2htYXJrW2JlbmNobWFya10KKyAgICAgIG15Q29uZmln
cy5zaXplLnRpbWVzIHsKKyAgICAgICAgfCBpbmRleCB8CisgICAgICAgIGlmIGluZGV4ICE9IDAK
KyAgICAgICAgICBvdXRwLnByaW50ICIgIitteUNvbmZpZ3NbaW5kZXhdLnN0YXRzLmNvbXBhcmVU
byhteUNvbmZpZ3NbaW5kZXgtMV0uc3RhdHMpLnNob3J0Rm9ybQorICAgICAgICBlbmQKKyAgICAg
ICAgb3V0cC5wcmludCBzdGF0c1RvU3RyKG15Q29uZmlnc1tpbmRleF0uc3RhdHMpCisgICAgICB9
CisgICAgICBpZiAkdm1zLnNpemU+PTIKKyAgICAgICAgb3V0cC5wcmludCgiICAgICIrbXlDb25m
aWdzWy0xXS5zdGF0cy5jb21wYXJlVG8obXlDb25maWdzWzBdLnN0YXRzKS50b19zKQorICAgICAg
ZW5kCisgICAgICBvdXRwLnB1dHMKKyAgICB9CisgICAgb3V0cC5wdXRzCisgICAgYWxsU3VtbWFy
eVN0YXRzKG91dHAsICRzdWl0ZXNPblZNc0ZvclN1aXRlW3N1aXRlXSkKKyAgICBvdXRwLnB1dHMg
aWYgJHN1aXRlcy5zaXplID4gMQorICB9CisgIAorICBpZiAkc3VpdGVzLnNpemUgPiAxCisgICAg
cHJpbnRWTXMob3V0cCkKKyAgICBvdXRwLnB1dHMgIkFsbCBiZW5jaG1hcmtzOiIKKyAgICBhbGxT
dW1tYXJ5U3RhdHMob3V0cCwgJHZtcykKKyAgZW5kCisgIAorICBpZiBvdXRwICE9ICRzdGRvdXQK
KyAgICBvdXRwLmNsb3NlCisgICAgcHV0cworICAgIEZpbGUub3BlbihyZXBvcnROYW1lKSB7Cisg
ICAgICB8IGlucCB8CisgICAgICBwdXRzIGlucC5yZWFkCisgICAgfQorICBlbmQKKyAgCityZXNj
dWUgPT4gZQorICBmYWlsKGUpCitlbmQKKyAgCisgIAoKUHJvcGVydHkgY2hhbmdlcyBvbjogVG9v
bHMvU2NyaXB0cy9iZW5jaGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRhYmxlCiAgICsg
KgoK
</data>

          </attachment>
      

    </bug>

</bugzilla>