<?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>102308</bug_id>
          
          <creation_ts>2012-11-14 17:49:18 -0800</creation_ts>
          <short_desc>IndexedDB test conversions batch 5</short_desc>
          <delta_ts>2012-11-15 12:55:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Grogan">dgrogan</reporter>
          <assigned_to name="David Grogan">dgrogan</assigned_to>
          <cc>alecflett</cc>
    
    <cc>jsbell</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>767527</commentid>
    <comment_count>0</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-14 17:49:18 -0800</bug_when>
    <thetext>IndexedDB test conversions batch 5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767529</commentid>
    <comment_count>1</comment_count>
      <attachid>174300</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-14 17:52:27 -0800</bug_when>
    <thetext>Created attachment 174300
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767530</commentid>
    <comment_count>2</comment_count>
      <attachid>174301</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-14 17:55:02 -0800</bug_when>
    <thetext>Created attachment 174301
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767532</commentid>
    <comment_count>3</comment_count>
      <attachid>174302</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-14 17:58:58 -0800</bug_when>
    <thetext>Created attachment 174302
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767539</commentid>
    <comment_count>4</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-14 18:01:51 -0800</bug_when>
    <thetext>Josh, could you look at these 7 tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768266</commentid>
    <comment_count>5</comment_count>
      <attachid>174302</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-11-15 10:31:13 -0800</bug_when>
    <thetext>Comment on attachment 174302
Patch

lgtm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768268</commentid>
    <comment_count>6</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-15 10:33:40 -0800</bug_when>
    <thetext>Josh, thanks for looking.  Tony, can you review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768403</commentid>
    <comment_count>7</comment_count>
      <attachid>174302</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 12:55:20 -0800</bug_when>
    <thetext>Comment on attachment 174302
Patch

Clearing flags on attachment: 174302

Committed r134819: &lt;http://trac.webkit.org/changeset/134819&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768404</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 12:55:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174300</attachid>
            <date>2012-11-14 17:52:27 -0800</date>
            <delta_ts>2012-11-14 17:55:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102308-20121114175026.patch</filename>
            <type>text/plain</type>
            <size>32671</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NzAyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjQxZmRjZWQ4ODE2MGQ2MGMwY2U1
MmI2YWE1MjZkZjY1MzNhYzZjNC4uOGY2Yzc2NjlmYTdiZGFiZmUxMzJiMmUyMjJlZjdiYjA1Njhj
OTE3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU4IEBACiAyMDEyLTExLTE0ICBEYXZpZCBHcm9nYW4gIDxk
Z3JvZ2FuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBJbmRleGVkREIgdGVzdCBjb252ZXJzaW9u
cyBiYXRjaCA1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDIzMDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9mIHRoZSBjaGFuZ2Ugc3VjaCBhcyBhcHByb2FjaCwg
cmF0aW9uYWxlLiBQbGVhc2UgYWRkIHBlci1mdW5jdGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cgKE9P
UFMhKS4KKworICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLXVwZGF0
ZS11cGRhdGVzLWluZGV4ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhl
ZGRiL21vemlsbGEvZXZlbnQtc291cmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL2dsb2JhbC1kYXRhLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBz
dG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJlbWVudHMtcHV0LW51bGwta2V5LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29kZC1yZXN1
bHQtb3JkZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemls
bGEvcmVtb3ZlLW9iamVjdHN0b3JlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9jdXJzb3ItdXBkYXRlLXVwZGF0ZXMtaW5kZXhlcy5q
czoKKyAgICAgICAgICBDYWxscyBpbmRleGVkREJUZXN0IGEgYnVuY2ggb2YgdGltZXMuCisgICAg
ICAgICh0ZXN0KToKKyAgICAgICAgKHNldHVwT2JqZWN0U3RvcmVBbmRDcmVhdGVJbmRleEFuZEFk
ZCk6CisgICAgICAgIChvcGVuQ3Vyc29yKToKKyAgICAgICAgKGNoZWNrSW5kZXgyKToKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9ldmVudC1zb3VyY2UuanM6
CisgICAgICAgICAgTm93IHRoYXQgc2V0VmVyc2lvbiBpcyBnb25lLCBpdCBhcHBlYXJzIHRoYXQg
bm8gcmVxdWVzdCBzaG91bGQgaGF2ZQorICAgICAgICAgIGEgZGF0YWJhc2UgYXMgYSBzb3VyY2Uu
CisgICAgICAgIChwcmVwYXJlRGF0YWJhc2UpOgorICAgICAgICAoYXJlV2VEb25lWWV0KToKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9nbG9iYWwtZGF0YS5q
czoKKyAgICAgICAgKHByZXBhcmVEYXRhYmFzZSk6CisgICAgICAgIChvcGVuMlN1Y2Nlc3MpOgor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVzb3VyY2VzL2tleS1yZXF1aXJl
bWVudHMtcHV0LW51bGwta2V5LmpzOgorICAgICAgICAocHJlcGFyZURhdGFiYXNlKToKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9vZGQtcmVzdWx0LW9yZGVy
LmpzOgorICAgICAgICAgIE1vdmVkIHNvbWUgdGhpbmdzIGFyb3VuZCBidXQgSSB0aGluayBJIHN0
aWxsIGhhdmUgYWxsIHRoZSB0ZXN0cy4KKworICAgICAgICAocHJlcGFyZURhdGFiYXNlKToKKyAg
ICAgICAgKG9wZW5TdWNjZXNzKToKKyAgICAgICAgKGRlbGV0ZVN1Y2Nlc3MpOgorICAgICAgICAq
IHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVzb3VyY2VzL3JlbW92ZS1vYmplY3RzdG9yZS5q
czoKKyAgICAgICAgKHByZXBhcmVEYXRhYmFzZSk6CisgICAgICAgIChjaGVja09iamVjdFN0b3Jl
KToKKyAgICAgICAgKGluU2V0VmVyc2lvbjIucmVxdWVzdC5vbnN1Y2Nlc3MpOgorICAgICAgICAo
aW5TZXRWZXJzaW9uMik6CisgICAgICAgIChzZXRWZXJzaW9uMyk6CisgICAgICAgIChpblNldFZl
cnNpb24zKToKKyAgICAgICAgKGRlbGV0ZVRoaXJkT2JqZWN0U3RvcmUpOgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb2JqZWN0c3RvcmUtcmVt
b3Zlb2JqZWN0c3RvcmUuanM6CisgICAgICAgIChnZXRWYWx1ZSk6CisgICAgICAgIChjaGVja1Jl
c3VsdCk6CisgICAgICAgIChhZGRJbmRleCk6CisgICAgICAgIChkZWxldGVPYmplY3RTdG9yZSk6
CisgICAgICAgIChjcmVhdGVPYmplY3RTdG9yZUFnYWluKToKKworMjAxMi0xMS0xNCAgRGF2aWQg
R3JvZ2FuICA8ZGdyb2dhbkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgSW5kZXhlZERCOiBUZXN0
IGNvbnZlcnNpb25zIGJhdGNoIDQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwMjI2NwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9tb3ppbGxhL2N1cnNvci11cGRhdGUtdXBkYXRlcy1pbmRleGVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLXVwZGF0ZS11
cGRhdGVzLWluZGV4ZXMtZXhwZWN0ZWQudHh0CmluZGV4IGFiMzE0Y2U1ZWQ0ZjVlYjFjODBlODM4
ODAwNWY2NWNkNTU0MTkzOTIuLmQxZmE0ZmIzNGRkNjQ0ODJmMjYyZTMzNjE5YzRhMDJhNjhjMDll
ZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vy
c29yLXVwZGF0ZS11cGRhdGVzLWluZGV4ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4ZXMt
ZXhwZWN0ZWQudHh0CkBAIC0xLDE0ICsxLDggQEAKLUNPTlNPTEUgTUVTU0FHRTogVGhlIHNldFZl
cnNpb24oKSBtZXRob2QgaXMgbm9uLXN0YW5kYXJkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSB0
aGUgInVwZ3JhZGVuZWVkZWQiIGV2ZW50IGluc3RlYWQuCiBUZXN0IEluZGV4ZWREQjogbXV0YXRp
bmcgcmVjb3JkcyB3aXRoIGEgci93IGN1cnNvciB1cGRhdGVzIGluZGV4ZXMgb24gdGhvc2UgcmVj
b3JkcwogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotaW5kZXhlZERCID0gc2VsZi5p
bmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwg
c2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7Ci0KLWluZGV4ZWREQi5vcGVuKG5h
bWUpCi1vcGVuU3VjY2VzcygpOgotZGIgPSBldmVudC50YXJnZXQucmVzdWx0CiBmaXJzdFZhbHVl
ID0gJ2hpJzsKIHNlY29uZFZhbHVlID0gJ2J5ZSc7CiBvYmplY3RTdG9yZUluZm8gPSBbCkBAIC0y
MiwxNSArMTYsMjEgQEAgb2JqZWN0U3RvcmVJbmZvID0gWwogICAgICAgICAgIGVudHJ5OiB7IGRh
dGE6IGZpcnN0VmFsdWUgfSB9LAogICAgIF07CiBpID0gMDsKKworaW5kZXhlZERCID0gc2VsZi5p
bmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwg
c2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CisKK2RibmFtZSA9ICJjdXJzb3It
dXBkYXRlLXVwZGF0ZXMtaW5kZXhlcy5odG1sIgoraW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRi
bmFtZSkKIGluZm8gPSBvYmplY3RTdG9yZUluZm9baV07Ci1yZXF1ZXN0ID0gZGIuc2V0VmVyc2lv
bignMScpCitpbmRleGVkREIub3BlbihkYm5hbWUpCiBzZXR1cE9iamVjdFN0b3JlQW5kQ3JlYXRl
SW5kZXgoKToKLURlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCitkYiA9IGV2ZW50LnRhcmdldC5y
ZXN1bHQKIG9iamVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoaW5mby5uYW1lLCBpbmZv
Lm9wdGlvbnMpOwogaW5kZXggPSBvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgnZGF0YV9pbmRleCcs
ICdkYXRhJywgeyB1bmlxdWU6IGZhbHNlIH0pOwogdW5pcXVlSW5kZXggPSBvYmplY3RTdG9yZS5j
cmVhdGVJbmRleCgndW5pcXVlX2RhdGFfaW5kZXgnLCAnZGF0YScsIHsgdW5pcXVlOiB0cnVlIH0p
OwogcmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZChpbmZvLmVudHJ5LCBpbmZvLmtleSk7CiB0cmFu
cyA9IGRiLnRyYW5zYWN0aW9uKGluZm8ubmFtZSwgJ3JlYWR3cml0ZScpCit0cmFucy5vbmNvbXBs
ZXRlID0gdGVzdAogb2JqZWN0U3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZShpbmZvLm5hbWUpCiBp
bmRleCA9IG9iamVjdFN0b3JlLmluZGV4KCdkYXRhX2luZGV4JykKIHVuaXF1ZUluZGV4ID0gb2Jq
ZWN0U3RvcmUuaW5kZXgoJ3VuaXF1ZV9kYXRhX2luZGV4JykKQEAgLTQ0LDE1ICs0NCwyMSBAQCBQ
QVNTIHZhbHVlLmRhdGEgaXMgZXZlbnQudGFyZ2V0LnJlc3VsdC5kYXRhCiByZXF1ZXN0ID0gdW5p
cXVlSW5kZXguZ2V0KHNlY29uZFZhbHVlKTsKIFBBU1MgdmFsdWUuZGF0YSBpcyBldmVudC50YXJn
ZXQucmVzdWx0LmRhdGEKIGkrKzsKK2RiLmNsb3NlKCkKK2luZGV4ZWREQiA9IHNlbGYuaW5kZXhl
ZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYu
bXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOworCitkYm5hbWUgPSAiY3Vyc29yLXVwZGF0
ZS11cGRhdGVzLWluZGV4ZXMuaHRtbCIKK2luZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUp
CiBpbmZvID0gb2JqZWN0U3RvcmVJbmZvW2ldOwotcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEn
KQoraW5kZXhlZERCLm9wZW4oZGJuYW1lKQogc2V0dXBPYmplY3RTdG9yZUFuZENyZWF0ZUluZGV4
KCk6Ci1EZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgorZGIgPSBldmVudC50YXJnZXQucmVzdWx0
CiBvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKGluZm8ubmFtZSwgaW5mby5vcHRp
b25zKTsKIGluZGV4ID0gb2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoJ2RhdGFfaW5kZXgnLCAnZGF0
YScsIHsgdW5pcXVlOiBmYWxzZSB9KTsKIHVuaXF1ZUluZGV4ID0gb2JqZWN0U3RvcmUuY3JlYXRl
SW5kZXgoJ3VuaXF1ZV9kYXRhX2luZGV4JywgJ2RhdGEnLCB7IHVuaXF1ZTogdHJ1ZSB9KTsKIHJl
cXVlc3QgPSBvYmplY3RTdG9yZS5hZGQoaW5mby5lbnRyeSk7CiB0cmFucyA9IGRiLnRyYW5zYWN0
aW9uKGluZm8ubmFtZSwgJ3JlYWR3cml0ZScpCit0cmFucy5vbmNvbXBsZXRlID0gdGVzdAogb2Jq
ZWN0U3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZShpbmZvLm5hbWUpCiBpbmRleCA9IG9iamVjdFN0
b3JlLmluZGV4KCdkYXRhX2luZGV4JykKIHVuaXF1ZUluZGV4ID0gb2JqZWN0U3RvcmUuaW5kZXgo
J3VuaXF1ZV9kYXRhX2luZGV4JykKQEAgLTY2LDE1ICs3MiwyMSBAQCBQQVNTIHZhbHVlLmRhdGEg
aXMgZXZlbnQudGFyZ2V0LnJlc3VsdC5kYXRhCiByZXF1ZXN0ID0gdW5pcXVlSW5kZXguZ2V0KHNl
Y29uZFZhbHVlKTsKIFBBU1MgdmFsdWUuZGF0YSBpcyBldmVudC50YXJnZXQucmVzdWx0LmRhdGEK
IGkrKzsKK2RiLmNsb3NlKCkKK2luZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Vi
a2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwg
c2VsZi5PSW5kZXhlZERCOworCitkYm5hbWUgPSAiY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4
ZXMuaHRtbCIKK2luZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpCiBpbmZvID0gb2JqZWN0
U3RvcmVJbmZvW2ldOwotcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQoraW5kZXhlZERCLm9w
ZW4oZGJuYW1lKQogc2V0dXBPYmplY3RTdG9yZUFuZENyZWF0ZUluZGV4KCk6Ci1EZWxldGVkIGFs
bCBvYmplY3Qgc3RvcmVzLgorZGIgPSBldmVudC50YXJnZXQucmVzdWx0CiBvYmplY3RTdG9yZSA9
IGRiLmNyZWF0ZU9iamVjdFN0b3JlKGluZm8ubmFtZSwgaW5mby5vcHRpb25zKTsKIGluZGV4ID0g
b2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoJ2RhdGFfaW5kZXgnLCAnZGF0YScsIHsgdW5pcXVlOiBm
YWxzZSB9KTsKIHVuaXF1ZUluZGV4ID0gb2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoJ3VuaXF1ZV9k
YXRhX2luZGV4JywgJ2RhdGEnLCB7IHVuaXF1ZTogdHJ1ZSB9KTsKIHJlcXVlc3QgPSBvYmplY3RT
dG9yZS5hZGQoaW5mby5lbnRyeSk7CiB0cmFucyA9IGRiLnRyYW5zYWN0aW9uKGluZm8ubmFtZSwg
J3JlYWR3cml0ZScpCit0cmFucy5vbmNvbXBsZXRlID0gdGVzdAogb2JqZWN0U3RvcmUgPSB0cmFu
cy5vYmplY3RTdG9yZShpbmZvLm5hbWUpCiBpbmRleCA9IG9iamVjdFN0b3JlLmluZGV4KCdkYXRh
X2luZGV4JykKIHVuaXF1ZUluZGV4ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ3VuaXF1ZV9kYXRhX2lu
ZGV4JykKQEAgLTg4LDE1ICsxMDAsMjEgQEAgUEFTUyB2YWx1ZS5kYXRhIGlzIGV2ZW50LnRhcmdl
dC5yZXN1bHQuZGF0YQogcmVxdWVzdCA9IHVuaXF1ZUluZGV4LmdldChzZWNvbmRWYWx1ZSk7CiBQ
QVNTIHZhbHVlLmRhdGEgaXMgZXZlbnQudGFyZ2V0LnJlc3VsdC5kYXRhCiBpKys7CitkYi5jbG9z
ZSgpCitpbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8
fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWRE
QjsKKworZGJuYW1lID0gImN1cnNvci11cGRhdGUtdXBkYXRlcy1pbmRleGVzLmh0bWwiCitpbmRl
eGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKQogaW5mbyA9IG9iamVjdFN0b3JlSW5mb1tpXTsK
LXJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykKK2luZGV4ZWREQi5vcGVuKGRibmFtZSkKIHNl
dHVwT2JqZWN0U3RvcmVBbmRDcmVhdGVJbmRleCgpOgotRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jl
cy4KK2RiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAogb2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmpl
Y3RTdG9yZShpbmZvLm5hbWUsIGluZm8ub3B0aW9ucyk7CiBpbmRleCA9IG9iamVjdFN0b3JlLmNy
ZWF0ZUluZGV4KCdkYXRhX2luZGV4JywgJ2RhdGEnLCB7IHVuaXF1ZTogZmFsc2UgfSk7CiB1bmlx
dWVJbmRleCA9IG9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCd1bmlxdWVfZGF0YV9pbmRleCcsICdk
YXRhJywgeyB1bmlxdWU6IHRydWUgfSk7CiByZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKGluZm8u
ZW50cnkpOwogdHJhbnMgPSBkYi50cmFuc2FjdGlvbihpbmZvLm5hbWUsICdyZWFkd3JpdGUnKQor
dHJhbnMub25jb21wbGV0ZSA9IHRlc3QKIG9iamVjdFN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUo
aW5mby5uYW1lKQogaW5kZXggPSBvYmplY3RTdG9yZS5pbmRleCgnZGF0YV9pbmRleCcpCiB1bmlx
dWVJbmRleCA9IG9iamVjdFN0b3JlLmluZGV4KCd1bmlxdWVfZGF0YV9pbmRleCcpCkBAIC0xMTAs
NiArMTI4LDcgQEAgUEFTUyB2YWx1ZS5kYXRhIGlzIGV2ZW50LnRhcmdldC5yZXN1bHQuZGF0YQog
cmVxdWVzdCA9IHVuaXF1ZUluZGV4LmdldChzZWNvbmRWYWx1ZSk7CiBQQVNTIHZhbHVlLmRhdGEg
aXMgZXZlbnQudGFyZ2V0LnJlc3VsdC5kYXRhCiBpKys7CitkYi5jbG9zZSgpCiBQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZXZlbnQtc291cmNlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZXZlbnQtc291cmNlLWV4
cGVjdGVkLnR4dAppbmRleCBjODVmMmMwOTEwZjRjMWQzMjQ5YzdjNGNkMzhiMGExODEzNDExM2Rh
Li5kODcwYzI4ZGFjYzc1YmRhNzcwZGU3ZDUyMGM2NGM5N2U0YWE2Y2I2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2V2ZW50LXNvdXJjZS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9ldmVudC1z
b3VyY2UtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBUaGUg
c2V0VmVyc2lvbigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4g
VXNlIHRoZSAidXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4KIFRlc3QgSW5kZXhlZERCJ3Mg
ZXZlbnQudGFyZ2V0LnNvdXJjZSBpbiBzdWNjZXNzIGNhbGxiYWNrcwogCiBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCkBAIC02LDE0ICs1LDExIEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAK
IGluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNl
bGYubW96SW5kZXhlZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwog
Ci1pbmRleGVkREIub3BlbihuYW1lKQorZGJuYW1lID0gImV2ZW50LXNvdXJjZS5odG1sIgoraW5k
ZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKK2luZGV4ZWREQi5vcGVuKGRibmFtZSkKIHNv
dXJjZSA9IGV2ZW50LnRhcmdldC5zb3VyY2U7CiBQQVNTIHNvdXJjZSBpcyBudWxsCi1kYiA9IGV2
ZW50LnRhcmdldC5yZXN1bHQKLXJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykKLXNvdXJjZSA9
IGV2ZW50LnRhcmdldC5zb3VyY2U7Ci1QQVNTIHNvdXJjZSBpcyBkYgotRGVsZXRlZCBhbGwgb2Jq
ZWN0IHN0b3Jlcy4KIG9iamVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUob2JqZWN0U3Rv
cmVOYW1lLCB7IGF1dG9JbmNyZW1lbnQ6IHRydWUgfSk7CiByZXF1ZXN0ID0gb2JqZWN0U3RvcmUu
YWRkKHt9KTsKIHNvdXJjZSA9IGV2ZW50LnRhcmdldC5zb3VyY2U7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2dsb2JhbC1kYXRhLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZ2xvYmFsLWRhdGEtZXhw
ZWN0ZWQudHh0CmluZGV4IDcwYWNlMGUwYmFiMzRmODNjODMxZGZiYjQxMGJhYmIzZDQ1MjJhYTAu
LjQ5OWZiZjcxOTMyZTgyMDY0OGNkZTZjNTM5MzYzYjFhZTFjMWM5MDQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZ2xvYmFsLWRhdGEtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZ2xvYmFsLWRh
dGEtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBUaGUgc2V0
VmVyc2lvbigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNl
IHRoZSAidXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4KIFRlc3QgSW5kZXhlZERCJ3Mgb3Bl
bmluZyBEQiBtb3JlIHRoYW4gb25jZQogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCkBAIC02
LDEyICs1LDExIEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIGluZGV4ZWREQiA9IHNlbGYu
aW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8
IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwogCi1pbmRleGVkREIub3Blbihu
YW1lKQotZGIxID0gZXZlbnQudGFyZ2V0LnJlc3VsdAotcmVxdWVzdCA9IGRiMS5zZXRWZXJzaW9u
KCcxJykKLURlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCitkYm5hbWUgPSAiZ2xvYmFsLWRhdGEu
aHRtbCIKK2luZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpCitpbmRleGVkREIub3Blbihk
Ym5hbWUpCiBkYjEuY3JlYXRlT2JqZWN0U3RvcmUob2JqZWN0U3RvcmVOYW1lLCBvYmplY3RTdG9y
ZU9wdGlvbnMpOwotaW5kZXhlZERCLm9wZW4obmFtZSk7CitpbmRleGVkREIub3BlbihkYm5hbWUp
OwogZGIyID0gZXZlbnQudGFyZ2V0LnJlc3VsdAogUEFTUyBkYjEgIT09IGRiMiBpcyB0cnVlCiBQ
QVNTIGRiMS5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCBpcyAxCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJlbWVudHMtcHV0LW51bGwt
a2V5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
a2V5LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1rZXktZXhwZWN0ZWQudHh0CmluZGV4IGQyZTdjZTBk
ZDFkNTVmY2RjNGJhNjgzNWQ5OWRkNDEwYTgwOWEyOWEuLjI3MDFiMGM0NzA1ODRkOGEwZTUxNmM2
ODU0ZGNmZGFkOWVjMTFhOTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1rZXktZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50
cy1wdXQtbnVsbC1rZXktZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAotQ09OU09MRSBNRVNT
QUdFOiBUaGUgc2V0VmVyc2lvbigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQgYW5kIHdpbGwgYmUg
cmVtb3ZlZC4gVXNlIHRoZSAidXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4KIFRlc3QgSW5k
ZXhlZERCJ3MgYmVoYXZpb3IgcHV0KClpbmcgd2l0aCBudWxsIGtleQogCiBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCkBAIC02LDEwICs1LDkgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAog
aW5kZXhlZERCID0gc2VsZi5pbmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2Vs
Zi5tb3pJbmRleGVkREIgfHwgc2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CiAK
LWluZGV4ZWREQi5vcGVuKG5hbWUpCi1kYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKLXJlcXVlc3Qg
PSBkYi5zZXRWZXJzaW9uKCcxJykKLURlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCitkYm5hbWUg
PSAia2V5LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1rZXkuaHRtbCIKK2luZGV4ZWREQi5kZWxldGVE
YXRhYmFzZShkYm5hbWUpCitpbmRleGVkREIub3BlbihkYm5hbWUpCiBvYmplY3RTdG9yZSA9IGRi
LmNyZWF0ZU9iamVjdFN0b3JlKCdiYXInKTsKIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBvYmpl
Y3RTdG9yZS5wdXQoe30sIG51bGwpOwogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2RkLXJlc3VsdC1v
cmRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxh
L29kZC1yZXN1bHQtb3JkZXItZXhwZWN0ZWQudHh0CmluZGV4IDk0N2FhNTQwMDAwOWQxNGIzODMx
MzQwZjNkODg4MmFkMDllZWVhZjEuLjhlZmM0ZjdlNzkzNWY4MGFmY2EzZGM4MWNhZTFmMTVkMDVi
NmJmYzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
b2RkLXJlc3VsdC1vcmRlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0LW9yZGVyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDMgQEAKLUNPTlNPTEUgTUVTU0FHRTogVGhlIHNldFZlcnNpb24oKSBtZXRob2QgaXMgbm9uLXN0
YW5kYXJkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSB0aGUgInVwZ3JhZGVuZWVkZWQiIGV2ZW50
IGluc3RlYWQuCiBUZXN0IEluZGV4ZWREQjogcmVxdWVzdCByZXN1bHQgcGVyc2lzdHMgaW4gc2V0
VGltZW91dCBjYWxsYmFjawogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCkBAIC02LDE4ICs1
LDE2IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIGluZGV4ZWREQiA9IHNlbGYuaW5kZXhl
ZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYu
bXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwogCi1pbmRleGVkREIub3BlbihuYW1lKQor
ZGJuYW1lID0gIm9kZC1yZXN1bHQtb3JkZXIuaHRtbCIKK2luZGV4ZWREQi5kZWxldGVEYXRhYmFz
ZShkYm5hbWUpCitpbmRleGVkREIub3BlbihkYm5hbWUpCitvYmplY3RTdG9yZSA9IGRiLmNyZWF0
ZU9iamVjdFN0b3JlKCdmb28nLCB7IGtleVBhdGg6ICdrZXknLCBhdXRvSW5jcmVtZW50OiB0cnVl
IH0pOworaW5kZXggPSBvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgnZm9vJywgJ2luZGV4Jyk7CiBv
cGVuU3VjY2VzcygpOgogZGIgPSBudWxsOwogZGIgPSByZXF1ZXN0LnJlc3VsdDsKIGNoZWNrRGF0
YWJhc2VUeXBlKCk6CiBQQVNTIGRiIGluc3RhbmNlb2YgSURCRGF0YWJhc2UgaXMgdHJ1ZQotcmVx
dWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQotc2V0dXBPYmplY3RTdG9yZSgpOgotRGVsZXRlZCBh
bGwgb2JqZWN0IHN0b3Jlcy4KLW9iamVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2Zv
bycsIHsga2V5UGF0aDogJ2tleScsIGF1dG9JbmNyZW1lbnQ6IHRydWUgfSk7Ci1pbmRleCA9IG9i
amVjdFN0b3JlLmNyZWF0ZUluZGV4KCdmb28nLCAnaW5kZXgnKTsKLWV2ZW50LnRhcmdldC50cmFu
c2FjdGlvbi5vbmNvbXBsZXRlID0gYWRkUmVjb3JkOwogYWRkUmVjb3JkKCk6CiBvYmplY3RTdG9y
ZSA9IGRiLnRyYW5zYWN0aW9uKCdmb28nLCAncmVhZHdyaXRlJykub2JqZWN0U3RvcmUoJ2Zvbycp
OwogZGF0YSA9IHsga2V5OiA1LCBpbmRleDogMTAgfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVtb3ZlLW9iamVjdHN0b3JlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVtb3ZlLW9iamVjdHN0
b3JlLWV4cGVjdGVkLnR4dAppbmRleCBiMjQ4Mjg2MzNjOGJlYjFmMWU0ZDUwODE3YjUzZjRiYzM2
ZGYwN2Q4Li40OTE5ZjBmZmIyYzk3YjUyMjQ4MTc4YmZmZTg1OWQ1MDQ4N2Y5ODZmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlbW92ZS1vYmplY3Rz
dG9yZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96
aWxsYS9yZW1vdmUtb2JqZWN0c3RvcmUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAotQ09O
U09MRSBNRVNTQUdFOiBUaGUgc2V0VmVyc2lvbigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQgYW5k
IHdpbGwgYmUgcmVtb3ZlZC4gVXNlIHRoZSAidXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4K
IFRlc3QgSW5kZXhlZERCIGRlbGV0aW5nIGFuIG9iamVjdCBzdG9yZQogCiBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCkBAIC02LDExICs1LDEwIEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAK
IGluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNl
bGYubW96SW5kZXhlZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwog
Ci1pbmRleGVkREIub3BlbihuYW1lKQotZGIgPSBldmVudC50YXJnZXQucmVzdWx0CitkYm5hbWUg
PSAicmVtb3ZlLW9iamVjdHN0b3JlLmh0bWwiCitpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJu
YW1lKQoraW5kZXhlZERCLm9wZW4oZGJuYW1lKQogUEFTUyBkYi5vYmplY3RTdG9yZU5hbWVzLmxl
bmd0aCBpcyAwCi1yZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMScpCi1EZWxldGVkIGFsbCBvYmpl
Y3Qgc3RvcmVzLgogb2JqZWN0U3RvcmVOYW1lID0gJ09iamVjdHMnOwogb2JqZWN0U3RvcmUgPSBk
Yi5jcmVhdGVPYmplY3RTdG9yZShvYmplY3RTdG9yZU5hbWUsIHsga2V5UGF0aDogJ2ZvbycgfSk7
CiByZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKHtmb286IGl9KTsKQEAgLTExNSw2ICsxMTMsOCBA
QCByZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKHtmb286IGl9KTsKIHJlcXVlc3QgPSBvYmplY3RT
dG9yZS5hZGQoe2ZvbzogaX0pOwogUEFTUyBkYi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCBpcyAx
CiBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMuaXRlbSgwKSBpcyBvYmplY3RTdG9yZU5hbWUKK2Ri
LmNsb3NlKCkKK3JlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIpCiBkYi5kZWxldGVP
YmplY3RTdG9yZShvYmplY3RTdG9yZS5uYW1lKTsKIFBBU1MgZGIub2JqZWN0U3RvcmVOYW1lcy5s
ZW5ndGggaXMgMAogb2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZShvYmplY3RTdG9y
ZU5hbWUsIHsga2V5UGF0aDogJ2ZvbycgfSk7CkBAIC0xMjQsNyArMTI0LDggQEAgcmVxdWVzdCA9
IG9iamVjdFN0b3JlLm9wZW5DdXJzb3IoKTsKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyBu
dWxsCiBkYi5kZWxldGVPYmplY3RTdG9yZShvYmplY3RTdG9yZS5uYW1lKTsKIFBBU1MgZGIub2Jq
ZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMAotcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzMnKTsK
K2RiLmNsb3NlKCkKK3JlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDMpCiBvYmplY3RT
dG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSwgeyBrZXlQYXRoOiAn
Zm9vJyB9KTsKIHJlcXVlc3QgPSBvYmplY3RTdG9yZS5hZGQoe2ZvbzonYmFyJ30pOwogZGIuZGVs
ZXRlT2JqZWN0U3RvcmUob2JqZWN0U3RvcmVOYW1lKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVzb3VyY2VzL2N1cnNvci11cGRhdGUtdXBkYXRl
cy1pbmRleGVzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNv
dXJjZXMvY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4ZXMuanMKaW5kZXggYzliOTM0MTEwOTI1
NTQzMTliYjdhNzY1M2Q5ZjFlNTFkN2E2YzRhNy4uNDA4YzA2MWE2MDBlMDk0MGM5NTVjZjI1NDBm
ZTk3Y2IzYjgwODA3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9yZXNvdXJjZXMvY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4ZXMuanMKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvY3Vyc29yLXVw
ZGF0ZS11cGRhdGVzLWluZGV4ZXMuanMKQEAgLTExLDIzICsxMSw5IEBAIGlmICh0aGlzLmltcG9y
dFNjcmlwdHMpIHsKIAogZGVzY3JpcHRpb24oIlRlc3QgSW5kZXhlZERCOiBtdXRhdGluZyByZWNv
cmRzIHdpdGggYSByL3cgY3Vyc29yIHVwZGF0ZXMgaW5kZXhlcyBvbiB0aG9zZSByZWNvcmRzIik7
CiAKLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7Ci0KLSAg
ICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExv
ZygiaW5kZXhlZERCLm9wZW4obmFtZSkiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5T
dWNjZXNzOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwot
fQotCi1mdW5jdGlvbiBvcGVuU3VjY2VzcygpCi17Ci0gICAgZGVidWcoIm9wZW5TdWNjZXNzKCk6
Iik7Ci0gICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKLSAg
ICBmaXJzdFZhbHVlID0gZXZhbEFuZExvZygiZmlyc3RWYWx1ZSA9ICdoaSc7Iik7Ci0gICAgc2Vj
b25kVmFsdWUgPSBldmFsQW5kTG9nKCJzZWNvbmRWYWx1ZSA9ICdieWUnOyIpOwotICAgIG9iamVj
dFN0b3JlSW5mbyA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlSW5mbyA9IFtcbiIgKworZmlyc3RW
YWx1ZSA9IGV2YWxBbmRMb2coImZpcnN0VmFsdWUgPSAnaGknOyIpOworc2Vjb25kVmFsdWUgPSBl
dmFsQW5kTG9nKCJzZWNvbmRWYWx1ZSA9ICdieWUnOyIpOworb2JqZWN0U3RvcmVJbmZvID0gZXZh
bEFuZExvZygib2JqZWN0U3RvcmVJbmZvID0gW1xuIiArCiAiICAgICAgICB7IG5hbWU6ICcxJywg
b3B0aW9uczoge30sIGtleTogMSxcbiIgKwogIiAgICAgICAgICBlbnRyeTogeyBkYXRhOiBmaXJz
dFZhbHVlIH0gfSxcbiIgKwogIiAgICAgICAgeyBuYW1lOiAnMicsIG9wdGlvbnM6IHsga2V5UGF0
aDogJ2ZvbycgfSxcbiIgKwpAQCAtMzcsMTcgKzIzLDE2IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNz
KCkKICIgICAgICAgIHsgbmFtZTogJzQnLCBvcHRpb25zOiB7IGtleVBhdGg6ICdmb28nLCBhdXRv
SW5jcmVtZW50OiB0cnVlIH0sXG4iICsKICIgICAgICAgICAgZW50cnk6IHsgZGF0YTogZmlyc3RW
YWx1ZSB9IH0sXG4iICsKICIgICAgXTsiKTsKLSAgICBpID0gZXZhbEFuZExvZygiaSA9IDA7Iik7
Ci0gICAgc2V0VmVyc2lvbigpOwotfQoraSA9IGV2YWxBbmRMb2coImkgPSAwOyIpOworZGVidWco
IiIpOworCit0ZXN0KCk7CiAKLWZ1bmN0aW9uIHNldFZlcnNpb24oKQorZnVuY3Rpb24gdGVzdCgp
CiB7CiAgICAgaWYgKGkgPCBvYmplY3RTdG9yZUluZm8ubGVuZ3RoKSB7CisgICAgICAgIGluZGV4
ZWREQlRlc3Qoc2V0dXBPYmplY3RTdG9yZUFuZENyZWF0ZUluZGV4QW5kQWRkLCBvcGVuQ3Vyc29y
KTsKICAgICAgICAgaW5mbyA9IGV2YWxBbmRMb2coImluZm8gPSBvYmplY3RTdG9yZUluZm9baV07
Iik7Ci0gICAgICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIuc2V0VmVyc2lv
bignMScpIik7Ci0gICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gc2V0dXBPYmplY3RTdG9yZUFu
ZENyZWF0ZUluZGV4QW5kQWRkOwotICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVk
RXJyb3JDYWxsYmFjazsKICAgICB9IGVsc2UgewogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAg
ICB9CkBAIC01NSw5ICs0MCw4IEBAIGZ1bmN0aW9uIHNldFZlcnNpb24oKQogCiBmdW5jdGlvbiBz
ZXR1cE9iamVjdFN0b3JlQW5kQ3JlYXRlSW5kZXhBbmRBZGQoKQogewotICAgIHZhciB0cmFuc2Fj
dGlvbiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CiAgICAgZGVidWcoInNldHVwT2JqZWN0U3RvcmVB
bmRDcmVhdGVJbmRleCgpOiIpOwotICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CisgICAg
ZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAKICAgICBvYmplY3RTdG9y
ZSA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoaW5mby5u
YW1lLCBpbmZvLm9wdGlvbnMpOyIpOwogCkBAIC02OSwxOCArNTMsMTYgQEAgZnVuY3Rpb24gc2V0
dXBPYmplY3RTdG9yZUFuZENyZWF0ZUluZGV4QW5kQWRkKCkKICAgICAgICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5hZGQoaW5mby5lbnRyeSk7Iik7CiAgICAg
fQogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotCi0gICAg
dHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgZXZhbEFuZExv
ZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihpbmZvLm5hbWUsICdyZWFkd3JpdGUnKSIpOwotICAg
ICAgICBldmFsQW5kTG9nKCJvYmplY3RTdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKGluZm8ubmFt
ZSkiKTsKLSAgICAgICAgZXZhbEFuZExvZygiaW5kZXggPSBvYmplY3RTdG9yZS5pbmRleCgnZGF0
YV9pbmRleCcpIik7Ci0gICAgICAgIGV2YWxBbmRMb2coInVuaXF1ZUluZGV4ID0gb2JqZWN0U3Rv
cmUuaW5kZXgoJ3VuaXF1ZV9kYXRhX2luZGV4JykiKTsKLSAgICAgICAgb3BlbkN1cnNvcigpOwot
ICAgIH07CiB9CiAKIGZ1bmN0aW9uIG9wZW5DdXJzb3IoKQogeworICAgIGV2YWxBbmRMb2coInRy
YW5zID0gZGIudHJhbnNhY3Rpb24oaW5mby5uYW1lLCAncmVhZHdyaXRlJykiKTsKKyAgICBldmFs
QW5kTG9nKCJ0cmFucy5vbmNvbXBsZXRlID0gdGVzdCIpOworICAgIHRyYW5zLm9uYWJvcnQgPSB1
bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKKyAgICBldmFsQW5kTG9nKCJvYmplY3RTdG9yZSA9IHRy
YW5zLm9iamVjdFN0b3JlKGluZm8ubmFtZSkiKTsKKyAgICBldmFsQW5kTG9nKCJpbmRleCA9IG9i
amVjdFN0b3JlLmluZGV4KCdkYXRhX2luZGV4JykiKTsKKyAgICBldmFsQW5kTG9nKCJ1bmlxdWVJ
bmRleCA9IG9iamVjdFN0b3JlLmluZGV4KCd1bmlxdWVfZGF0YV9pbmRleCcpIik7CiAgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5vcGVuQ3Vyc29yKCk7Iik7
CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSB1cGRhdGVDdXJzb3I7CiAgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CkBAIC0xMTUsNyArOTcsNSBAQCBmdW5jdGlv
biBjaGVja0luZGV4MigpCiB7CiAgICAgc2hvdWxkQmUoInZhbHVlLmRhdGEiLCAiZXZlbnQudGFy
Z2V0LnJlc3VsdC5kYXRhIik7CiAgICAgZXZhbEFuZExvZygiaSsrOyIpOwotICAgIHNldFZlcnNp
b24oKTsKKyAgICBldmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7CiB9Ci0KLXRlc3QoKTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9ldmVudC1zb3VyY2UuanMgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9ldmVudC1zb3VyY2UuanMKaW5kZXgg
MTA2ZTc4NTRjNTdmNGJhZjM5Y2Y0YmE5N2NmZDFmMTJiMjg3ZDMyOS4uODFkZWNkODczZmQ1ZWQw
NjQxZDI4OWEyNDEyMGEzYWNkNTEwOGE3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvZXZlbnQtc291cmNlLmpzCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVzb3VyY2VzL2V2ZW50LXNvdXJjZS5q
cwpAQCAtMTEsMzQgKzExLDEzIEBAIGlmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKIAogZGVzY3Jp
cHRpb24oIlRlc3QgSW5kZXhlZERCJ3MgZXZlbnQudGFyZ2V0LnNvdXJjZSBpbiBzdWNjZXNzIGNh
bGxiYWNrcyIpOwogCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICByZW1vdmVWZW5kb3JQcmVmaXhl
cygpOwotCi0gICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7Ci0gICAgcmVxdWVzdCA9
IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBvcGVuU3VjY2VzczsKLSAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKLX0KLQotZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQoraW5kZXhlZERCVGVzdChwcmVw
YXJlRGF0YWJhc2UsIGZpbmlzaEpTVGVzdCk7CitmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQog
eworICAgIGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKICAgICBzb3VyY2UgPSBldmFsQW5kTG9n
KCJzb3VyY2UgPSBldmVudC50YXJnZXQuc291cmNlOyIpOwogICAgIHNob3VsZEJlTnVsbCgic291
cmNlIik7CiAKLSAgICBkYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIp
OwotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMScp
Iik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBjbGVhbkRhdGFiYXNlOwotICAgIHJlcXVlc3Qu
b25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBjbGVhbkRh
dGFiYXNlKCkKLXsKLSAgICBzb3VyY2UgPSBldmFsQW5kTG9nKCJzb3VyY2UgPSBldmVudC50YXJn
ZXQuc291cmNlOyIpOwotICAgIHNob3VsZEJlKCJzb3VyY2UiLCAiZGIiKTsKLQotICAgIGRlbGV0
ZUFsbE9iamVjdFN0b3JlcyhkYik7Ci0KICAgICBvYmplY3RTdG9yZU5hbWUgPSAiT2JqZWN0cyI7
CiAgICAgb2JqZWN0U3RvcmUgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9i
amVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSwgeyBhdXRvSW5jcmVtZW50OiB0cnVlIH0pOyIpOwog
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKHt9KTsi
KTsKQEAgLTUwLDcgKzI5LDQgQEAgZnVuY3Rpb24gYXJlV2VEb25lWWV0KCkKIHsKICAgICBzb3Vy
Y2UgPSBldmFsQW5kTG9nKCJzb3VyY2UgPSBldmVudC50YXJnZXQuc291cmNlOyIpOwogICAgIHNo
b3VsZEJlKCJzb3VyY2UiLCAib2JqZWN0U3RvcmUiKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKIH0K
LQotdGVzdCgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVzb3VyY2VzL2dsb2JhbC1kYXRhLmpz
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvZ2xvYmFs
LWRhdGEuanMKaW5kZXggMDBmZGNhMTE2ZDY1MmI2MWNhNzhmYWU4ZGU0NTVhMjdkODVmYTAyOC4u
NmQ5Nzg4YmRhZWE4YjFkMmI3YTQ0MTEwMzFmNjY1NDRiNmI3NmNiMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvZ2xvYmFsLWRhdGEu
anMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMv
Z2xvYmFsLWRhdGEuanMKQEAgLTExLDM0ICsxMSwxNiBAQCBpZiAodGhpcy5pbXBvcnRTY3JpcHRz
KSB7CiAKIGRlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQidzIG9wZW5pbmcgREIgbW9yZSB0aGFu
IG9uY2UiKTsKIAotZnVuY3Rpb24gdGVzdCgpCitpbmRleGVkREJUZXN0KHByZXBhcmVEYXRhYmFz
ZSk7CitmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQogewotICAgIHJlbW92ZVZlbmRvclByZWZp
eGVzKCk7Ci0KLSAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKLSAgICByZXF1ZXN0
ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSkiKTsKLSAgICByZXF1ZXN0Lm9uc3Vj
Y2VzcyA9IG9wZW5TdWNjZXNzOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBvcGVuU3VjY2VzcygpCi17Ci0gICAgZGIxID0gZXZh
bEFuZExvZygiZGIxID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwotCi0gICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coInJlcXVlc3QgPSBkYjEuc2V0VmVyc2lvbignMScpIik7Ci0gICAgcmVxdWVzdC5v
bnN1Y2Nlc3MgPSBjbGVhbkRhdGFiYXNlOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0
ZWRFcnJvckNhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBjbGVhbkRhdGFiYXNlKCkKLXsKLSAgICBk
ZWxldGVBbGxPYmplY3RTdG9yZXMoZGIxKTsKKyAgICBkYjEgPSBldmVudC50YXJnZXQucmVzdWx0
OwogCiAgICAgb2JqZWN0U3RvcmVOYW1lID0gIk9iamVjdHMiOwogICAgIG9iamVjdFN0b3JlT3B0
aW9ucyA9IHsga2V5UGF0aDogJ2lkJywgYXV0b0luY3JlbWVudDogdHJ1ZSB9OwogICAgIGV2YWxB
bmRMb2coImRiMS5jcmVhdGVPYmplY3RTdG9yZShvYmplY3RTdG9yZU5hbWUsIG9iamVjdFN0b3Jl
T3B0aW9ucyk7Iik7CiAKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4o
bmFtZSk7Iik7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKGRibmFt
ZSk7Iik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuMlN1Y2Nlc3M7CiAgICAgcmVxdWVz
dC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiB9CkBAIC02NCw1ICs0NiwzIEBA
IGZ1bmN0aW9uIG9wZW4yU3VjY2VzcygpCiAKICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KLQotdGVz
dCgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVzb3VyY2VzL2tleS1yZXF1aXJlbWVudHMtcHV0
LW51bGwta2V5LmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNv
dXJjZXMva2V5LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1rZXkuanMKaW5kZXggOGUwZTc0N2JiZTE0
ZGU0NzhhZjEyMWEwYTUzZWFlZjIxMWRiZGFhZi4uOWIzMmZmZWE3ZjA2MDY1MmNjNzg1ZTYwMmYy
NDY0NTI2NDJmMGQxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9yZXNvdXJjZXMva2V5LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1rZXkuanMKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMva2V5LXJlcXVp
cmVtZW50cy1wdXQtbnVsbC1rZXkuanMKQEAgLTExLDMxICsxMSwxMSBAQCBpZiAodGhpcy5pbXBv
cnRTY3JpcHRzKSB7CiAKIGRlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQidzIGJlaGF2aW9yIHB1
dCgpaW5nIHdpdGggbnVsbCBrZXkiKTsKIAotZnVuY3Rpb24gdGVzdCgpCitpbmRleGVkREJUZXN0
KHByZXBhcmVEYXRhYmFzZSk7CitmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQogewotICAgIHJl
bW92ZVZlbmRvclByZWZpeGVzKCk7Ci0KLSAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFt
ZTsKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSkiKTsKLSAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwotICAgIHJlcXVlc3Qub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBvcGVuU3VjY2VzcygpCi17
Ci0gICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKLQotICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMScpIik7Ci0g
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBjbGVhbkRhdGFiYXNlOwotICAgIHJlcXVlc3Qub25lcnJv
ciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBjbGVhbkRhdGFiYXNl
KCkKLXsKLSAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOworICAgIGRiID0gZXZlbnQudGFy
Z2V0LnJlc3VsdDsKICAgICBvYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlID0g
ZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2JhcicpOyIpOwogICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRp
b24oIm9iamVjdFN0b3JlLnB1dCh7fSwgbnVsbCk7IiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLkRB
VEFfRVJSIik7CiAgICAgZmluaXNoSlNUZXN0KCk7CiB9Ci0KLXRlc3QoKTsKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL3Jlc291cmNlcy9vZGQtcmVzdWx0LW9yZGVyLmpzIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvb2RkLXJlc3VsdC1vcmRlci5qcwppbmRl
eCAzNmY4NWNiNGIyN2RiMzgzM2IzN2U2ZTk2Y2VlM2UyNmQwMDc1NjhlLi41NDdjYTZkYmUzMTk2
N2JiMTI2ZTQyZDY1YmI0MWE1NmFmM2EyMGM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9vZGQtcmVzdWx0LW9yZGVyLmpzCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVzb3VyY2VzL29kZC1yZXN1
bHQtb3JkZXIuanMKQEAgLTExLDE0ICsxMSwxMyBAQCBpZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7
CiAKIGRlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQjogcmVxdWVzdCByZXN1bHQgcGVyc2lzdHMg
aW4gc2V0VGltZW91dCBjYWxsYmFjayIpOwogCi1mdW5jdGlvbiB0ZXN0KCkKK2luZGV4ZWREQlRl
c3QocHJlcGFyZURhdGFiYXNlLCBvcGVuU3VjY2Vzcyk7CitmdW5jdGlvbiBwcmVwYXJlRGF0YWJh
c2UoKQogewotICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7Ci0KLSAgICBuYW1lID0gc2VsZi5s
b2NhdGlvbi5wYXRobmFtZTsKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9w
ZW4obmFtZSkiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwotICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3QgPSBl
dmVudC50YXJnZXQ7CisgICAgZGIgPSBldmVudC50YXJnZXQucmVzdWx0OworICAgIG9iamVjdFN0
b3JlID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnZm9v
JywgeyBrZXlQYXRoOiAna2V5JywgYXV0b0luY3JlbWVudDogdHJ1ZSB9KTsiKTsKKyAgICBpbmRl
eCA9IGV2YWxBbmRMb2coImluZGV4ID0gb2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoJ2ZvbycsICdp
bmRleCcpOyIpOwogfQogCiBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCkBAIC0yOCw2ICsyNyw3IEBA
IGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAg
ICAgICBkYiA9IGV2YWxBbmRMb2coImRiID0gcmVxdWVzdC5yZXN1bHQ7Iik7CiAgICAgICAgIGNo
ZWNrRGF0YWJhc2VUeXBlKCk7CisgICAgICAgIGFkZFJlY29yZCgpOwogICAgIH0sIDApOwogfQog
CkBAIC0zNiwxOCArMzYsNiBAQCBmdW5jdGlvbiBjaGVja0RhdGFiYXNlVHlwZSgpCiAgICAgZGVi
dWcoImNoZWNrRGF0YWJhc2VUeXBlKCk6Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJkYiBpbnN0YW5j
ZW9mIElEQkRhdGFiYXNlIik7CiAgICAgZGIub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxi
YWNrOwotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbign
MScpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBzZXR1cE9iamVjdFN0b3JlOwotICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBz
ZXR1cE9iamVjdFN0b3JlKCkKLXsKLSAgICBkZWJ1Zygic2V0dXBPYmplY3RTdG9yZSgpOiIpOwot
ICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7Ci0gICAgb2JqZWN0U3RvcmUgPSBldmFsQW5k
TG9nKCJvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdmb28nLCB7IGtleVBhdGg6
ICdrZXknLCBhdXRvSW5jcmVtZW50OiB0cnVlIH0pOyIpOwotICAgIGluZGV4ID0gZXZhbEFuZExv
ZygiaW5kZXggPSBvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgnZm9vJywgJ2luZGV4Jyk7Iik7Ci0g
ICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBhZGRS
ZWNvcmQ7Iik7CiB9CiAKIGZ1bmN0aW9uIGFkZFJlY29yZCgpCkBAIC0xMTIsNSArMTAwLDMgQEAg
ZnVuY3Rpb24gZGVsZXRlU3VjY2VzcygpCiAgICAgZGVidWcoImRlbGV0ZVN1Y2Nlc3MoKToiKTsK
ICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KLQotdGVzdCgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
cmVzb3VyY2VzL3JlbW92ZS1vYmplY3RzdG9yZS5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL21vemlsbGEvcmVzb3VyY2VzL3JlbW92ZS1vYmplY3RzdG9yZS5qcwppbmRleCBmYjhj
MGYxZWRjZTkwZjg2N2ExZGU3YjdlMGJiMmZkNjc0NmZiM2QxLi5mNmExY2E5NDAxNTNjNDdjMDc4
NWIzMjc5YThhMzMyZjQ3YzMxOTljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9yZW1vdmUtb2JqZWN0c3RvcmUuanMKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvcmVtb3ZlLW9iamVj
dHN0b3JlLmpzCkBAIC0xMSwzMSArMTEsMTIgQEAgaWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgewog
CiBkZXNjcmlwdGlvbigiVGVzdCBJbmRleGVkREIgZGVsZXRpbmcgYW4gb2JqZWN0IHN0b3JlIik7
CiAKLWZ1bmN0aW9uIHRlc3QoKQoraW5kZXhlZERCVGVzdChwcmVwYXJlRGF0YWJhc2UsIGNoZWNr
T2JqZWN0U3RvcmUpOworZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNlKCkKIHsKLSAgICByZW1vdmVW
ZW5kb3JQcmVmaXhlcygpOwotCi0gICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7Ci0g
ICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUpIik7Ci0gICAgcmVx
dWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKLSAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4
cGVjdGVkRXJyb3JDYWxsYmFjazsKLX0KLQotZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQotewotICAg
IGRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgZGIgPSBl
dmVudC50YXJnZXQucmVzdWx0OwogICAgIHNob3VsZEJlKCJkYi5vYmplY3RTdG9yZU5hbWVzLmxl
bmd0aCIsICIwIik7CiAKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGRiLnNl
dFZlcnNpb24oJzEnKSIpOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY3JlYXRlQW5kUG9wdWxh
dGVPYmplY3RTdG9yZTsKLSAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsKLX0KLQotZnVuY3Rpb24gY3JlYXRlQW5kUG9wdWxhdGVPYmplY3RTdG9yZSgpCi17Ci0g
ICAgdmFyIHYxX3RyYW5zYWN0aW9uID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKLSAgICBkZWxldGVB
bGxPYmplY3RTdG9yZXMoZGIpOwotCiAgICAgb2JqZWN0U3RvcmVOYW1lID0gZXZhbEFuZExvZygi
b2JqZWN0U3RvcmVOYW1lID0gJ09iamVjdHMnOyIpOwogICAgIG9iamVjdFN0b3JlID0gZXZhbEFu
ZExvZygib2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZShvYmplY3RTdG9yZU5hbWUs
IHsga2V5UGF0aDogJ2ZvbycgfSk7Iik7CiAKQEAgLTQzLDIyICsyNCwyNCBAQCBmdW5jdGlvbiBj
cmVhdGVBbmRQb3B1bGF0ZU9iamVjdFN0b3JlKCkKICAgICAgICAgcmVxdWVzdCA9IGV2YWxBbmRM
b2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5hZGQoe2ZvbzogaX0pOyIpOwogICAgICAgICByZXF1
ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICB9Ci0gICAgdjFfdHJh
bnNhY3Rpb24ub25jb21wbGV0ZSA9IGNoZWNrT2JqZWN0U3RvcmU7CiB9CiAKIGZ1bmN0aW9uIGNo
ZWNrT2JqZWN0U3RvcmUoKQogewogICAgIHNob3VsZEJlKCJkYi5vYmplY3RTdG9yZU5hbWVzLmxl
bmd0aCIsICIxIik7CiAgICAgc2hvdWxkQmUoImRiLm9iamVjdFN0b3JlTmFtZXMuaXRlbSgwKSIs
ICJvYmplY3RTdG9yZU5hbWUiKTsKKyAgICBldmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7CiAKLSAg
ICByZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMicpOworICAgIGV2YWxBbmRMb2coInJlcXVlc3Qg
PSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIpIik7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5l
eHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBwb3N0U2V0VmVy
c2lvbjI7CisgICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNr
OworICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gaW5TZXRWZXJzaW9uMjsKKyAgICByZXF1
ZXN0Lm9uc3VjY2VzcyA9IHNldFZlcnNpb24zOwogfQogCi1mdW5jdGlvbiBwb3N0U2V0VmVyc2lv
bjIoKQorZnVuY3Rpb24gaW5TZXRWZXJzaW9uMigpCiB7Ci0gICAgdmFyIHYyX3RyYW5zYWN0aW9u
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKKyAgICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CiAg
ICAgZXZhbEFuZExvZygiZGIuZGVsZXRlT2JqZWN0U3RvcmUob2JqZWN0U3RvcmUubmFtZSk7Iik7
CiAgICAgc2hvdWxkQmUoImRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIiwgIjAiKTsKIApAQCAt
NzIsNyArNTUsNiBAQCBmdW5jdGlvbiBwb3N0U2V0VmVyc2lvbjIoKQogICAgICAgICBzaG91bGRC
ZSgiZXZlbnQudGFyZ2V0LnJlc3VsdCIsICJudWxsIik7CiAgICAgICAgIGRlbGV0ZVNlY29uZE9i
amVjdFN0b3JlKCk7CiAgICAgfTsKLSAgICB2Ml90cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gc2V0
VmVyc2lvbjM7CiB9CiAKIGZ1bmN0aW9uIGRlbGV0ZVNlY29uZE9iamVjdFN0b3JlKCkKQEAgLTgz
LDEzICs2NSwxOCBAQCBmdW5jdGlvbiBkZWxldGVTZWNvbmRPYmplY3RTdG9yZSgpCiAKIGZ1bmN0
aW9uIHNldFZlcnNpb24zKCkKIHsKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9
IGRiLnNldFZlcnNpb24oJzMnKTsiKTsKKyAgICBldmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7CisK
KyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAzKSIpOwog
ICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gcG9zdFNldFZlcnNpb24zOworICAgIHJlcXVlc3Qub25ibG9ja2VkID0g
dW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9
IGluU2V0VmVyc2lvbjM7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmaW5pc2hKU1Rlc3Q7CiB9
CiAKLWZ1bmN0aW9uIHBvc3RTZXRWZXJzaW9uMygpCitmdW5jdGlvbiBpblNldFZlcnNpb24zKCkK
IHsKKyAgICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CiAgICAgb2JqZWN0U3RvcmUgPSBldmFs
QW5kTG9nKCJvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKG9iamVjdFN0b3JlTmFt
ZSwgeyBrZXlQYXRoOiAnZm9vJyB9KTsiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVx
dWVzdCA9IG9iamVjdFN0b3JlLmFkZCh7Zm9vOidiYXInfSk7Iik7CiAgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CkBAIC05OSw3ICs4Niw0IEBAIGZ1bmN0aW9u
IHBvc3RTZXRWZXJzaW9uMygpCiBmdW5jdGlvbiBkZWxldGVUaGlyZE9iamVjdFN0b3JlKCkKIHsK
ICAgICBldmFsQW5kTG9nKCJkYi5kZWxldGVPYmplY3RTdG9yZShvYmplY3RTdG9yZU5hbWUpOyIp
OwotICAgIGZpbmlzaEpTVGVzdCgpOwogfQotCi10ZXN0KCk7ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0
c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGY2YzhiYjFmNzc0Y2E1MzliYWJlYzk2NjExMmUwYzhmNjA0N2Y1NDcuLmRhYTM5NWY4YTk4
NDMxMDRmNDVlMWNhZDg3ZDFmY2UyNDkzMTNjYmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVv
YmplY3RzdG9yZS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACi1DT05TT0xFIE1FU1NBR0U6
IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2lsbCBiZSByZW1v
dmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgogVGVzdCBJbmRleGVk
REIncyB3ZWJraXRJREJPYmplY3RTdG9yZS5kZWxldGVPYmplY3RTdG9yZSgpLgogCiBPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCkBAIC0xNyw5ICsxNiw4IEBAIGRiLnRyYW5zYWN0aW9uKFsnc3Rv
cmVOYW1lJ10pCiBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQog
c3RvcmUuZ2V0KCdrZXknKQogUEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlzICJ2YWx1ZSIKLWRi
LnNldFZlcnNpb24oJ25ldyB2ZXJzaW9uJykKLXRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdAot
UEFTUyB0cmFucyBpcyBub24tbnVsbC4KK2RiLmNsb3NlKCkKK2luZGV4ZWREQi5vcGVuKGRibmFt
ZSwgMikKIGRiLmRlbGV0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQogZGIuY3JlYXRlT2JqZWN0
U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpCiBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL29iamVj
dHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvcmVzb3VyY2VzL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmpzCmluZGV4IDQxZTVj
NzY1NzVhMGU1YjY0YTc0MWFiOWI5NjUxYzYwZTRmM2Q3NTcuLjkwNDBhYmM5YzFjMWQ2MDQ0N2Y1
MTlkYjNiMmEwMjk3MmRlZjZiMDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3Jlc291cmNlcy9vYmplY3RzdG9yZS1yZW1vdmVvYmplY3RzdG9yZS5qcworKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb2JqZWN0c3RvcmUtcmVtb3Zl
b2JqZWN0c3RvcmUuanMKQEAgLTIzLDI2ICsyMywzNCBAQCBmdW5jdGlvbiBnZXRWYWx1ZSgpCiB7
CiAgICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFt
ZSddKSIpOwogICAgIHRyYW5zYWN0aW9uLm9uYWJvcnQgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFj
azsKKyAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gYWRkSW5kZXg7CiAgICAgdmFyIHN0b3Jl
ID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1l
JykiKTsKIAogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJzdG9yZS5nZXQoJ2tleScpIik7Ci0g
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBhZGRJbmRleDsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9
IGNoZWNrUmVzdWx0OwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxi
YWNrOwogfQogCi1mdW5jdGlvbiBhZGRJbmRleCgpCitmdW5jdGlvbiBjaGVja1Jlc3VsdCgpCiB7
CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC50YXJnZXQucmVzdWx0IiwgInZhbHVl
Iik7Cit9CisKK2Z1bmN0aW9uIGFkZEluZGV4KCkKK3sKKyAgICBldmFsQW5kTG9nKCJkYi5jbG9z
ZSgpIik7CiAKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZl
cnNpb24nKSIpOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZGVsZXRlT2JqZWN0U3RvcmU7Cisg
ICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKGRibmFtZSwgMikiKTsKKyAg
ICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IGRlbGV0ZU9iamVjdFN0b3JlOwogICAgIHJlcXVl
c3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25zdWNj
ZXNzID0gZ2V0VmFsdWVBZ2FpbjsKKyAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRC
bG9ja2VkQ2FsbGJhY2s7CiB9CiAKIGZ1bmN0aW9uIGRlbGV0ZU9iamVjdFN0b3JlKCkKIHsKLSAg
ICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7
Ci0gICAgc2hvdWxkQmVOb25OdWxsKCJ0cmFucyIpOworICAgIHRyYW5zID0gcmVxdWVzdC50cmFu
c2FjdGlvbjsKKyAgICBkYiA9IHJlcXVlc3QucmVzdWx0OwogICAgIHRyYW5zLm9uYWJvcnQgPSB1
bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKIAogICAgIGV2YWxBbmRMb2coImRiLmRlbGV0ZU9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnKSIpOwpAQCAtNTIsNyArNjAsNiBAQCBmdW5jdGlvbiBkZWxldGVP
YmplY3RTdG9yZSgpCiBmdW5jdGlvbiBjcmVhdGVPYmplY3RTdG9yZUFnYWluKCkKIHsKICAgICBl
dmFsQW5kTG9nKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkiKTsKLSAg
ICB0cmFucy5vbmNvbXBsZXRlID0gZ2V0VmFsdWVBZ2FpbjsKIH0KIAogZnVuY3Rpb24gZ2V0VmFs
dWVBZ2FpbigpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174301</attachid>
            <date>2012-11-14 17:55:02 -0800</date>
            <delta_ts>2012-11-14 17:58:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102308-20121114175300.patch</filename>
            <type>text/plain</type>
            <size>32671</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NzAyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2JmNTc1ZjM2OTM4ZTFiZjg3OTU5
ZTFmMTYzMmIxMzRkYjVhMDlmMy4uOTYzZmUzMzcyMjVmZmVjZDZjODhjNTk3ZDQ0NTk2MmQzOGNk
MjUxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU4IEBACiAyMDEyLTExLTE0ICBEYXZpZCBHcm9nYW4gIDxk
Z3JvZ2FuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBJbmRleGVkREIgdGVzdCBjb252ZXJzaW9u
cyBiYXRjaCA1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDIzMDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9mIHRoZSBjaGFuZ2Ugc3VjaCBhcyBhcHByb2FjaCwg
cmF0aW9uYWxlLiBQbGVhc2UgYWRkIHBlci1mdW5jdGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cgKE9P
UFMhKS4KKworICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLXVwZGF0
ZS11cGRhdGVzLWluZGV4ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhl
ZGRiL21vemlsbGEvZXZlbnQtc291cmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL2dsb2JhbC1kYXRhLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBz
dG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJlbWVudHMtcHV0LW51bGwta2V5LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29kZC1yZXN1
bHQtb3JkZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemls
bGEvcmVtb3ZlLW9iamVjdHN0b3JlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9jdXJzb3ItdXBkYXRlLXVwZGF0ZXMtaW5kZXhlcy5q
czoKKyAgICAgICAgICBDYWxscyBpbmRleGVkREJUZXN0IGEgYnVuY2ggb2YgdGltZXMuCisgICAg
ICAgICh0ZXN0KToKKyAgICAgICAgKHNldHVwT2JqZWN0U3RvcmVBbmRDcmVhdGVJbmRleEFuZEFk
ZCk6CisgICAgICAgIChvcGVuQ3Vyc29yKToKKyAgICAgICAgKGNoZWNrSW5kZXgyKToKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9ldmVudC1zb3VyY2UuanM6
CisgICAgICAgICAgTm93IHRoYXQgc2V0VmVyc2lvbiBpcyBnb25lLCBpdCBhcHBlYXJzIHRoYXQg
bm8gcmVxdWVzdCBzaG91bGQgaGF2ZQorICAgICAgICAgIGEgZGF0YWJhc2UgYXMgYSBzb3VyY2Uu
CisgICAgICAgIChwcmVwYXJlRGF0YWJhc2UpOgorICAgICAgICAoYXJlV2VEb25lWWV0KToKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9nbG9iYWwtZGF0YS5q
czoKKyAgICAgICAgKHByZXBhcmVEYXRhYmFzZSk6CisgICAgICAgIChvcGVuMlN1Y2Nlc3MpOgor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVzb3VyY2VzL2tleS1yZXF1aXJl
bWVudHMtcHV0LW51bGwta2V5LmpzOgorICAgICAgICAocHJlcGFyZURhdGFiYXNlKToKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9vZGQtcmVzdWx0LW9yZGVy
LmpzOgorICAgICAgICAgIE1vdmVkIHNvbWUgdGhpbmdzIGFyb3VuZCBidXQgSSB0aGluayBJIHN0
aWxsIGhhdmUgYWxsIHRoZSB0ZXN0cy4KKworICAgICAgICAocHJlcGFyZURhdGFiYXNlKToKKyAg
ICAgICAgKG9wZW5TdWNjZXNzKToKKyAgICAgICAgKGRlbGV0ZVN1Y2Nlc3MpOgorICAgICAgICAq
IHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVzb3VyY2VzL3JlbW92ZS1vYmplY3RzdG9yZS5q
czoKKyAgICAgICAgKHByZXBhcmVEYXRhYmFzZSk6CisgICAgICAgIChjaGVja09iamVjdFN0b3Jl
KToKKyAgICAgICAgKGluU2V0VmVyc2lvbjIucmVxdWVzdC5vbnN1Y2Nlc3MpOgorICAgICAgICAo
aW5TZXRWZXJzaW9uMik6CisgICAgICAgIChzZXRWZXJzaW9uMyk6CisgICAgICAgIChpblNldFZl
cnNpb24zKToKKyAgICAgICAgKGRlbGV0ZVRoaXJkT2JqZWN0U3RvcmUpOgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb2JqZWN0c3RvcmUtcmVt
b3Zlb2JqZWN0c3RvcmUuanM6CisgICAgICAgIChnZXRWYWx1ZSk6CisgICAgICAgIChjaGVja1Jl
c3VsdCk6CisgICAgICAgIChhZGRJbmRleCk6CisgICAgICAgIChkZWxldGVPYmplY3RTdG9yZSk6
CisgICAgICAgIChjcmVhdGVPYmplY3RTdG9yZUFnYWluKToKKworMjAxMi0xMS0xNCAgRGF2aWQg
R3JvZ2FuICA8ZGdyb2dhbkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgSW5kZXhlZERCOiBUZXN0
IGNvbnZlcnNpb25zIGJhdGNoIDQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwMjI2NwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9tb3ppbGxhL2N1cnNvci11cGRhdGUtdXBkYXRlcy1pbmRleGVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLXVwZGF0ZS11
cGRhdGVzLWluZGV4ZXMtZXhwZWN0ZWQudHh0CmluZGV4IGFiMzE0Y2U1ZWQ0ZjVlYjFjODBlODM4
ODAwNWY2NWNkNTU0MTkzOTIuLmQxZmE0ZmIzNGRkNjQ0ODJmMjYyZTMzNjE5YzRhMDJhNjhjMDll
ZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vy
c29yLXVwZGF0ZS11cGRhdGVzLWluZGV4ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4ZXMt
ZXhwZWN0ZWQudHh0CkBAIC0xLDE0ICsxLDggQEAKLUNPTlNPTEUgTUVTU0FHRTogVGhlIHNldFZl
cnNpb24oKSBtZXRob2QgaXMgbm9uLXN0YW5kYXJkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSB0
aGUgInVwZ3JhZGVuZWVkZWQiIGV2ZW50IGluc3RlYWQuCiBUZXN0IEluZGV4ZWREQjogbXV0YXRp
bmcgcmVjb3JkcyB3aXRoIGEgci93IGN1cnNvciB1cGRhdGVzIGluZGV4ZXMgb24gdGhvc2UgcmVj
b3JkcwogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotaW5kZXhlZERCID0gc2VsZi5p
bmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwg
c2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7Ci0KLWluZGV4ZWREQi5vcGVuKG5h
bWUpCi1vcGVuU3VjY2VzcygpOgotZGIgPSBldmVudC50YXJnZXQucmVzdWx0CiBmaXJzdFZhbHVl
ID0gJ2hpJzsKIHNlY29uZFZhbHVlID0gJ2J5ZSc7CiBvYmplY3RTdG9yZUluZm8gPSBbCkBAIC0y
MiwxNSArMTYsMjEgQEAgb2JqZWN0U3RvcmVJbmZvID0gWwogICAgICAgICAgIGVudHJ5OiB7IGRh
dGE6IGZpcnN0VmFsdWUgfSB9LAogICAgIF07CiBpID0gMDsKKworaW5kZXhlZERCID0gc2VsZi5p
bmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwg
c2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CisKK2RibmFtZSA9ICJjdXJzb3It
dXBkYXRlLXVwZGF0ZXMtaW5kZXhlcy5odG1sIgoraW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRi
bmFtZSkKIGluZm8gPSBvYmplY3RTdG9yZUluZm9baV07Ci1yZXF1ZXN0ID0gZGIuc2V0VmVyc2lv
bignMScpCitpbmRleGVkREIub3BlbihkYm5hbWUpCiBzZXR1cE9iamVjdFN0b3JlQW5kQ3JlYXRl
SW5kZXgoKToKLURlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCitkYiA9IGV2ZW50LnRhcmdldC5y
ZXN1bHQKIG9iamVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoaW5mby5uYW1lLCBpbmZv
Lm9wdGlvbnMpOwogaW5kZXggPSBvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgnZGF0YV9pbmRleCcs
ICdkYXRhJywgeyB1bmlxdWU6IGZhbHNlIH0pOwogdW5pcXVlSW5kZXggPSBvYmplY3RTdG9yZS5j
cmVhdGVJbmRleCgndW5pcXVlX2RhdGFfaW5kZXgnLCAnZGF0YScsIHsgdW5pcXVlOiB0cnVlIH0p
OwogcmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZChpbmZvLmVudHJ5LCBpbmZvLmtleSk7CiB0cmFu
cyA9IGRiLnRyYW5zYWN0aW9uKGluZm8ubmFtZSwgJ3JlYWR3cml0ZScpCit0cmFucy5vbmNvbXBs
ZXRlID0gdGVzdAogb2JqZWN0U3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZShpbmZvLm5hbWUpCiBp
bmRleCA9IG9iamVjdFN0b3JlLmluZGV4KCdkYXRhX2luZGV4JykKIHVuaXF1ZUluZGV4ID0gb2Jq
ZWN0U3RvcmUuaW5kZXgoJ3VuaXF1ZV9kYXRhX2luZGV4JykKQEAgLTQ0LDE1ICs0NCwyMSBAQCBQ
QVNTIHZhbHVlLmRhdGEgaXMgZXZlbnQudGFyZ2V0LnJlc3VsdC5kYXRhCiByZXF1ZXN0ID0gdW5p
cXVlSW5kZXguZ2V0KHNlY29uZFZhbHVlKTsKIFBBU1MgdmFsdWUuZGF0YSBpcyBldmVudC50YXJn
ZXQucmVzdWx0LmRhdGEKIGkrKzsKK2RiLmNsb3NlKCkKK2luZGV4ZWREQiA9IHNlbGYuaW5kZXhl
ZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYu
bXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOworCitkYm5hbWUgPSAiY3Vyc29yLXVwZGF0
ZS11cGRhdGVzLWluZGV4ZXMuaHRtbCIKK2luZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUp
CiBpbmZvID0gb2JqZWN0U3RvcmVJbmZvW2ldOwotcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEn
KQoraW5kZXhlZERCLm9wZW4oZGJuYW1lKQogc2V0dXBPYmplY3RTdG9yZUFuZENyZWF0ZUluZGV4
KCk6Ci1EZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgorZGIgPSBldmVudC50YXJnZXQucmVzdWx0
CiBvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKGluZm8ubmFtZSwgaW5mby5vcHRp
b25zKTsKIGluZGV4ID0gb2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoJ2RhdGFfaW5kZXgnLCAnZGF0
YScsIHsgdW5pcXVlOiBmYWxzZSB9KTsKIHVuaXF1ZUluZGV4ID0gb2JqZWN0U3RvcmUuY3JlYXRl
SW5kZXgoJ3VuaXF1ZV9kYXRhX2luZGV4JywgJ2RhdGEnLCB7IHVuaXF1ZTogdHJ1ZSB9KTsKIHJl
cXVlc3QgPSBvYmplY3RTdG9yZS5hZGQoaW5mby5lbnRyeSk7CiB0cmFucyA9IGRiLnRyYW5zYWN0
aW9uKGluZm8ubmFtZSwgJ3JlYWR3cml0ZScpCit0cmFucy5vbmNvbXBsZXRlID0gdGVzdAogb2Jq
ZWN0U3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZShpbmZvLm5hbWUpCiBpbmRleCA9IG9iamVjdFN0
b3JlLmluZGV4KCdkYXRhX2luZGV4JykKIHVuaXF1ZUluZGV4ID0gb2JqZWN0U3RvcmUuaW5kZXgo
J3VuaXF1ZV9kYXRhX2luZGV4JykKQEAgLTY2LDE1ICs3MiwyMSBAQCBQQVNTIHZhbHVlLmRhdGEg
aXMgZXZlbnQudGFyZ2V0LnJlc3VsdC5kYXRhCiByZXF1ZXN0ID0gdW5pcXVlSW5kZXguZ2V0KHNl
Y29uZFZhbHVlKTsKIFBBU1MgdmFsdWUuZGF0YSBpcyBldmVudC50YXJnZXQucmVzdWx0LmRhdGEK
IGkrKzsKK2RiLmNsb3NlKCkKK2luZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Vi
a2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwg
c2VsZi5PSW5kZXhlZERCOworCitkYm5hbWUgPSAiY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4
ZXMuaHRtbCIKK2luZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpCiBpbmZvID0gb2JqZWN0
U3RvcmVJbmZvW2ldOwotcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQoraW5kZXhlZERCLm9w
ZW4oZGJuYW1lKQogc2V0dXBPYmplY3RTdG9yZUFuZENyZWF0ZUluZGV4KCk6Ci1EZWxldGVkIGFs
bCBvYmplY3Qgc3RvcmVzLgorZGIgPSBldmVudC50YXJnZXQucmVzdWx0CiBvYmplY3RTdG9yZSA9
IGRiLmNyZWF0ZU9iamVjdFN0b3JlKGluZm8ubmFtZSwgaW5mby5vcHRpb25zKTsKIGluZGV4ID0g
b2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoJ2RhdGFfaW5kZXgnLCAnZGF0YScsIHsgdW5pcXVlOiBm
YWxzZSB9KTsKIHVuaXF1ZUluZGV4ID0gb2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoJ3VuaXF1ZV9k
YXRhX2luZGV4JywgJ2RhdGEnLCB7IHVuaXF1ZTogdHJ1ZSB9KTsKIHJlcXVlc3QgPSBvYmplY3RT
dG9yZS5hZGQoaW5mby5lbnRyeSk7CiB0cmFucyA9IGRiLnRyYW5zYWN0aW9uKGluZm8ubmFtZSwg
J3JlYWR3cml0ZScpCit0cmFucy5vbmNvbXBsZXRlID0gdGVzdAogb2JqZWN0U3RvcmUgPSB0cmFu
cy5vYmplY3RTdG9yZShpbmZvLm5hbWUpCiBpbmRleCA9IG9iamVjdFN0b3JlLmluZGV4KCdkYXRh
X2luZGV4JykKIHVuaXF1ZUluZGV4ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ3VuaXF1ZV9kYXRhX2lu
ZGV4JykKQEAgLTg4LDE1ICsxMDAsMjEgQEAgUEFTUyB2YWx1ZS5kYXRhIGlzIGV2ZW50LnRhcmdl
dC5yZXN1bHQuZGF0YQogcmVxdWVzdCA9IHVuaXF1ZUluZGV4LmdldChzZWNvbmRWYWx1ZSk7CiBQ
QVNTIHZhbHVlLmRhdGEgaXMgZXZlbnQudGFyZ2V0LnJlc3VsdC5kYXRhCiBpKys7CitkYi5jbG9z
ZSgpCitpbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8
fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWRE
QjsKKworZGJuYW1lID0gImN1cnNvci11cGRhdGUtdXBkYXRlcy1pbmRleGVzLmh0bWwiCitpbmRl
eGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKQogaW5mbyA9IG9iamVjdFN0b3JlSW5mb1tpXTsK
LXJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykKK2luZGV4ZWREQi5vcGVuKGRibmFtZSkKIHNl
dHVwT2JqZWN0U3RvcmVBbmRDcmVhdGVJbmRleCgpOgotRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jl
cy4KK2RiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAogb2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmpl
Y3RTdG9yZShpbmZvLm5hbWUsIGluZm8ub3B0aW9ucyk7CiBpbmRleCA9IG9iamVjdFN0b3JlLmNy
ZWF0ZUluZGV4KCdkYXRhX2luZGV4JywgJ2RhdGEnLCB7IHVuaXF1ZTogZmFsc2UgfSk7CiB1bmlx
dWVJbmRleCA9IG9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCd1bmlxdWVfZGF0YV9pbmRleCcsICdk
YXRhJywgeyB1bmlxdWU6IHRydWUgfSk7CiByZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKGluZm8u
ZW50cnkpOwogdHJhbnMgPSBkYi50cmFuc2FjdGlvbihpbmZvLm5hbWUsICdyZWFkd3JpdGUnKQor
dHJhbnMub25jb21wbGV0ZSA9IHRlc3QKIG9iamVjdFN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUo
aW5mby5uYW1lKQogaW5kZXggPSBvYmplY3RTdG9yZS5pbmRleCgnZGF0YV9pbmRleCcpCiB1bmlx
dWVJbmRleCA9IG9iamVjdFN0b3JlLmluZGV4KCd1bmlxdWVfZGF0YV9pbmRleCcpCkBAIC0xMTAs
NiArMTI4LDcgQEAgUEFTUyB2YWx1ZS5kYXRhIGlzIGV2ZW50LnRhcmdldC5yZXN1bHQuZGF0YQog
cmVxdWVzdCA9IHVuaXF1ZUluZGV4LmdldChzZWNvbmRWYWx1ZSk7CiBQQVNTIHZhbHVlLmRhdGEg
aXMgZXZlbnQudGFyZ2V0LnJlc3VsdC5kYXRhCiBpKys7CitkYi5jbG9zZSgpCiBQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZXZlbnQtc291cmNlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZXZlbnQtc291cmNlLWV4
cGVjdGVkLnR4dAppbmRleCBjODVmMmMwOTEwZjRjMWQzMjQ5YzdjNGNkMzhiMGExODEzNDExM2Rh
Li5kODcwYzI4ZGFjYzc1YmRhNzcwZGU3ZDUyMGM2NGM5N2U0YWE2Y2I2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2V2ZW50LXNvdXJjZS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9ldmVudC1z
b3VyY2UtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBUaGUg
c2V0VmVyc2lvbigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4g
VXNlIHRoZSAidXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4KIFRlc3QgSW5kZXhlZERCJ3Mg
ZXZlbnQudGFyZ2V0LnNvdXJjZSBpbiBzdWNjZXNzIGNhbGxiYWNrcwogCiBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCkBAIC02LDE0ICs1LDExIEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAK
IGluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNl
bGYubW96SW5kZXhlZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwog
Ci1pbmRleGVkREIub3BlbihuYW1lKQorZGJuYW1lID0gImV2ZW50LXNvdXJjZS5odG1sIgoraW5k
ZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKK2luZGV4ZWREQi5vcGVuKGRibmFtZSkKIHNv
dXJjZSA9IGV2ZW50LnRhcmdldC5zb3VyY2U7CiBQQVNTIHNvdXJjZSBpcyBudWxsCi1kYiA9IGV2
ZW50LnRhcmdldC5yZXN1bHQKLXJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykKLXNvdXJjZSA9
IGV2ZW50LnRhcmdldC5zb3VyY2U7Ci1QQVNTIHNvdXJjZSBpcyBkYgotRGVsZXRlZCBhbGwgb2Jq
ZWN0IHN0b3Jlcy4KIG9iamVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUob2JqZWN0U3Rv
cmVOYW1lLCB7IGF1dG9JbmNyZW1lbnQ6IHRydWUgfSk7CiByZXF1ZXN0ID0gb2JqZWN0U3RvcmUu
YWRkKHt9KTsKIHNvdXJjZSA9IGV2ZW50LnRhcmdldC5zb3VyY2U7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2dsb2JhbC1kYXRhLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZ2xvYmFsLWRhdGEtZXhw
ZWN0ZWQudHh0CmluZGV4IDcwYWNlMGUwYmFiMzRmODNjODMxZGZiYjQxMGJhYmIzZDQ1MjJhYTAu
LjQ5OWZiZjcxOTMyZTgyMDY0OGNkZTZjNTM5MzYzYjFhZTFjMWM5MDQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZ2xvYmFsLWRhdGEtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZ2xvYmFsLWRh
dGEtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBUaGUgc2V0
VmVyc2lvbigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNl
IHRoZSAidXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4KIFRlc3QgSW5kZXhlZERCJ3Mgb3Bl
bmluZyBEQiBtb3JlIHRoYW4gb25jZQogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCkBAIC02
LDEyICs1LDExIEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIGluZGV4ZWREQiA9IHNlbGYu
aW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8
IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwogCi1pbmRleGVkREIub3Blbihu
YW1lKQotZGIxID0gZXZlbnQudGFyZ2V0LnJlc3VsdAotcmVxdWVzdCA9IGRiMS5zZXRWZXJzaW9u
KCcxJykKLURlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCitkYm5hbWUgPSAiZ2xvYmFsLWRhdGEu
aHRtbCIKK2luZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpCitpbmRleGVkREIub3Blbihk
Ym5hbWUpCiBkYjEuY3JlYXRlT2JqZWN0U3RvcmUob2JqZWN0U3RvcmVOYW1lLCBvYmplY3RTdG9y
ZU9wdGlvbnMpOwotaW5kZXhlZERCLm9wZW4obmFtZSk7CitpbmRleGVkREIub3BlbihkYm5hbWUp
OwogZGIyID0gZXZlbnQudGFyZ2V0LnJlc3VsdAogUEFTUyBkYjEgIT09IGRiMiBpcyB0cnVlCiBQ
QVNTIGRiMS5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCBpcyAxCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2tleS1yZXF1aXJlbWVudHMtcHV0LW51bGwt
a2V5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
a2V5LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1rZXktZXhwZWN0ZWQudHh0CmluZGV4IGQyZTdjZTBk
ZDFkNTVmY2RjNGJhNjgzNWQ5OWRkNDEwYTgwOWEyOWEuLjI3MDFiMGM0NzA1ODRkOGEwZTUxNmM2
ODU0ZGNmZGFkOWVjMTFhOTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1rZXktZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50
cy1wdXQtbnVsbC1rZXktZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAotQ09OU09MRSBNRVNT
QUdFOiBUaGUgc2V0VmVyc2lvbigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQgYW5kIHdpbGwgYmUg
cmVtb3ZlZC4gVXNlIHRoZSAidXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4KIFRlc3QgSW5k
ZXhlZERCJ3MgYmVoYXZpb3IgcHV0KClpbmcgd2l0aCBudWxsIGtleQogCiBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCkBAIC02LDEwICs1LDkgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAog
aW5kZXhlZERCID0gc2VsZi5pbmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2Vs
Zi5tb3pJbmRleGVkREIgfHwgc2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CiAK
LWluZGV4ZWREQi5vcGVuKG5hbWUpCi1kYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKLXJlcXVlc3Qg
PSBkYi5zZXRWZXJzaW9uKCcxJykKLURlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCitkYm5hbWUg
PSAia2V5LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1rZXkuaHRtbCIKK2luZGV4ZWREQi5kZWxldGVE
YXRhYmFzZShkYm5hbWUpCitpbmRleGVkREIub3BlbihkYm5hbWUpCiBvYmplY3RTdG9yZSA9IGRi
LmNyZWF0ZU9iamVjdFN0b3JlKCdiYXInKTsKIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBvYmpl
Y3RTdG9yZS5wdXQoe30sIG51bGwpOwogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2RkLXJlc3VsdC1v
cmRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxh
L29kZC1yZXN1bHQtb3JkZXItZXhwZWN0ZWQudHh0CmluZGV4IDk0N2FhNTQwMDAwOWQxNGIzODMx
MzQwZjNkODg4MmFkMDllZWVhZjEuLjhlZmM0ZjdlNzkzNWY4MGFmY2EzZGM4MWNhZTFmMTVkMDVi
NmJmYzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
b2RkLXJlc3VsdC1vcmRlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0LW9yZGVyLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDMgQEAKLUNPTlNPTEUgTUVTU0FHRTogVGhlIHNldFZlcnNpb24oKSBtZXRob2QgaXMgbm9uLXN0
YW5kYXJkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSB0aGUgInVwZ3JhZGVuZWVkZWQiIGV2ZW50
IGluc3RlYWQuCiBUZXN0IEluZGV4ZWREQjogcmVxdWVzdCByZXN1bHQgcGVyc2lzdHMgaW4gc2V0
VGltZW91dCBjYWxsYmFjawogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCkBAIC02LDE4ICs1
LDE2IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIGluZGV4ZWREQiA9IHNlbGYuaW5kZXhl
ZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYu
bXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwogCi1pbmRleGVkREIub3BlbihuYW1lKQor
ZGJuYW1lID0gIm9kZC1yZXN1bHQtb3JkZXIuaHRtbCIKK2luZGV4ZWREQi5kZWxldGVEYXRhYmFz
ZShkYm5hbWUpCitpbmRleGVkREIub3BlbihkYm5hbWUpCitvYmplY3RTdG9yZSA9IGRiLmNyZWF0
ZU9iamVjdFN0b3JlKCdmb28nLCB7IGtleVBhdGg6ICdrZXknLCBhdXRvSW5jcmVtZW50OiB0cnVl
IH0pOworaW5kZXggPSBvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgnZm9vJywgJ2luZGV4Jyk7CiBv
cGVuU3VjY2VzcygpOgogZGIgPSBudWxsOwogZGIgPSByZXF1ZXN0LnJlc3VsdDsKIGNoZWNrRGF0
YWJhc2VUeXBlKCk6CiBQQVNTIGRiIGluc3RhbmNlb2YgSURCRGF0YWJhc2UgaXMgdHJ1ZQotcmVx
dWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQotc2V0dXBPYmplY3RTdG9yZSgpOgotRGVsZXRlZCBh
bGwgb2JqZWN0IHN0b3Jlcy4KLW9iamVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2Zv
bycsIHsga2V5UGF0aDogJ2tleScsIGF1dG9JbmNyZW1lbnQ6IHRydWUgfSk7Ci1pbmRleCA9IG9i
amVjdFN0b3JlLmNyZWF0ZUluZGV4KCdmb28nLCAnaW5kZXgnKTsKLWV2ZW50LnRhcmdldC50cmFu
c2FjdGlvbi5vbmNvbXBsZXRlID0gYWRkUmVjb3JkOwogYWRkUmVjb3JkKCk6CiBvYmplY3RTdG9y
ZSA9IGRiLnRyYW5zYWN0aW9uKCdmb28nLCAncmVhZHdyaXRlJykub2JqZWN0U3RvcmUoJ2Zvbycp
OwogZGF0YSA9IHsga2V5OiA1LCBpbmRleDogMTAgfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVtb3ZlLW9iamVjdHN0b3JlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVtb3ZlLW9iamVjdHN0
b3JlLWV4cGVjdGVkLnR4dAppbmRleCBiMjQ4Mjg2MzNjOGJlYjFmMWU0ZDUwODE3YjUzZjRiYzM2
ZGYwN2Q4Li40OTE5ZjBmZmIyYzk3YjUyMjQ4MTc4YmZmZTg1OWQ1MDQ4N2Y5ODZmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlbW92ZS1vYmplY3Rz
dG9yZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96
aWxsYS9yZW1vdmUtb2JqZWN0c3RvcmUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAotQ09O
U09MRSBNRVNTQUdFOiBUaGUgc2V0VmVyc2lvbigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQgYW5k
IHdpbGwgYmUgcmVtb3ZlZC4gVXNlIHRoZSAidXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4K
IFRlc3QgSW5kZXhlZERCIGRlbGV0aW5nIGFuIG9iamVjdCBzdG9yZQogCiBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCkBAIC02LDExICs1LDEwIEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAK
IGluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNl
bGYubW96SW5kZXhlZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwog
Ci1pbmRleGVkREIub3BlbihuYW1lKQotZGIgPSBldmVudC50YXJnZXQucmVzdWx0CitkYm5hbWUg
PSAicmVtb3ZlLW9iamVjdHN0b3JlLmh0bWwiCitpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJu
YW1lKQoraW5kZXhlZERCLm9wZW4oZGJuYW1lKQogUEFTUyBkYi5vYmplY3RTdG9yZU5hbWVzLmxl
bmd0aCBpcyAwCi1yZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMScpCi1EZWxldGVkIGFsbCBvYmpl
Y3Qgc3RvcmVzLgogb2JqZWN0U3RvcmVOYW1lID0gJ09iamVjdHMnOwogb2JqZWN0U3RvcmUgPSBk
Yi5jcmVhdGVPYmplY3RTdG9yZShvYmplY3RTdG9yZU5hbWUsIHsga2V5UGF0aDogJ2ZvbycgfSk7
CiByZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKHtmb286IGl9KTsKQEAgLTExNSw2ICsxMTMsOCBA
QCByZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKHtmb286IGl9KTsKIHJlcXVlc3QgPSBvYmplY3RT
dG9yZS5hZGQoe2ZvbzogaX0pOwogUEFTUyBkYi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCBpcyAx
CiBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMuaXRlbSgwKSBpcyBvYmplY3RTdG9yZU5hbWUKK2Ri
LmNsb3NlKCkKK3JlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIpCiBkYi5kZWxldGVP
YmplY3RTdG9yZShvYmplY3RTdG9yZS5uYW1lKTsKIFBBU1MgZGIub2JqZWN0U3RvcmVOYW1lcy5s
ZW5ndGggaXMgMAogb2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZShvYmplY3RTdG9y
ZU5hbWUsIHsga2V5UGF0aDogJ2ZvbycgfSk7CkBAIC0xMjQsNyArMTI0LDggQEAgcmVxdWVzdCA9
IG9iamVjdFN0b3JlLm9wZW5DdXJzb3IoKTsKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyBu
dWxsCiBkYi5kZWxldGVPYmplY3RTdG9yZShvYmplY3RTdG9yZS5uYW1lKTsKIFBBU1MgZGIub2Jq
ZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMAotcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzMnKTsK
K2RiLmNsb3NlKCkKK3JlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDMpCiBvYmplY3RT
dG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSwgeyBrZXlQYXRoOiAn
Zm9vJyB9KTsKIHJlcXVlc3QgPSBvYmplY3RTdG9yZS5hZGQoe2ZvbzonYmFyJ30pOwogZGIuZGVs
ZXRlT2JqZWN0U3RvcmUob2JqZWN0U3RvcmVOYW1lKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVzb3VyY2VzL2N1cnNvci11cGRhdGUtdXBkYXRl
cy1pbmRleGVzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNv
dXJjZXMvY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4ZXMuanMKaW5kZXggYzliOTM0MTEwOTI1
NTQzMTliYjdhNzY1M2Q5ZjFlNTFkN2E2YzRhNy4uNDA4YzA2MWE2MDBlMDk0MGM5NTVjZjI1NDBm
ZTk3Y2IzYjgwODA3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9yZXNvdXJjZXMvY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4ZXMuanMKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvY3Vyc29yLXVw
ZGF0ZS11cGRhdGVzLWluZGV4ZXMuanMKQEAgLTExLDIzICsxMSw5IEBAIGlmICh0aGlzLmltcG9y
dFNjcmlwdHMpIHsKIAogZGVzY3JpcHRpb24oIlRlc3QgSW5kZXhlZERCOiBtdXRhdGluZyByZWNv
cmRzIHdpdGggYSByL3cgY3Vyc29yIHVwZGF0ZXMgaW5kZXhlcyBvbiB0aG9zZSByZWNvcmRzIik7
CiAKLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7Ci0KLSAg
ICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExv
ZygiaW5kZXhlZERCLm9wZW4obmFtZSkiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5T
dWNjZXNzOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwot
fQotCi1mdW5jdGlvbiBvcGVuU3VjY2VzcygpCi17Ci0gICAgZGVidWcoIm9wZW5TdWNjZXNzKCk6
Iik7Ci0gICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKLSAg
ICBmaXJzdFZhbHVlID0gZXZhbEFuZExvZygiZmlyc3RWYWx1ZSA9ICdoaSc7Iik7Ci0gICAgc2Vj
b25kVmFsdWUgPSBldmFsQW5kTG9nKCJzZWNvbmRWYWx1ZSA9ICdieWUnOyIpOwotICAgIG9iamVj
dFN0b3JlSW5mbyA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlSW5mbyA9IFtcbiIgKworZmlyc3RW
YWx1ZSA9IGV2YWxBbmRMb2coImZpcnN0VmFsdWUgPSAnaGknOyIpOworc2Vjb25kVmFsdWUgPSBl
dmFsQW5kTG9nKCJzZWNvbmRWYWx1ZSA9ICdieWUnOyIpOworb2JqZWN0U3RvcmVJbmZvID0gZXZh
bEFuZExvZygib2JqZWN0U3RvcmVJbmZvID0gW1xuIiArCiAiICAgICAgICB7IG5hbWU6ICcxJywg
b3B0aW9uczoge30sIGtleTogMSxcbiIgKwogIiAgICAgICAgICBlbnRyeTogeyBkYXRhOiBmaXJz
dFZhbHVlIH0gfSxcbiIgKwogIiAgICAgICAgeyBuYW1lOiAnMicsIG9wdGlvbnM6IHsga2V5UGF0
aDogJ2ZvbycgfSxcbiIgKwpAQCAtMzcsMTcgKzIzLDE2IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNz
KCkKICIgICAgICAgIHsgbmFtZTogJzQnLCBvcHRpb25zOiB7IGtleVBhdGg6ICdmb28nLCBhdXRv
SW5jcmVtZW50OiB0cnVlIH0sXG4iICsKICIgICAgICAgICAgZW50cnk6IHsgZGF0YTogZmlyc3RW
YWx1ZSB9IH0sXG4iICsKICIgICAgXTsiKTsKLSAgICBpID0gZXZhbEFuZExvZygiaSA9IDA7Iik7
Ci0gICAgc2V0VmVyc2lvbigpOwotfQoraSA9IGV2YWxBbmRMb2coImkgPSAwOyIpOworZGVidWco
IiIpOworCit0ZXN0KCk7CiAKLWZ1bmN0aW9uIHNldFZlcnNpb24oKQorZnVuY3Rpb24gdGVzdCgp
CiB7CiAgICAgaWYgKGkgPCBvYmplY3RTdG9yZUluZm8ubGVuZ3RoKSB7CisgICAgICAgIGluZGV4
ZWREQlRlc3Qoc2V0dXBPYmplY3RTdG9yZUFuZENyZWF0ZUluZGV4QW5kQWRkLCBvcGVuQ3Vyc29y
KTsKICAgICAgICAgaW5mbyA9IGV2YWxBbmRMb2coImluZm8gPSBvYmplY3RTdG9yZUluZm9baV07
Iik7Ci0gICAgICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIuc2V0VmVyc2lv
bignMScpIik7Ci0gICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gc2V0dXBPYmplY3RTdG9yZUFu
ZENyZWF0ZUluZGV4QW5kQWRkOwotICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVk
RXJyb3JDYWxsYmFjazsKICAgICB9IGVsc2UgewogICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKICAg
ICB9CkBAIC01NSw5ICs0MCw4IEBAIGZ1bmN0aW9uIHNldFZlcnNpb24oKQogCiBmdW5jdGlvbiBz
ZXR1cE9iamVjdFN0b3JlQW5kQ3JlYXRlSW5kZXhBbmRBZGQoKQogewotICAgIHZhciB0cmFuc2Fj
dGlvbiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CiAgICAgZGVidWcoInNldHVwT2JqZWN0U3RvcmVB
bmRDcmVhdGVJbmRleCgpOiIpOwotICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CisgICAg
ZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CiAKICAgICBvYmplY3RTdG9y
ZSA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoaW5mby5u
YW1lLCBpbmZvLm9wdGlvbnMpOyIpOwogCkBAIC02OSwxOCArNTMsMTYgQEAgZnVuY3Rpb24gc2V0
dXBPYmplY3RTdG9yZUFuZENyZWF0ZUluZGV4QW5kQWRkKCkKICAgICAgICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5hZGQoaW5mby5lbnRyeSk7Iik7CiAgICAg
fQogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotCi0gICAg
dHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgZXZhbEFuZExv
ZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihpbmZvLm5hbWUsICdyZWFkd3JpdGUnKSIpOwotICAg
ICAgICBldmFsQW5kTG9nKCJvYmplY3RTdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKGluZm8ubmFt
ZSkiKTsKLSAgICAgICAgZXZhbEFuZExvZygiaW5kZXggPSBvYmplY3RTdG9yZS5pbmRleCgnZGF0
YV9pbmRleCcpIik7Ci0gICAgICAgIGV2YWxBbmRMb2coInVuaXF1ZUluZGV4ID0gb2JqZWN0U3Rv
cmUuaW5kZXgoJ3VuaXF1ZV9kYXRhX2luZGV4JykiKTsKLSAgICAgICAgb3BlbkN1cnNvcigpOwot
ICAgIH07CiB9CiAKIGZ1bmN0aW9uIG9wZW5DdXJzb3IoKQogeworICAgIGV2YWxBbmRMb2coInRy
YW5zID0gZGIudHJhbnNhY3Rpb24oaW5mby5uYW1lLCAncmVhZHdyaXRlJykiKTsKKyAgICBldmFs
QW5kTG9nKCJ0cmFucy5vbmNvbXBsZXRlID0gdGVzdCIpOworICAgIHRyYW5zLm9uYWJvcnQgPSB1
bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKKyAgICBldmFsQW5kTG9nKCJvYmplY3RTdG9yZSA9IHRy
YW5zLm9iamVjdFN0b3JlKGluZm8ubmFtZSkiKTsKKyAgICBldmFsQW5kTG9nKCJpbmRleCA9IG9i
amVjdFN0b3JlLmluZGV4KCdkYXRhX2luZGV4JykiKTsKKyAgICBldmFsQW5kTG9nKCJ1bmlxdWVJ
bmRleCA9IG9iamVjdFN0b3JlLmluZGV4KCd1bmlxdWVfZGF0YV9pbmRleCcpIik7CiAgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5vcGVuQ3Vyc29yKCk7Iik7
CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSB1cGRhdGVDdXJzb3I7CiAgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CkBAIC0xMTUsNyArOTcsNSBAQCBmdW5jdGlv
biBjaGVja0luZGV4MigpCiB7CiAgICAgc2hvdWxkQmUoInZhbHVlLmRhdGEiLCAiZXZlbnQudGFy
Z2V0LnJlc3VsdC5kYXRhIik7CiAgICAgZXZhbEFuZExvZygiaSsrOyIpOwotICAgIHNldFZlcnNp
b24oKTsKKyAgICBldmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7CiB9Ci0KLXRlc3QoKTsKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9ldmVudC1zb3VyY2UuanMgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9ldmVudC1zb3VyY2UuanMKaW5kZXgg
MTA2ZTc4NTRjNTdmNGJhZjM5Y2Y0YmE5N2NmZDFmMTJiMjg3ZDMyOS4uODFkZWNkODczZmQ1ZWQw
NjQxZDI4OWEyNDEyMGEzYWNkNTEwOGE3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvZXZlbnQtc291cmNlLmpzCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVzb3VyY2VzL2V2ZW50LXNvdXJjZS5q
cwpAQCAtMTEsMzQgKzExLDEzIEBAIGlmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKIAogZGVzY3Jp
cHRpb24oIlRlc3QgSW5kZXhlZERCJ3MgZXZlbnQudGFyZ2V0LnNvdXJjZSBpbiBzdWNjZXNzIGNh
bGxiYWNrcyIpOwogCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICByZW1vdmVWZW5kb3JQcmVmaXhl
cygpOwotCi0gICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7Ci0gICAgcmVxdWVzdCA9
IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBvcGVuU3VjY2VzczsKLSAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKLX0KLQotZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQoraW5kZXhlZERCVGVzdChwcmVw
YXJlRGF0YWJhc2UsIGZpbmlzaEpTVGVzdCk7CitmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQog
eworICAgIGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKICAgICBzb3VyY2UgPSBldmFsQW5kTG9n
KCJzb3VyY2UgPSBldmVudC50YXJnZXQuc291cmNlOyIpOwogICAgIHNob3VsZEJlTnVsbCgic291
cmNlIik7CiAKLSAgICBkYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIp
OwotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMScp
Iik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBjbGVhbkRhdGFiYXNlOwotICAgIHJlcXVlc3Qu
b25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBjbGVhbkRh
dGFiYXNlKCkKLXsKLSAgICBzb3VyY2UgPSBldmFsQW5kTG9nKCJzb3VyY2UgPSBldmVudC50YXJn
ZXQuc291cmNlOyIpOwotICAgIHNob3VsZEJlKCJzb3VyY2UiLCAiZGIiKTsKLQotICAgIGRlbGV0
ZUFsbE9iamVjdFN0b3JlcyhkYik7Ci0KICAgICBvYmplY3RTdG9yZU5hbWUgPSAiT2JqZWN0cyI7
CiAgICAgb2JqZWN0U3RvcmUgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9i
amVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSwgeyBhdXRvSW5jcmVtZW50OiB0cnVlIH0pOyIpOwog
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKHt9KTsi
KTsKQEAgLTUwLDcgKzI5LDQgQEAgZnVuY3Rpb24gYXJlV2VEb25lWWV0KCkKIHsKICAgICBzb3Vy
Y2UgPSBldmFsQW5kTG9nKCJzb3VyY2UgPSBldmVudC50YXJnZXQuc291cmNlOyIpOwogICAgIHNo
b3VsZEJlKCJzb3VyY2UiLCAib2JqZWN0U3RvcmUiKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKIH0K
LQotdGVzdCgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVzb3VyY2VzL2dsb2JhbC1kYXRhLmpz
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvZ2xvYmFs
LWRhdGEuanMKaW5kZXggMDBmZGNhMTE2ZDY1MmI2MWNhNzhmYWU4ZGU0NTVhMjdkODVmYTAyOC4u
NmQ5Nzg4YmRhZWE4YjFkMmI3YTQ0MTEwMzFmNjY1NDRiNmI3NmNiMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvZ2xvYmFsLWRhdGEu
anMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMv
Z2xvYmFsLWRhdGEuanMKQEAgLTExLDM0ICsxMSwxNiBAQCBpZiAodGhpcy5pbXBvcnRTY3JpcHRz
KSB7CiAKIGRlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQidzIG9wZW5pbmcgREIgbW9yZSB0aGFu
IG9uY2UiKTsKIAotZnVuY3Rpb24gdGVzdCgpCitpbmRleGVkREJUZXN0KHByZXBhcmVEYXRhYmFz
ZSk7CitmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQogewotICAgIHJlbW92ZVZlbmRvclByZWZp
eGVzKCk7Ci0KLSAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKLSAgICByZXF1ZXN0
ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSkiKTsKLSAgICByZXF1ZXN0Lm9uc3Vj
Y2VzcyA9IG9wZW5TdWNjZXNzOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBvcGVuU3VjY2VzcygpCi17Ci0gICAgZGIxID0gZXZh
bEFuZExvZygiZGIxID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwotCi0gICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coInJlcXVlc3QgPSBkYjEuc2V0VmVyc2lvbignMScpIik7Ci0gICAgcmVxdWVzdC5v
bnN1Y2Nlc3MgPSBjbGVhbkRhdGFiYXNlOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0
ZWRFcnJvckNhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBjbGVhbkRhdGFiYXNlKCkKLXsKLSAgICBk
ZWxldGVBbGxPYmplY3RTdG9yZXMoZGIxKTsKKyAgICBkYjEgPSBldmVudC50YXJnZXQucmVzdWx0
OwogCiAgICAgb2JqZWN0U3RvcmVOYW1lID0gIk9iamVjdHMiOwogICAgIG9iamVjdFN0b3JlT3B0
aW9ucyA9IHsga2V5UGF0aDogJ2lkJywgYXV0b0luY3JlbWVudDogdHJ1ZSB9OwogICAgIGV2YWxB
bmRMb2coImRiMS5jcmVhdGVPYmplY3RTdG9yZShvYmplY3RTdG9yZU5hbWUsIG9iamVjdFN0b3Jl
T3B0aW9ucyk7Iik7CiAKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4o
bmFtZSk7Iik7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKGRibmFt
ZSk7Iik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBvcGVuMlN1Y2Nlc3M7CiAgICAgcmVxdWVz
dC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiB9CkBAIC02NCw1ICs0NiwzIEBA
IGZ1bmN0aW9uIG9wZW4yU3VjY2VzcygpCiAKICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KLQotdGVz
dCgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVzb3VyY2VzL2tleS1yZXF1aXJlbWVudHMtcHV0
LW51bGwta2V5LmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNv
dXJjZXMva2V5LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1rZXkuanMKaW5kZXggOGUwZTc0N2JiZTE0
ZGU0NzhhZjEyMWEwYTUzZWFlZjIxMWRiZGFhZi4uOWIzMmZmZWE3ZjA2MDY1MmNjNzg1ZTYwMmYy
NDY0NTI2NDJmMGQxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9yZXNvdXJjZXMva2V5LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1rZXkuanMKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMva2V5LXJlcXVp
cmVtZW50cy1wdXQtbnVsbC1rZXkuanMKQEAgLTExLDMxICsxMSwxMSBAQCBpZiAodGhpcy5pbXBv
cnRTY3JpcHRzKSB7CiAKIGRlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQidzIGJlaGF2aW9yIHB1
dCgpaW5nIHdpdGggbnVsbCBrZXkiKTsKIAotZnVuY3Rpb24gdGVzdCgpCitpbmRleGVkREJUZXN0
KHByZXBhcmVEYXRhYmFzZSk7CitmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQogewotICAgIHJl
bW92ZVZlbmRvclByZWZpeGVzKCk7Ci0KLSAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFt
ZTsKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSkiKTsKLSAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwotICAgIHJlcXVlc3Qub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBvcGVuU3VjY2VzcygpCi17
Ci0gICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKLQotICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMScpIik7Ci0g
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBjbGVhbkRhdGFiYXNlOwotICAgIHJlcXVlc3Qub25lcnJv
ciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBjbGVhbkRhdGFiYXNl
KCkKLXsKLSAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOworICAgIGRiID0gZXZlbnQudGFy
Z2V0LnJlc3VsdDsKICAgICBvYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlID0g
ZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2JhcicpOyIpOwogICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRp
b24oIm9iamVjdFN0b3JlLnB1dCh7fSwgbnVsbCk7IiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLkRB
VEFfRVJSIik7CiAgICAgZmluaXNoSlNUZXN0KCk7CiB9Ci0KLXRlc3QoKTsKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL3Jlc291cmNlcy9vZGQtcmVzdWx0LW9yZGVyLmpzIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvb2RkLXJlc3VsdC1vcmRlci5qcwppbmRl
eCAzNmY4NWNiNGIyN2RiMzgzM2IzN2U2ZTk2Y2VlM2UyNmQwMDc1NjhlLi41NDdjYTZkYmUzMTk2
N2JiMTI2ZTQyZDY1YmI0MWE1NmFmM2EyMGM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9vZGQtcmVzdWx0LW9yZGVyLmpzCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVzb3VyY2VzL29kZC1yZXN1
bHQtb3JkZXIuanMKQEAgLTExLDE0ICsxMSwxMyBAQCBpZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7
CiAKIGRlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQjogcmVxdWVzdCByZXN1bHQgcGVyc2lzdHMg
aW4gc2V0VGltZW91dCBjYWxsYmFjayIpOwogCi1mdW5jdGlvbiB0ZXN0KCkKK2luZGV4ZWREQlRl
c3QocHJlcGFyZURhdGFiYXNlLCBvcGVuU3VjY2Vzcyk7CitmdW5jdGlvbiBwcmVwYXJlRGF0YWJh
c2UoKQogewotICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7Ci0KLSAgICBuYW1lID0gc2VsZi5s
b2NhdGlvbi5wYXRobmFtZTsKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9w
ZW4obmFtZSkiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOwotICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3QgPSBl
dmVudC50YXJnZXQ7CisgICAgZGIgPSBldmVudC50YXJnZXQucmVzdWx0OworICAgIG9iamVjdFN0
b3JlID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnZm9v
JywgeyBrZXlQYXRoOiAna2V5JywgYXV0b0luY3JlbWVudDogdHJ1ZSB9KTsiKTsKKyAgICBpbmRl
eCA9IGV2YWxBbmRMb2coImluZGV4ID0gb2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoJ2ZvbycsICdp
bmRleCcpOyIpOwogfQogCiBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCkBAIC0yOCw2ICsyNyw3IEBA
IGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAg
ICAgICBkYiA9IGV2YWxBbmRMb2coImRiID0gcmVxdWVzdC5yZXN1bHQ7Iik7CiAgICAgICAgIGNo
ZWNrRGF0YWJhc2VUeXBlKCk7CisgICAgICAgIGFkZFJlY29yZCgpOwogICAgIH0sIDApOwogfQog
CkBAIC0zNiwxOCArMzYsNiBAQCBmdW5jdGlvbiBjaGVja0RhdGFiYXNlVHlwZSgpCiAgICAgZGVi
dWcoImNoZWNrRGF0YWJhc2VUeXBlKCk6Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJkYiBpbnN0YW5j
ZW9mIElEQkRhdGFiYXNlIik7CiAgICAgZGIub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxi
YWNrOwotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbign
MScpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBzZXR1cE9iamVjdFN0b3JlOwotICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBz
ZXR1cE9iamVjdFN0b3JlKCkKLXsKLSAgICBkZWJ1Zygic2V0dXBPYmplY3RTdG9yZSgpOiIpOwot
ICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7Ci0gICAgb2JqZWN0U3RvcmUgPSBldmFsQW5k
TG9nKCJvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdmb28nLCB7IGtleVBhdGg6
ICdrZXknLCBhdXRvSW5jcmVtZW50OiB0cnVlIH0pOyIpOwotICAgIGluZGV4ID0gZXZhbEFuZExv
ZygiaW5kZXggPSBvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgnZm9vJywgJ2luZGV4Jyk7Iik7Ci0g
ICAgZXZhbEFuZExvZygiZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBhZGRS
ZWNvcmQ7Iik7CiB9CiAKIGZ1bmN0aW9uIGFkZFJlY29yZCgpCkBAIC0xMTIsNSArMTAwLDMgQEAg
ZnVuY3Rpb24gZGVsZXRlU3VjY2VzcygpCiAgICAgZGVidWcoImRlbGV0ZVN1Y2Nlc3MoKToiKTsK
ICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KLQotdGVzdCgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
cmVzb3VyY2VzL3JlbW92ZS1vYmplY3RzdG9yZS5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL21vemlsbGEvcmVzb3VyY2VzL3JlbW92ZS1vYmplY3RzdG9yZS5qcwppbmRleCBmYjhj
MGYxZWRjZTkwZjg2N2ExZGU3YjdlMGJiMmZkNjc0NmZiM2QxLi5mNmExY2E5NDAxNTNjNDdjMDc4
NWIzMjc5YThhMzMyZjQ3YzMxOTljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9yZW1vdmUtb2JqZWN0c3RvcmUuanMKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvcmVtb3ZlLW9iamVj
dHN0b3JlLmpzCkBAIC0xMSwzMSArMTEsMTIgQEAgaWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgewog
CiBkZXNjcmlwdGlvbigiVGVzdCBJbmRleGVkREIgZGVsZXRpbmcgYW4gb2JqZWN0IHN0b3JlIik7
CiAKLWZ1bmN0aW9uIHRlc3QoKQoraW5kZXhlZERCVGVzdChwcmVwYXJlRGF0YWJhc2UsIGNoZWNr
T2JqZWN0U3RvcmUpOworZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNlKCkKIHsKLSAgICByZW1vdmVW
ZW5kb3JQcmVmaXhlcygpOwotCi0gICAgbmFtZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWU7Ci0g
ICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUpIik7Ci0gICAgcmVx
dWVzdC5vbnN1Y2Nlc3MgPSBvcGVuU3VjY2VzczsKLSAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4
cGVjdGVkRXJyb3JDYWxsYmFjazsKLX0KLQotZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQotewotICAg
IGRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgZGIgPSBl
dmVudC50YXJnZXQucmVzdWx0OwogICAgIHNob3VsZEJlKCJkYi5vYmplY3RTdG9yZU5hbWVzLmxl
bmd0aCIsICIwIik7CiAKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGRiLnNl
dFZlcnNpb24oJzEnKSIpOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY3JlYXRlQW5kUG9wdWxh
dGVPYmplY3RTdG9yZTsKLSAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsKLX0KLQotZnVuY3Rpb24gY3JlYXRlQW5kUG9wdWxhdGVPYmplY3RTdG9yZSgpCi17Ci0g
ICAgdmFyIHYxX3RyYW5zYWN0aW9uID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKLSAgICBkZWxldGVB
bGxPYmplY3RTdG9yZXMoZGIpOwotCiAgICAgb2JqZWN0U3RvcmVOYW1lID0gZXZhbEFuZExvZygi
b2JqZWN0U3RvcmVOYW1lID0gJ09iamVjdHMnOyIpOwogICAgIG9iamVjdFN0b3JlID0gZXZhbEFu
ZExvZygib2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZShvYmplY3RTdG9yZU5hbWUs
IHsga2V5UGF0aDogJ2ZvbycgfSk7Iik7CiAKQEAgLTQzLDIyICsyNCwyNCBAQCBmdW5jdGlvbiBj
cmVhdGVBbmRQb3B1bGF0ZU9iamVjdFN0b3JlKCkKICAgICAgICAgcmVxdWVzdCA9IGV2YWxBbmRM
b2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5hZGQoe2ZvbzogaX0pOyIpOwogICAgICAgICByZXF1
ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICB9Ci0gICAgdjFfdHJh
bnNhY3Rpb24ub25jb21wbGV0ZSA9IGNoZWNrT2JqZWN0U3RvcmU7CiB9CiAKIGZ1bmN0aW9uIGNo
ZWNrT2JqZWN0U3RvcmUoKQogewogICAgIHNob3VsZEJlKCJkYi5vYmplY3RTdG9yZU5hbWVzLmxl
bmd0aCIsICIxIik7CiAgICAgc2hvdWxkQmUoImRiLm9iamVjdFN0b3JlTmFtZXMuaXRlbSgwKSIs
ICJvYmplY3RTdG9yZU5hbWUiKTsKKyAgICBldmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7CiAKLSAg
ICByZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMicpOworICAgIGV2YWxBbmRMb2coInJlcXVlc3Qg
PSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIpIik7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5l
eHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBwb3N0U2V0VmVy
c2lvbjI7CisgICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNr
OworICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gaW5TZXRWZXJzaW9uMjsKKyAgICByZXF1
ZXN0Lm9uc3VjY2VzcyA9IHNldFZlcnNpb24zOwogfQogCi1mdW5jdGlvbiBwb3N0U2V0VmVyc2lv
bjIoKQorZnVuY3Rpb24gaW5TZXRWZXJzaW9uMigpCiB7Ci0gICAgdmFyIHYyX3RyYW5zYWN0aW9u
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKKyAgICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CiAg
ICAgZXZhbEFuZExvZygiZGIuZGVsZXRlT2JqZWN0U3RvcmUob2JqZWN0U3RvcmUubmFtZSk7Iik7
CiAgICAgc2hvdWxkQmUoImRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIiwgIjAiKTsKIApAQCAt
NzIsNyArNTUsNiBAQCBmdW5jdGlvbiBwb3N0U2V0VmVyc2lvbjIoKQogICAgICAgICBzaG91bGRC
ZSgiZXZlbnQudGFyZ2V0LnJlc3VsdCIsICJudWxsIik7CiAgICAgICAgIGRlbGV0ZVNlY29uZE9i
amVjdFN0b3JlKCk7CiAgICAgfTsKLSAgICB2Ml90cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gc2V0
VmVyc2lvbjM7CiB9CiAKIGZ1bmN0aW9uIGRlbGV0ZVNlY29uZE9iamVjdFN0b3JlKCkKQEAgLTgz
LDEzICs2NSwxOCBAQCBmdW5jdGlvbiBkZWxldGVTZWNvbmRPYmplY3RTdG9yZSgpCiAKIGZ1bmN0
aW9uIHNldFZlcnNpb24zKCkKIHsKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9
IGRiLnNldFZlcnNpb24oJzMnKTsiKTsKKyAgICBldmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7CisK
KyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAzKSIpOwog
ICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gcG9zdFNldFZlcnNpb24zOworICAgIHJlcXVlc3Qub25ibG9ja2VkID0g
dW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9
IGluU2V0VmVyc2lvbjM7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmaW5pc2hKU1Rlc3Q7CiB9
CiAKLWZ1bmN0aW9uIHBvc3RTZXRWZXJzaW9uMygpCitmdW5jdGlvbiBpblNldFZlcnNpb24zKCkK
IHsKKyAgICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CiAgICAgb2JqZWN0U3RvcmUgPSBldmFs
QW5kTG9nKCJvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKG9iamVjdFN0b3JlTmFt
ZSwgeyBrZXlQYXRoOiAnZm9vJyB9KTsiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVx
dWVzdCA9IG9iamVjdFN0b3JlLmFkZCh7Zm9vOidiYXInfSk7Iik7CiAgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CkBAIC05OSw3ICs4Niw0IEBAIGZ1bmN0aW9u
IHBvc3RTZXRWZXJzaW9uMygpCiBmdW5jdGlvbiBkZWxldGVUaGlyZE9iamVjdFN0b3JlKCkKIHsK
ICAgICBldmFsQW5kTG9nKCJkYi5kZWxldGVPYmplY3RTdG9yZShvYmplY3RTdG9yZU5hbWUpOyIp
OwotICAgIGZpbmlzaEpTVGVzdCgpOwogfQotCi10ZXN0KCk7ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0
c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGY2YzhiYjFmNzc0Y2E1MzliYWJlYzk2NjExMmUwYzhmNjA0N2Y1NDcuLmRhYTM5NWY4YTk4
NDMxMDRmNDVlMWNhZDg3ZDFmY2UyNDkzMTNjYmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVv
YmplY3RzdG9yZS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACi1DT05TT0xFIE1FU1NBR0U6
IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2lsbCBiZSByZW1v
dmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgogVGVzdCBJbmRleGVk
REIncyB3ZWJraXRJREJPYmplY3RTdG9yZS5kZWxldGVPYmplY3RTdG9yZSgpLgogCiBPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCkBAIC0xNyw5ICsxNiw4IEBAIGRiLnRyYW5zYWN0aW9uKFsnc3Rv
cmVOYW1lJ10pCiBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQog
c3RvcmUuZ2V0KCdrZXknKQogUEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlzICJ2YWx1ZSIKLWRi
LnNldFZlcnNpb24oJ25ldyB2ZXJzaW9uJykKLXRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdAot
UEFTUyB0cmFucyBpcyBub24tbnVsbC4KK2RiLmNsb3NlKCkKK2luZGV4ZWREQi5vcGVuKGRibmFt
ZSwgMikKIGRiLmRlbGV0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQogZGIuY3JlYXRlT2JqZWN0
U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpCiBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL29iamVj
dHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvcmVzb3VyY2VzL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmpzCmluZGV4IDQxZTVj
NzY1NzVhMGU1YjY0YTc0MWFiOWI5NjUxYzYwZTRmM2Q3NTcuLjkwNDBhYmM5YzFjMWQ2MDQ0N2Y1
MTlkYjNiMmEwMjk3MmRlZjZiMDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3Jlc291cmNlcy9vYmplY3RzdG9yZS1yZW1vdmVvYmplY3RzdG9yZS5qcworKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb2JqZWN0c3RvcmUtcmVtb3Zl
b2JqZWN0c3RvcmUuanMKQEAgLTIzLDI2ICsyMywzNCBAQCBmdW5jdGlvbiBnZXRWYWx1ZSgpCiB7
CiAgICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFt
ZSddKSIpOwogICAgIHRyYW5zYWN0aW9uLm9uYWJvcnQgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFj
azsKKyAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gYWRkSW5kZXg7CiAgICAgdmFyIHN0b3Jl
ID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1l
JykiKTsKIAogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJzdG9yZS5nZXQoJ2tleScpIik7Ci0g
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBhZGRJbmRleDsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9
IGNoZWNrUmVzdWx0OwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxi
YWNrOwogfQogCi1mdW5jdGlvbiBhZGRJbmRleCgpCitmdW5jdGlvbiBjaGVja1Jlc3VsdCgpCiB7
CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC50YXJnZXQucmVzdWx0IiwgInZhbHVl
Iik7Cit9CisKK2Z1bmN0aW9uIGFkZEluZGV4KCkKK3sKKyAgICBldmFsQW5kTG9nKCJkYi5jbG9z
ZSgpIik7CiAKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignbmV3IHZl
cnNpb24nKSIpOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZGVsZXRlT2JqZWN0U3RvcmU7Cisg
ICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKGRibmFtZSwgMikiKTsKKyAg
ICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IGRlbGV0ZU9iamVjdFN0b3JlOwogICAgIHJlcXVl
c3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHJlcXVlc3Qub25zdWNj
ZXNzID0gZ2V0VmFsdWVBZ2FpbjsKKyAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRC
bG9ja2VkQ2FsbGJhY2s7CiB9CiAKIGZ1bmN0aW9uIGRlbGV0ZU9iamVjdFN0b3JlKCkKIHsKLSAg
ICBzZWxmLnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Iik7
Ci0gICAgc2hvdWxkQmVOb25OdWxsKCJ0cmFucyIpOworICAgIHRyYW5zID0gcmVxdWVzdC50cmFu
c2FjdGlvbjsKKyAgICBkYiA9IHJlcXVlc3QucmVzdWx0OwogICAgIHRyYW5zLm9uYWJvcnQgPSB1
bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKIAogICAgIGV2YWxBbmRMb2coImRiLmRlbGV0ZU9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnKSIpOwpAQCAtNTIsNyArNjAsNiBAQCBmdW5jdGlvbiBkZWxldGVP
YmplY3RTdG9yZSgpCiBmdW5jdGlvbiBjcmVhdGVPYmplY3RTdG9yZUFnYWluKCkKIHsKICAgICBl
dmFsQW5kTG9nKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkiKTsKLSAg
ICB0cmFucy5vbmNvbXBsZXRlID0gZ2V0VmFsdWVBZ2FpbjsKIH0KIAogZnVuY3Rpb24gZ2V0VmFs
dWVBZ2FpbigpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174302</attachid>
            <date>2012-11-14 17:58:58 -0800</date>
            <delta_ts>2012-11-15 12:55:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102308-20121114175657.patch</filename>
            <type>text/plain</type>
            <size>32490</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NzAyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2JmNTc1ZjM2OTM4ZTFiZjg3OTU5
ZTFmMTYzMmIxMzRkYjVhMDlmMy4uN2ZjMzljYjA5MjAyYjljZTBjZWMzNzAwNzA3NWM4YjQzNjgz
Y2NjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU0IEBACiAyMDEyLTExLTE0ICBEYXZpZCBHcm9nYW4gIDxk
Z3JvZ2FuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBJbmRleGVkREIgdGVzdCBjb252ZXJzaW9u
cyBiYXRjaCA1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDIzMDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4
ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZXZl
bnQtc291cmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3pp
bGxhL2dsb2JhbC1kYXRhLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL2tleS1yZXF1aXJlbWVudHMtcHV0LW51bGwta2V5LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29kZC1yZXN1bHQtb3JkZXItZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVtb3ZlLW9iamVj
dHN0b3JlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxh
L3Jlc291cmNlcy9jdXJzb3ItdXBkYXRlLXVwZGF0ZXMtaW5kZXhlcy5qczoKKyAgICAgICAgICBD
YWxscyBpbmRleGVkREJUZXN0IGEgYnVuY2ggb2YgdGltZXMsIHdoaWNoIHNlZW1zIGF3a3dhcmQs
IGJ1dCBpcworICAgICAgICAgIHJlYWxseSBjb252ZW5pZW50LgorCisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvZXZlbnQtc291cmNlLmpzOgorICAgICAgICAg
IE5vdyB0aGF0IHNldFZlcnNpb24gaXMgZ29uZSwgaXQgYXBwZWFycyB0aGF0IG5vIHJlcXVlc3Qg
c2hvdWxkIGhhdmUKKyAgICAgICAgICBhIGRhdGFiYXNlIGFzIGEgc291cmNlIHNvIHRoZSBkcm9w
cGVkIHRlc3QgaXMgb2suCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jl
c291cmNlcy9nbG9iYWwtZGF0YS5qczoKKyAgICAgICAgKHByZXBhcmVEYXRhYmFzZSk6CisgICAg
ICAgIChvcGVuMlN1Y2Nlc3MpOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
cmVzb3VyY2VzL2tleS1yZXF1aXJlbWVudHMtcHV0LW51bGwta2V5LmpzOgorICAgICAgICAocHJl
cGFyZURhdGFiYXNlKToKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291
cmNlcy9vZGQtcmVzdWx0LW9yZGVyLmpzOgorICAgICAgICAgIFRoZSB0ZXN0cyBoYWQgdG8gYmUg
cnVuIGluIHNsaWdodGx5IGRpZmZlcmVudCBvcmRlciBidXQgdGhleSBhcmUgYWxsCisgICAgICAg
ICAgcHJlc2VydmVkLgorCisgICAgICAgIChwcmVwYXJlRGF0YWJhc2UpOgorICAgICAgICAob3Bl
blN1Y2Nlc3MpOgorICAgICAgICAoZGVsZXRlU3VjY2Vzcyk6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvcmVtb3ZlLW9iamVjdHN0b3JlLmpzOgorICAgICAg
ICAocHJlcGFyZURhdGFiYXNlKToKKyAgICAgICAgKGNoZWNrT2JqZWN0U3RvcmUpOgorICAgICAg
ICAoaW5TZXRWZXJzaW9uMi5yZXF1ZXN0Lm9uc3VjY2Vzcyk6CisgICAgICAgIChpblNldFZlcnNp
b24yKToKKyAgICAgICAgKHNldFZlcnNpb24zKToKKyAgICAgICAgKGluU2V0VmVyc2lvbjMpOgor
ICAgICAgICAoZGVsZXRlVGhpcmRPYmplY3RTdG9yZSk6CisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9vYmplY3RzdG9yZS1yZW1vdmVvYmplY3Rz
dG9yZS5qczoKKyAgICAgICAgKGdldFZhbHVlKToKKyAgICAgICAgKGNoZWNrUmVzdWx0KToKKyAg
ICAgICAgKGFkZEluZGV4KToKKyAgICAgICAgKGRlbGV0ZU9iamVjdFN0b3JlKToKKyAgICAgICAg
KGNyZWF0ZU9iamVjdFN0b3JlQWdhaW4pOgorCisyMDEyLTExLTE0ICBEYXZpZCBHcm9nYW4gIDxk
Z3JvZ2FuQGNocm9taXVtLm9yZz4KKwogICAgICAgICBJbmRleGVkREI6IFRlc3QgY29udmVyc2lv
bnMgYmF0Y2ggNAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAyMjY3CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEvY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3ItdXBkYXRlLXVwZGF0ZXMtaW5k
ZXhlcy1leHBlY3RlZC50eHQKaW5kZXggYWIzMTRjZTVlZDRmNWViMWM4MGU4Mzg4MDA1ZjY1Y2Q1
NTQxOTM5Mi4uZDFmYTRmYjM0ZGQ2NDQ4MmYyNjJlMzM2MTljNGEwMmE2OGMwOWVkZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3ItdXBkYXRl
LXVwZGF0ZXMtaW5kZXhlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9jdXJzb3ItdXBkYXRlLXVwZGF0ZXMtaW5kZXhlcy1leHBlY3RlZC50
eHQKQEAgLTEsMTQgKzEsOCBAQAotQ09OU09MRSBNRVNTQUdFOiBUaGUgc2V0VmVyc2lvbigpIG1l
dGhvZCBpcyBub24tc3RhbmRhcmQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIHRoZSAidXBncmFk
ZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4KIFRlc3QgSW5kZXhlZERCOiBtdXRhdGluZyByZWNvcmRz
IHdpdGggYSByL3cgY3Vyc29yIHVwZGF0ZXMgaW5kZXhlcyBvbiB0aG9zZSByZWNvcmRzCiAKIE9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogCi1pbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8
fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5k
ZXhlZERCIHx8IHNlbGYuT0luZGV4ZWREQjsKLQotaW5kZXhlZERCLm9wZW4obmFtZSkKLW9wZW5T
dWNjZXNzKCk6Ci1kYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKIGZpcnN0VmFsdWUgPSAnaGknOwog
c2Vjb25kVmFsdWUgPSAnYnllJzsKIG9iamVjdFN0b3JlSW5mbyA9IFsKQEAgLTIyLDE1ICsxNiwy
MSBAQCBvYmplY3RTdG9yZUluZm8gPSBbCiAgICAgICAgICAgZW50cnk6IHsgZGF0YTogZmlyc3RW
YWx1ZSB9IH0sCiAgICAgXTsKIGkgPSAwOworCitpbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8
fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5k
ZXhlZERCIHx8IHNlbGYuT0luZGV4ZWREQjsKKworZGJuYW1lID0gImN1cnNvci11cGRhdGUtdXBk
YXRlcy1pbmRleGVzLmh0bWwiCitpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKQogaW5m
byA9IG9iamVjdFN0b3JlSW5mb1tpXTsKLXJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykKK2lu
ZGV4ZWREQi5vcGVuKGRibmFtZSkKIHNldHVwT2JqZWN0U3RvcmVBbmRDcmVhdGVJbmRleCgpOgot
RGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KK2RiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAogb2Jq
ZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZShpbmZvLm5hbWUsIGluZm8ub3B0aW9ucyk7
CiBpbmRleCA9IG9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCdkYXRhX2luZGV4JywgJ2RhdGEnLCB7
IHVuaXF1ZTogZmFsc2UgfSk7CiB1bmlxdWVJbmRleCA9IG9iamVjdFN0b3JlLmNyZWF0ZUluZGV4
KCd1bmlxdWVfZGF0YV9pbmRleCcsICdkYXRhJywgeyB1bmlxdWU6IHRydWUgfSk7CiByZXF1ZXN0
ID0gb2JqZWN0U3RvcmUuYWRkKGluZm8uZW50cnksIGluZm8ua2V5KTsKIHRyYW5zID0gZGIudHJh
bnNhY3Rpb24oaW5mby5uYW1lLCAncmVhZHdyaXRlJykKK3RyYW5zLm9uY29tcGxldGUgPSB0ZXN0
CiBvYmplY3RTdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKGluZm8ubmFtZSkKIGluZGV4ID0gb2Jq
ZWN0U3RvcmUuaW5kZXgoJ2RhdGFfaW5kZXgnKQogdW5pcXVlSW5kZXggPSBvYmplY3RTdG9yZS5p
bmRleCgndW5pcXVlX2RhdGFfaW5kZXgnKQpAQCAtNDQsMTUgKzQ0LDIxIEBAIFBBU1MgdmFsdWUu
ZGF0YSBpcyBldmVudC50YXJnZXQucmVzdWx0LmRhdGEKIHJlcXVlc3QgPSB1bmlxdWVJbmRleC5n
ZXQoc2Vjb25kVmFsdWUpOwogUEFTUyB2YWx1ZS5kYXRhIGlzIGV2ZW50LnRhcmdldC5yZXN1bHQu
ZGF0YQogaSsrOworZGIuY2xvc2UoKQoraW5kZXhlZERCID0gc2VsZi5pbmRleGVkREIgfHwgc2Vs
Zi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2VsZi5tc0luZGV4ZWRE
QiB8fCBzZWxmLk9JbmRleGVkREI7CisKK2RibmFtZSA9ICJjdXJzb3ItdXBkYXRlLXVwZGF0ZXMt
aW5kZXhlcy5odG1sIgoraW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKIGluZm8gPSBv
YmplY3RTdG9yZUluZm9baV07Ci1yZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMScpCitpbmRleGVk
REIub3BlbihkYm5hbWUpCiBzZXR1cE9iamVjdFN0b3JlQW5kQ3JlYXRlSW5kZXgoKToKLURlbGV0
ZWQgYWxsIG9iamVjdCBzdG9yZXMuCitkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKIG9iamVjdFN0
b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoaW5mby5uYW1lLCBpbmZvLm9wdGlvbnMpOwogaW5k
ZXggPSBvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgnZGF0YV9pbmRleCcsICdkYXRhJywgeyB1bmlx
dWU6IGZhbHNlIH0pOwogdW5pcXVlSW5kZXggPSBvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgndW5p
cXVlX2RhdGFfaW5kZXgnLCAnZGF0YScsIHsgdW5pcXVlOiB0cnVlIH0pOwogcmVxdWVzdCA9IG9i
amVjdFN0b3JlLmFkZChpbmZvLmVudHJ5KTsKIHRyYW5zID0gZGIudHJhbnNhY3Rpb24oaW5mby5u
YW1lLCAncmVhZHdyaXRlJykKK3RyYW5zLm9uY29tcGxldGUgPSB0ZXN0CiBvYmplY3RTdG9yZSA9
IHRyYW5zLm9iamVjdFN0b3JlKGluZm8ubmFtZSkKIGluZGV4ID0gb2JqZWN0U3RvcmUuaW5kZXgo
J2RhdGFfaW5kZXgnKQogdW5pcXVlSW5kZXggPSBvYmplY3RTdG9yZS5pbmRleCgndW5pcXVlX2Rh
dGFfaW5kZXgnKQpAQCAtNjYsMTUgKzcyLDIxIEBAIFBBU1MgdmFsdWUuZGF0YSBpcyBldmVudC50
YXJnZXQucmVzdWx0LmRhdGEKIHJlcXVlc3QgPSB1bmlxdWVJbmRleC5nZXQoc2Vjb25kVmFsdWUp
OwogUEFTUyB2YWx1ZS5kYXRhIGlzIGV2ZW50LnRhcmdldC5yZXN1bHQuZGF0YQogaSsrOworZGIu
Y2xvc2UoKQoraW5kZXhlZERCID0gc2VsZi5pbmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVk
REIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRl
eGVkREI7CisKK2RibmFtZSA9ICJjdXJzb3ItdXBkYXRlLXVwZGF0ZXMtaW5kZXhlcy5odG1sIgor
aW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKIGluZm8gPSBvYmplY3RTdG9yZUluZm9b
aV07Ci1yZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMScpCitpbmRleGVkREIub3BlbihkYm5hbWUp
CiBzZXR1cE9iamVjdFN0b3JlQW5kQ3JlYXRlSW5kZXgoKToKLURlbGV0ZWQgYWxsIG9iamVjdCBz
dG9yZXMuCitkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKIG9iamVjdFN0b3JlID0gZGIuY3JlYXRl
T2JqZWN0U3RvcmUoaW5mby5uYW1lLCBpbmZvLm9wdGlvbnMpOwogaW5kZXggPSBvYmplY3RTdG9y
ZS5jcmVhdGVJbmRleCgnZGF0YV9pbmRleCcsICdkYXRhJywgeyB1bmlxdWU6IGZhbHNlIH0pOwog
dW5pcXVlSW5kZXggPSBvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgndW5pcXVlX2RhdGFfaW5kZXgn
LCAnZGF0YScsIHsgdW5pcXVlOiB0cnVlIH0pOwogcmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZChp
bmZvLmVudHJ5KTsKIHRyYW5zID0gZGIudHJhbnNhY3Rpb24oaW5mby5uYW1lLCAncmVhZHdyaXRl
JykKK3RyYW5zLm9uY29tcGxldGUgPSB0ZXN0CiBvYmplY3RTdG9yZSA9IHRyYW5zLm9iamVjdFN0
b3JlKGluZm8ubmFtZSkKIGluZGV4ID0gb2JqZWN0U3RvcmUuaW5kZXgoJ2RhdGFfaW5kZXgnKQog
dW5pcXVlSW5kZXggPSBvYmplY3RTdG9yZS5pbmRleCgndW5pcXVlX2RhdGFfaW5kZXgnKQpAQCAt
ODgsMTUgKzEwMCwyMSBAQCBQQVNTIHZhbHVlLmRhdGEgaXMgZXZlbnQudGFyZ2V0LnJlc3VsdC5k
YXRhCiByZXF1ZXN0ID0gdW5pcXVlSW5kZXguZ2V0KHNlY29uZFZhbHVlKTsKIFBBU1MgdmFsdWUu
ZGF0YSBpcyBldmVudC50YXJnZXQucmVzdWx0LmRhdGEKIGkrKzsKK2RiLmNsb3NlKCkKK2luZGV4
ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96
SW5kZXhlZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOworCitkYm5h
bWUgPSAiY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4ZXMuaHRtbCIKK2luZGV4ZWREQi5kZWxl
dGVEYXRhYmFzZShkYm5hbWUpCiBpbmZvID0gb2JqZWN0U3RvcmVJbmZvW2ldOwotcmVxdWVzdCA9
IGRiLnNldFZlcnNpb24oJzEnKQoraW5kZXhlZERCLm9wZW4oZGJuYW1lKQogc2V0dXBPYmplY3RT
dG9yZUFuZENyZWF0ZUluZGV4KCk6Ci1EZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgorZGIgPSBl
dmVudC50YXJnZXQucmVzdWx0CiBvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKGlu
Zm8ubmFtZSwgaW5mby5vcHRpb25zKTsKIGluZGV4ID0gb2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgo
J2RhdGFfaW5kZXgnLCAnZGF0YScsIHsgdW5pcXVlOiBmYWxzZSB9KTsKIHVuaXF1ZUluZGV4ID0g
b2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoJ3VuaXF1ZV9kYXRhX2luZGV4JywgJ2RhdGEnLCB7IHVu
aXF1ZTogdHJ1ZSB9KTsKIHJlcXVlc3QgPSBvYmplY3RTdG9yZS5hZGQoaW5mby5lbnRyeSk7CiB0
cmFucyA9IGRiLnRyYW5zYWN0aW9uKGluZm8ubmFtZSwgJ3JlYWR3cml0ZScpCit0cmFucy5vbmNv
bXBsZXRlID0gdGVzdAogb2JqZWN0U3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZShpbmZvLm5hbWUp
CiBpbmRleCA9IG9iamVjdFN0b3JlLmluZGV4KCdkYXRhX2luZGV4JykKIHVuaXF1ZUluZGV4ID0g
b2JqZWN0U3RvcmUuaW5kZXgoJ3VuaXF1ZV9kYXRhX2luZGV4JykKQEAgLTExMCw2ICsxMjgsNyBA
QCBQQVNTIHZhbHVlLmRhdGEgaXMgZXZlbnQudGFyZ2V0LnJlc3VsdC5kYXRhCiByZXF1ZXN0ID0g
dW5pcXVlSW5kZXguZ2V0KHNlY29uZFZhbHVlKTsKIFBBU1MgdmFsdWUuZGF0YSBpcyBldmVudC50
YXJnZXQucmVzdWx0LmRhdGEKIGkrKzsKK2RiLmNsb3NlKCkKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9ldmVudC1zb3VyY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9ldmVudC1zb3VyY2UtZXhwZWN0ZWQudHh0
CmluZGV4IGM4NWYyYzA5MTBmNGMxZDMyNDljN2M0Y2QzOGIwYTE4MTM0MTEzZGEuLmQ4NzBjMjhk
YWNjNzViZGE3NzBkZTdkNTIwYzY0Yzk3ZTRhYTZjYjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZXZlbnQtc291cmNlLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2V2ZW50LXNvdXJjZS1leHBl
Y3RlZC50eHQKQEAgLTEsNCArMSwzIEBACi1DT05TT0xFIE1FU1NBR0U6IFRoZSBzZXRWZXJzaW9u
KCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgdGhlICJ1
cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgogVGVzdCBJbmRleGVkREIncyBldmVudC50YXJn
ZXQuc291cmNlIGluIHN1Y2Nlc3MgY2FsbGJhY2tzCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KQEAgLTYsMTQgKzUsMTEgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogaW5kZXhlZERC
ID0gc2VsZi5pbmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRl
eGVkREIgfHwgc2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CiAKLWluZGV4ZWRE
Qi5vcGVuKG5hbWUpCitkYm5hbWUgPSAiZXZlbnQtc291cmNlLmh0bWwiCitpbmRleGVkREIuZGVs
ZXRlRGF0YWJhc2UoZGJuYW1lKQoraW5kZXhlZERCLm9wZW4oZGJuYW1lKQogc291cmNlID0gZXZl
bnQudGFyZ2V0LnNvdXJjZTsKIFBBU1Mgc291cmNlIGlzIG51bGwKLWRiID0gZXZlbnQudGFyZ2V0
LnJlc3VsdAotcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQotc291cmNlID0gZXZlbnQudGFy
Z2V0LnNvdXJjZTsKLVBBU1Mgc291cmNlIGlzIGRiCi1EZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVz
Lgogb2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZShvYmplY3RTdG9yZU5hbWUsIHsg
YXV0b0luY3JlbWVudDogdHJ1ZSB9KTsKIHJlcXVlc3QgPSBvYmplY3RTdG9yZS5hZGQoe30pOwog
c291cmNlID0gZXZlbnQudGFyZ2V0LnNvdXJjZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZ2xvYmFsLWRhdGEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9nbG9iYWwtZGF0YS1leHBlY3RlZC50eHQK
aW5kZXggNzBhY2UwZTBiYWIzNGY4M2M4MzFkZmJiNDEwYmFiYjNkNDUyMmFhMC4uNDk5ZmJmNzE5
MzJlODIwNjQ4Y2RlNmM1MzkzNjNiMWFlMWMxYzkwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9nbG9iYWwtZGF0YS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9nbG9iYWwtZGF0YS1leHBlY3Rl
ZC50eHQKQEAgLTEsNCArMSwzIEBACi1DT05TT0xFIE1FU1NBR0U6IFRoZSBzZXRWZXJzaW9uKCkg
bWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgdGhlICJ1cGdy
YWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgogVGVzdCBJbmRleGVkREIncyBvcGVuaW5nIERCIG1v
cmUgdGhhbiBvbmNlCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KQEAgLTYsMTIgKzUsMTEg
QEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogaW5kZXhlZERCID0gc2VsZi5pbmRleGVkREIg
fHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2VsZi5tc0lu
ZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CiAKLWluZGV4ZWREQi5vcGVuKG5hbWUpCi1kYjEg
PSBldmVudC50YXJnZXQucmVzdWx0Ci1yZXF1ZXN0ID0gZGIxLnNldFZlcnNpb24oJzEnKQotRGVs
ZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KK2RibmFtZSA9ICJnbG9iYWwtZGF0YS5odG1sIgoraW5k
ZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKK2luZGV4ZWREQi5vcGVuKGRibmFtZSkKIGRi
MS5jcmVhdGVPYmplY3RTdG9yZShvYmplY3RTdG9yZU5hbWUsIG9iamVjdFN0b3JlT3B0aW9ucyk7
Ci1pbmRleGVkREIub3BlbihuYW1lKTsKK2luZGV4ZWREQi5vcGVuKGRibmFtZSk7CiBkYjIgPSBl
dmVudC50YXJnZXQucmVzdWx0CiBQQVNTIGRiMSAhPT0gZGIyIGlzIHRydWUKIFBBU1MgZGIxLm9i
amVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL21vemlsbGEva2V5LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1rZXktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWly
ZW1lbnRzLXB1dC1udWxsLWtleS1leHBlY3RlZC50eHQKaW5kZXggZDJlN2NlMGRkMWQ1NWZjZGM0
YmE2ODM1ZDk5ZGQ0MTBhODA5YTI5YS4uMjcwMWIwYzQ3MDU4NGQ4YTBlNTE2YzY4NTRkY2ZkYWQ5
ZWMxMWE5MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxs
YS9rZXktcmVxdWlyZW1lbnRzLXB1dC1udWxsLWtleS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9rZXktcmVxdWlyZW1lbnRzLXB1dC1udWxs
LWtleS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACi1DT05TT0xFIE1FU1NBR0U6IFRoZSBz
ZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBV
c2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgogVGVzdCBJbmRleGVkREIncyBi
ZWhhdmlvciBwdXQoKWluZyB3aXRoIG51bGwga2V5CiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KQEAgLTYsMTAgKzUsOSBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBpbmRleGVkREIg
PSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4
ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWREQjsKIAotaW5kZXhlZERC
Lm9wZW4obmFtZSkKLWRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAotcmVxdWVzdCA9IGRiLnNldFZl
cnNpb24oJzEnKQotRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KK2RibmFtZSA9ICJrZXktcmVx
dWlyZW1lbnRzLXB1dC1udWxsLWtleS5odG1sIgoraW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRi
bmFtZSkKK2luZGV4ZWREQi5vcGVuKGRibmFtZSkKIG9iamVjdFN0b3JlID0gZGIuY3JlYXRlT2Jq
ZWN0U3RvcmUoJ2JhcicpOwogRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIG9iamVjdFN0b3JlLnB1
dCh7fSwgbnVsbCk7CiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0LW9yZGVyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2RkLXJlc3Vs
dC1vcmRlci1leHBlY3RlZC50eHQKaW5kZXggOTQ3YWE1NDAwMDA5ZDE0YjM4MzEzNDBmM2Q4ODgy
YWQwOWVlZWFmMS4uOGVmYzRmN2U3OTM1ZjgwYWZjYTNkYzgxY2FlMWYxNWQwNWI2YmZjOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0
LW9yZGVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9t
b3ppbGxhL29kZC1yZXN1bHQtb3JkZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAotQ09O
U09MRSBNRVNTQUdFOiBUaGUgc2V0VmVyc2lvbigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQgYW5k
IHdpbGwgYmUgcmVtb3ZlZC4gVXNlIHRoZSAidXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4K
IFRlc3QgSW5kZXhlZERCOiByZXF1ZXN0IHJlc3VsdCBwZXJzaXN0cyBpbiBzZXRUaW1lb3V0IGNh
bGxiYWNrCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KQEAgLTYsMTggKzUsMTYgQEAgT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogaW5kZXhlZERCID0gc2VsZi5pbmRleGVkREIgfHwgc2Vs
Zi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2VsZi5tc0luZGV4ZWRE
QiB8fCBzZWxmLk9JbmRleGVkREI7CiAKLWluZGV4ZWREQi5vcGVuKG5hbWUpCitkYm5hbWUgPSAi
b2RkLXJlc3VsdC1vcmRlci5odG1sIgoraW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkK
K2luZGV4ZWREQi5vcGVuKGRibmFtZSkKK29iamVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3Rv
cmUoJ2ZvbycsIHsga2V5UGF0aDogJ2tleScsIGF1dG9JbmNyZW1lbnQ6IHRydWUgfSk7CitpbmRl
eCA9IG9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCdmb28nLCAnaW5kZXgnKTsKIG9wZW5TdWNjZXNz
KCk6CiBkYiA9IG51bGw7CiBkYiA9IHJlcXVlc3QucmVzdWx0OwogY2hlY2tEYXRhYmFzZVR5cGUo
KToKIFBBU1MgZGIgaW5zdGFuY2VvZiBJREJEYXRhYmFzZSBpcyB0cnVlCi1yZXF1ZXN0ID0gZGIu
c2V0VmVyc2lvbignMScpCi1zZXR1cE9iamVjdFN0b3JlKCk6Ci1EZWxldGVkIGFsbCBvYmplY3Qg
c3RvcmVzLgotb2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnZm9vJywgeyBrZXlQ
YXRoOiAna2V5JywgYXV0b0luY3JlbWVudDogdHJ1ZSB9KTsKLWluZGV4ID0gb2JqZWN0U3RvcmUu
Y3JlYXRlSW5kZXgoJ2ZvbycsICdpbmRleCcpOwotZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLm9u
Y29tcGxldGUgPSBhZGRSZWNvcmQ7CiBhZGRSZWNvcmQoKToKIG9iamVjdFN0b3JlID0gZGIudHJh
bnNhY3Rpb24oJ2ZvbycsICdyZWFkd3JpdGUnKS5vYmplY3RTdG9yZSgnZm9vJyk7CiBkYXRhID0g
eyBrZXk6IDUsIGluZGV4OiAxMCB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9yZW1vdmUtb2JqZWN0c3RvcmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZW1vdmUtb2JqZWN0c3RvcmUtZXhwZWN0
ZWQudHh0CmluZGV4IGIyNDgyODYzM2M4YmViMWYxZTRkNTA4MTdiNTNmNGJjMzZkZjA3ZDguLjQ5
MTlmMGZmYjJjOTdiNTIyNDgxNzhiZmZlODU5ZDUwNDg3Zjk4NmYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVtb3ZlLW9iamVjdHN0b3JlLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlbW92
ZS1vYmplY3RzdG9yZS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACi1DT05TT0xFIE1FU1NB
R0U6IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2lsbCBiZSBy
ZW1vdmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgogVGVzdCBJbmRl
eGVkREIgZGVsZXRpbmcgYW4gb2JqZWN0IHN0b3JlCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KQEAgLTYsMTEgKzUsMTAgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogaW5kZXhlZERC
ID0gc2VsZi5pbmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRl
eGVkREIgfHwgc2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CiAKLWluZGV4ZWRE
Qi5vcGVuKG5hbWUpCi1kYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK2RibmFtZSA9ICJyZW1vdmUt
b2JqZWN0c3RvcmUuaHRtbCIKK2luZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpCitpbmRl
eGVkREIub3BlbihkYm5hbWUpCiBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDAK
LXJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykKLURlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMu
CiBvYmplY3RTdG9yZU5hbWUgPSAnT2JqZWN0cyc7CiBvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9i
amVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSwgeyBrZXlQYXRoOiAnZm9vJyB9KTsKIHJlcXVlc3Qg
PSBvYmplY3RTdG9yZS5hZGQoe2ZvbzogaX0pOwpAQCAtMTE1LDYgKzExMyw4IEBAIHJlcXVlc3Qg
PSBvYmplY3RTdG9yZS5hZGQoe2ZvbzogaX0pOwogcmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZCh7
Zm9vOiBpfSk7CiBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDEKIFBBU1MgZGIu
b2JqZWN0U3RvcmVOYW1lcy5pdGVtKDApIGlzIG9iamVjdFN0b3JlTmFtZQorZGIuY2xvc2UoKQor
cmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMikKIGRiLmRlbGV0ZU9iamVjdFN0b3Jl
KG9iamVjdFN0b3JlLm5hbWUpOwogUEFTUyBkYi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCBpcyAw
CiBvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSwgeyBr
ZXlQYXRoOiAnZm9vJyB9KTsKQEAgLTEyNCw3ICsxMjQsOCBAQCByZXF1ZXN0ID0gb2JqZWN0U3Rv
cmUub3BlbkN1cnNvcigpOwogUEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlzIG51bGwKIGRiLmRl
bGV0ZU9iamVjdFN0b3JlKG9iamVjdFN0b3JlLm5hbWUpOwogUEFTUyBkYi5vYmplY3RTdG9yZU5h
bWVzLmxlbmd0aCBpcyAwCi1yZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMycpOworZGIuY2xvc2Uo
KQorcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMykKIG9iamVjdFN0b3JlID0gZGIu
Y3JlYXRlT2JqZWN0U3RvcmUob2JqZWN0U3RvcmVOYW1lLCB7IGtleVBhdGg6ICdmb28nIH0pOwog
cmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZCh7Zm9vOidiYXInfSk7CiBkYi5kZWxldGVPYmplY3RT
dG9yZShvYmplY3RTdG9yZU5hbWUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvY3Vyc29yLXVwZGF0ZS11cGRhdGVzLWluZGV4ZXMu
anMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9jdXJz
b3ItdXBkYXRlLXVwZGF0ZXMtaW5kZXhlcy5qcwppbmRleCBjOWI5MzQxMTA5MjU1NDMxOWJiN2E3
NjUzZDlmMWU1MWQ3YTZjNGE3Li40MDhjMDYxYTYwMGUwOTQwYzk1NWNmMjU0MGZlOTdjYjNiODA4
MDc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jl
c291cmNlcy9jdXJzb3ItdXBkYXRlLXVwZGF0ZXMtaW5kZXhlcy5qcworKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9jdXJzb3ItdXBkYXRlLXVwZGF0
ZXMtaW5kZXhlcy5qcwpAQCAtMTEsMjMgKzExLDkgQEAgaWYgKHRoaXMuaW1wb3J0U2NyaXB0cykg
ewogCiBkZXNjcmlwdGlvbigiVGVzdCBJbmRleGVkREI6IG11dGF0aW5nIHJlY29yZHMgd2l0aCBh
IHIvdyBjdXJzb3IgdXBkYXRlcyBpbmRleGVzIG9uIHRob3NlIHJlY29yZHMiKTsKIAotZnVuY3Rp
b24gdGVzdCgpCi17Ci0gICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKLQotICAgIG5hbWUgPSBz
ZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVk
REIub3BlbihuYW1lKSIpOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7Ci0g
ICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci19Ci0KLWZ1bmN0
aW9uIG9wZW5TdWNjZXNzKCkKLXsKLSAgICBkZWJ1Zygib3BlblN1Y2Nlc3MoKToiKTsKLSAgICBk
YiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwotICAgIGZpcnN0VmFs
dWUgPSBldmFsQW5kTG9nKCJmaXJzdFZhbHVlID0gJ2hpJzsiKTsKLSAgICBzZWNvbmRWYWx1ZSA9
IGV2YWxBbmRMb2coInNlY29uZFZhbHVlID0gJ2J5ZSc7Iik7Ci0gICAgb2JqZWN0U3RvcmVJbmZv
ID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmVJbmZvID0gW1xuIiArCitmaXJzdFZhbHVlID0gZXZh
bEFuZExvZygiZmlyc3RWYWx1ZSA9ICdoaSc7Iik7CitzZWNvbmRWYWx1ZSA9IGV2YWxBbmRMb2co
InNlY29uZFZhbHVlID0gJ2J5ZSc7Iik7CitvYmplY3RTdG9yZUluZm8gPSBldmFsQW5kTG9nKCJv
YmplY3RTdG9yZUluZm8gPSBbXG4iICsKICIgICAgICAgIHsgbmFtZTogJzEnLCBvcHRpb25zOiB7
fSwga2V5OiAxLFxuIiArCiAiICAgICAgICAgIGVudHJ5OiB7IGRhdGE6IGZpcnN0VmFsdWUgfSB9
LFxuIiArCiAiICAgICAgICB7IG5hbWU6ICcyJywgb3B0aW9uczogeyBrZXlQYXRoOiAnZm9vJyB9
LFxuIiArCkBAIC0zNywxNyArMjMsMTYgQEAgZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQogIiAgICAg
ICAgeyBuYW1lOiAnNCcsIG9wdGlvbnM6IHsga2V5UGF0aDogJ2ZvbycsIGF1dG9JbmNyZW1lbnQ6
IHRydWUgfSxcbiIgKwogIiAgICAgICAgICBlbnRyeTogeyBkYXRhOiBmaXJzdFZhbHVlIH0gfSxc
biIgKwogIiAgICBdOyIpOwotICAgIGkgPSBldmFsQW5kTG9nKCJpID0gMDsiKTsKLSAgICBzZXRW
ZXJzaW9uKCk7Ci19CitpID0gZXZhbEFuZExvZygiaSA9IDA7Iik7CitkZWJ1ZygiIik7CisKK3Rl
c3QoKTsKIAotZnVuY3Rpb24gc2V0VmVyc2lvbigpCitmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICBp
ZiAoaSA8IG9iamVjdFN0b3JlSW5mby5sZW5ndGgpIHsKKyAgICAgICAgaW5kZXhlZERCVGVzdChz
ZXR1cE9iamVjdFN0b3JlQW5kQ3JlYXRlSW5kZXhBbmRBZGQsIG9wZW5DdXJzb3IpOwogICAgICAg
ICBpbmZvID0gZXZhbEFuZExvZygiaW5mbyA9IG9iamVjdFN0b3JlSW5mb1tpXTsiKTsKLSAgICAg
ICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykiKTsK
LSAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBzZXR1cE9iamVjdFN0b3JlQW5kQ3JlYXRlSW5k
ZXhBbmRBZGQ7Ci0gICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxi
YWNrOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgIH0KQEAgLTU1
LDkgKzQwLDggQEAgZnVuY3Rpb24gc2V0VmVyc2lvbigpCiAKIGZ1bmN0aW9uIHNldHVwT2JqZWN0
U3RvcmVBbmRDcmVhdGVJbmRleEFuZEFkZCgpCiB7Ci0gICAgdmFyIHRyYW5zYWN0aW9uID0gZXZl
bnQudGFyZ2V0LnJlc3VsdDsKICAgICBkZWJ1Zygic2V0dXBPYmplY3RTdG9yZUFuZENyZWF0ZUlu
ZGV4KCk6Iik7Ci0gICAgZGVsZXRlQWxsT2JqZWN0U3RvcmVzKGRiKTsKKyAgICBldmFsQW5kTG9n
KCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKIAogICAgIG9iamVjdFN0b3JlID0gZXZhbEFu
ZExvZygib2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZShpbmZvLm5hbWUsIGluZm8u
b3B0aW9ucyk7Iik7CiAKQEAgLTY5LDE4ICs1MywxNiBAQCBmdW5jdGlvbiBzZXR1cE9iamVjdFN0
b3JlQW5kQ3JlYXRlSW5kZXhBbmRBZGQoKQogICAgICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygi
cmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZChpbmZvLmVudHJ5KTsiKTsKICAgICB9CiAgICAgcmVx
dWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0KLSAgICB0cmFuc2FjdGlv
bi5vbmNvbXBsZXRlID0gZnVuY3Rpb24gKCkgewotICAgICAgICBldmFsQW5kTG9nKCJ0cmFucyA9
IGRiLnRyYW5zYWN0aW9uKGluZm8ubmFtZSwgJ3JlYWR3cml0ZScpIik7Ci0gICAgICAgIGV2YWxB
bmRMb2coIm9iamVjdFN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoaW5mby5uYW1lKSIpOwotICAg
ICAgICBldmFsQW5kTG9nKCJpbmRleCA9IG9iamVjdFN0b3JlLmluZGV4KCdkYXRhX2luZGV4Jyki
KTsKLSAgICAgICAgZXZhbEFuZExvZygidW5pcXVlSW5kZXggPSBvYmplY3RTdG9yZS5pbmRleCgn
dW5pcXVlX2RhdGFfaW5kZXgnKSIpOwotICAgICAgICBvcGVuQ3Vyc29yKCk7Ci0gICAgfTsKIH0K
IAogZnVuY3Rpb24gb3BlbkN1cnNvcigpCiB7CisgICAgZXZhbEFuZExvZygidHJhbnMgPSBkYi50
cmFuc2FjdGlvbihpbmZvLm5hbWUsICdyZWFkd3JpdGUnKSIpOworICAgIGV2YWxBbmRMb2coInRy
YW5zLm9uY29tcGxldGUgPSB0ZXN0Iik7CisgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRB
Ym9ydENhbGxiYWNrOworICAgIGV2YWxBbmRMb2coIm9iamVjdFN0b3JlID0gdHJhbnMub2JqZWN0
U3RvcmUoaW5mby5uYW1lKSIpOworICAgIGV2YWxBbmRMb2coImluZGV4ID0gb2JqZWN0U3RvcmUu
aW5kZXgoJ2RhdGFfaW5kZXgnKSIpOworICAgIGV2YWxBbmRMb2coInVuaXF1ZUluZGV4ID0gb2Jq
ZWN0U3RvcmUuaW5kZXgoJ3VuaXF1ZV9kYXRhX2luZGV4JykiKTsKICAgICByZXF1ZXN0ID0gZXZh
bEFuZExvZygicmVxdWVzdCA9IG9iamVjdFN0b3JlLm9wZW5DdXJzb3IoKTsiKTsKICAgICByZXF1
ZXN0Lm9uc3VjY2VzcyA9IHVwZGF0ZUN1cnNvcjsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4
cGVjdGVkRXJyb3JDYWxsYmFjazsKQEAgLTExNSw3ICs5Nyw1IEBAIGZ1bmN0aW9uIGNoZWNrSW5k
ZXgyKCkKIHsKICAgICBzaG91bGRCZSgidmFsdWUuZGF0YSIsICJldmVudC50YXJnZXQucmVzdWx0
LmRhdGEiKTsKICAgICBldmFsQW5kTG9nKCJpKys7Iik7Ci0gICAgc2V0VmVyc2lvbigpOworICAg
IGV2YWxBbmRMb2coImRiLmNsb3NlKCkiKTsKIH0KLQotdGVzdCgpOwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEvcmVzb3VyY2VzL2V2ZW50LXNvdXJjZS5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL21vemlsbGEvcmVzb3VyY2VzL2V2ZW50LXNvdXJjZS5qcwppbmRleCAxMDZlNzg1NGM1
N2Y0YmFmMzljZjRiYTk3Y2ZkMWYxMmIyODdkMzI5Li44MWRlY2Q4NzNmZDVlZDA2NDFkMjg5YTI0
MTIwYTNhY2Q1MTA4YTc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL3Jlc291cmNlcy9ldmVudC1zb3VyY2UuanMKKysrIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvZXZlbnQtc291cmNlLmpzCkBAIC0xMSwz
NCArMTEsMTMgQEAgaWYgKHRoaXMuaW1wb3J0U2NyaXB0cykgewogCiBkZXNjcmlwdGlvbigiVGVz
dCBJbmRleGVkREIncyBldmVudC50YXJnZXQuc291cmNlIGluIHN1Y2Nlc3MgY2FsbGJhY2tzIik7
CiAKLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7Ci0KLSAg
ICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExv
ZygiaW5kZXhlZERCLm9wZW4obmFtZSkiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5T
dWNjZXNzOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwot
fQotCi1mdW5jdGlvbiBvcGVuU3VjY2VzcygpCitpbmRleGVkREJUZXN0KHByZXBhcmVEYXRhYmFz
ZSwgZmluaXNoSlNUZXN0KTsKK2Z1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgpCiB7CisgICAgZGIg
PSBldmVudC50YXJnZXQucmVzdWx0OwogICAgIHNvdXJjZSA9IGV2YWxBbmRMb2coInNvdXJjZSA9
IGV2ZW50LnRhcmdldC5zb3VyY2U7Iik7CiAgICAgc2hvdWxkQmVOdWxsKCJzb3VyY2UiKTsKIAot
ICAgIGRiID0gZXZhbEFuZExvZygiZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7Ci0gICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykiKTsKLSAgICBy
ZXF1ZXN0Lm9uc3VjY2VzcyA9IGNsZWFuRGF0YWJhc2U7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0g
dW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci19Ci0KLWZ1bmN0aW9uIGNsZWFuRGF0YWJhc2UoKQot
ewotICAgIHNvdXJjZSA9IGV2YWxBbmRMb2coInNvdXJjZSA9IGV2ZW50LnRhcmdldC5zb3VyY2U7
Iik7Ci0gICAgc2hvdWxkQmUoInNvdXJjZSIsICJkYiIpOwotCi0gICAgZGVsZXRlQWxsT2JqZWN0
U3RvcmVzKGRiKTsKLQogICAgIG9iamVjdFN0b3JlTmFtZSA9ICJPYmplY3RzIjsKICAgICBvYmpl
Y3RTdG9yZSA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUo
b2JqZWN0U3RvcmVOYW1lLCB7IGF1dG9JbmNyZW1lbnQ6IHRydWUgfSk7Iik7CiAgICAgcmVxdWVz
dCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5hZGQoe30pOyIpOwpAQCAtNTAs
NyArMjksNCBAQCBmdW5jdGlvbiBhcmVXZURvbmVZZXQoKQogewogICAgIHNvdXJjZSA9IGV2YWxB
bmRMb2coInNvdXJjZSA9IGV2ZW50LnRhcmdldC5zb3VyY2U7Iik7CiAgICAgc2hvdWxkQmUoInNv
dXJjZSIsICJvYmplY3RTdG9yZSIpOwotICAgIGZpbmlzaEpTVGVzdCgpOwogfQotCi10ZXN0KCk7
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvZ2xvYmFsLWRhdGEuanMgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9nbG9iYWwtZGF0YS5qcwpp
bmRleCAwMGZkY2ExMTZkNjUyYjYxY2E3OGZhZThkZTQ1NWEyN2Q4NWZhMDI4Li42ZDk3ODhiZGFl
YThiMWQyYjdhNDQxMTAzMWY2NjU0NGI2Yjc2Y2IxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9nbG9iYWwtZGF0YS5qcworKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9nbG9iYWwtZGF0
YS5qcwpAQCAtMTEsMzQgKzExLDE2IEBAIGlmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKIAogZGVz
Y3JpcHRpb24oIlRlc3QgSW5kZXhlZERCJ3Mgb3BlbmluZyBEQiBtb3JlIHRoYW4gb25jZSIpOwog
Ci1mdW5jdGlvbiB0ZXN0KCkKK2luZGV4ZWREQlRlc3QocHJlcGFyZURhdGFiYXNlKTsKK2Z1bmN0
aW9uIHByZXBhcmVEYXRhYmFzZSgpCiB7Ci0gICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKLQot
ICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwotICAgIHJlcXVlc3QgPSBldmFsQW5k
TG9nKCJpbmRleGVkREIub3BlbihuYW1lKSIpOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3Bl
blN1Y2Nlc3M7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7
Ci19Ci0KLWZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKLXsKLSAgICBkYjEgPSBldmFsQW5kTG9nKCJk
YjEgPSBldmVudC50YXJnZXQucmVzdWx0Iik7Ci0KLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygi
cmVxdWVzdCA9IGRiMS5zZXRWZXJzaW9uKCcxJykiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9
IGNsZWFuRGF0YWJhc2U7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2s7Ci19Ci0KLWZ1bmN0aW9uIGNsZWFuRGF0YWJhc2UoKQotewotICAgIGRlbGV0ZUFsbE9i
amVjdFN0b3JlcyhkYjEpOworICAgIGRiMSA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CiAKICAgICBv
YmplY3RTdG9yZU5hbWUgPSAiT2JqZWN0cyI7CiAgICAgb2JqZWN0U3RvcmVPcHRpb25zID0geyBr
ZXlQYXRoOiAnaWQnLCBhdXRvSW5jcmVtZW50OiB0cnVlIH07CiAgICAgZXZhbEFuZExvZygiZGIx
LmNyZWF0ZU9iamVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSwgb2JqZWN0U3RvcmVPcHRpb25zKTsi
KTsKIAotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lKTsiKTsK
KyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oZGJuYW1lKTsiKTsKICAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW4yU3VjY2VzczsKICAgICByZXF1ZXN0Lm9uZXJyb3Ig
PSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKIH0KQEAgLTY0LDUgKzQ2LDMgQEAgZnVuY3Rpb24g
b3BlbjJTdWNjZXNzKCkKIAogICAgIGZpbmlzaEpTVGVzdCgpOwogfQotCi10ZXN0KCk7ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMva2V5LXJlcXVpcmVtZW50cy1wdXQtbnVsbC1rZXku
anMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9rZXkt
cmVxdWlyZW1lbnRzLXB1dC1udWxsLWtleS5qcwppbmRleCA4ZTBlNzQ3YmJlMTRkZTQ3OGFmMTIx
YTBhNTNlYWVmMjExZGJkYWFmLi45YjMyZmZlYTdmMDYwNjUyY2M3ODVlNjAyZjI0NjQ1MjY0MmYw
ZDE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jl
c291cmNlcy9rZXktcmVxdWlyZW1lbnRzLXB1dC1udWxsLWtleS5qcworKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9rZXktcmVxdWlyZW1lbnRzLXB1
dC1udWxsLWtleS5qcwpAQCAtMTEsMzEgKzExLDExIEBAIGlmICh0aGlzLmltcG9ydFNjcmlwdHMp
IHsKIAogZGVzY3JpcHRpb24oIlRlc3QgSW5kZXhlZERCJ3MgYmVoYXZpb3IgcHV0KClpbmcgd2l0
aCBudWxsIGtleSIpOwogCi1mdW5jdGlvbiB0ZXN0KCkKK2luZGV4ZWREQlRlc3QocHJlcGFyZURh
dGFiYXNlKTsKK2Z1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgpCiB7Ci0gICAgcmVtb3ZlVmVuZG9y
UHJlZml4ZXMoKTsKLQotICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lOwotICAgIHJl
cXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lKSIpOwotICAgIHJlcXVlc3Qu
b25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7Ci19Ci0KLWZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKLXsKLSAgICBkYiA9
IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwotCi0gICAgcmVxdWVzdCA9
IGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykiKTsKLSAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IGNsZWFuRGF0YWJhc2U7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBl
Y3RlZEVycm9yQ2FsbGJhY2s7Ci19Ci0KLWZ1bmN0aW9uIGNsZWFuRGF0YWJhc2UoKQotewotICAg
IGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CisgICAgZGIgPSBldmVudC50YXJnZXQucmVzdWx0
OwogICAgIG9iamVjdFN0b3JlID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVP
YmplY3RTdG9yZSgnYmFyJyk7Iik7CiAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigib2JqZWN0
U3RvcmUucHV0KHt9LCBudWxsKTsiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsK
ICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KLQotdGVzdCgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEv
cmVzb3VyY2VzL29kZC1yZXN1bHQtb3JkZXIuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9vZGQtcmVzdWx0LW9yZGVyLmpzCmluZGV4IDM2Zjg1Y2I0
YjI3ZGIzODMzYjM3ZTZlOTZjZWUzZTI2ZDAwNzU2OGUuLjU0N2NhNmRiZTMxOTY3YmIxMjZlNDJk
NjViYjQxYTU2YWYzYTIwYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL21vemlsbGEvcmVzb3VyY2VzL29kZC1yZXN1bHQtb3JkZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMvb2RkLXJlc3VsdC1vcmRlci5q
cwpAQCAtMTEsMTQgKzExLDEzIEBAIGlmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKIAogZGVzY3Jp
cHRpb24oIlRlc3QgSW5kZXhlZERCOiByZXF1ZXN0IHJlc3VsdCBwZXJzaXN0cyBpbiBzZXRUaW1l
b3V0IGNhbGxiYWNrIik7CiAKLWZ1bmN0aW9uIHRlc3QoKQoraW5kZXhlZERCVGVzdChwcmVwYXJl
RGF0YWJhc2UsIG9wZW5TdWNjZXNzKTsKK2Z1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgpCiB7Ci0g
ICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKLQotICAgIG5hbWUgPSBzZWxmLmxvY2F0aW9uLnBh
dGhuYW1lOwotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lKSIp
OwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7Ci0gICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdCA9IGV2ZW50LnRhcmdl
dDsKKyAgICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CisgICAgb2JqZWN0U3RvcmUgPSBldmFs
QW5kTG9nKCJvYmplY3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdmb28nLCB7IGtleVBh
dGg6ICdrZXknLCBhdXRvSW5jcmVtZW50OiB0cnVlIH0pOyIpOworICAgIGluZGV4ID0gZXZhbEFu
ZExvZygiaW5kZXggPSBvYmplY3RTdG9yZS5jcmVhdGVJbmRleCgnZm9vJywgJ2luZGV4Jyk7Iik7
CiB9CiAKIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKQEAgLTI4LDYgKzI3LDcgQEAgZnVuY3Rpb24g
b3BlblN1Y2Nlc3MoKQogICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgIGRiID0g
ZXZhbEFuZExvZygiZGIgPSByZXF1ZXN0LnJlc3VsdDsiKTsKICAgICAgICAgY2hlY2tEYXRhYmFz
ZVR5cGUoKTsKKyAgICAgICAgYWRkUmVjb3JkKCk7CiAgICAgfSwgMCk7CiB9CiAKQEAgLTM2LDE4
ICszNiw2IEBAIGZ1bmN0aW9uIGNoZWNrRGF0YWJhc2VUeXBlKCkKICAgICBkZWJ1ZygiY2hlY2tE
YXRhYmFzZVR5cGUoKToiKTsKICAgICBzaG91bGRCZVRydWUoImRiIGluc3RhbmNlb2YgSURCRGF0
YWJhc2UiKTsKICAgICBkYi5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAg
cmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykiKTsKLSAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHNldHVwT2JqZWN0U3RvcmU7Ci0gICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci19Ci0KLWZ1bmN0aW9uIHNldHVwT2JqZWN0
U3RvcmUoKQotewotICAgIGRlYnVnKCJzZXR1cE9iamVjdFN0b3JlKCk6Iik7Ci0gICAgZGVsZXRl
QWxsT2JqZWN0U3RvcmVzKGRiKTsKLSAgICBvYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coIm9iamVj
dFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2ZvbycsIHsga2V5UGF0aDogJ2tleScsIGF1
dG9JbmNyZW1lbnQ6IHRydWUgfSk7Iik7Ci0gICAgaW5kZXggPSBldmFsQW5kTG9nKCJpbmRleCA9
IG9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCdmb28nLCAnaW5kZXgnKTsiKTsKLSAgICBldmFsQW5k
TG9nKCJldmVudC50YXJnZXQudHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IGFkZFJlY29yZDsiKTsK
IH0KIAogZnVuY3Rpb24gYWRkUmVjb3JkKCkKQEAgLTExMiw1ICsxMDAsMyBAQCBmdW5jdGlvbiBk
ZWxldGVTdWNjZXNzKCkKICAgICBkZWJ1ZygiZGVsZXRlU3VjY2VzcygpOiIpOwogICAgIGZpbmlz
aEpTVGVzdCgpOwogfQotCi10ZXN0KCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZXNvdXJjZXMv
cmVtb3ZlLW9iamVjdHN0b3JlLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96
aWxsYS9yZXNvdXJjZXMvcmVtb3ZlLW9iamVjdHN0b3JlLmpzCmluZGV4IGZiOGMwZjFlZGNlOTBm
ODY3YTFkZTdiN2UwYmIyZmQ2NzQ2ZmIzZDEuLmY2YTFjYTk0MDE1M2M0N2MwNzg1YjMyNzlhOGEz
MzJmNDdjMzE5OWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEvcmVzb3VyY2VzL3JlbW92ZS1vYmplY3RzdG9yZS5qcworKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3Jlc291cmNlcy9yZW1vdmUtb2JqZWN0c3RvcmUuanMK
QEAgLTExLDMxICsxMSwxMiBAQCBpZiAodGhpcy5pbXBvcnRTY3JpcHRzKSB7CiAKIGRlc2NyaXB0
aW9uKCJUZXN0IEluZGV4ZWREQiBkZWxldGluZyBhbiBvYmplY3Qgc3RvcmUiKTsKIAotZnVuY3Rp
b24gdGVzdCgpCitpbmRleGVkREJUZXN0KHByZXBhcmVEYXRhYmFzZSwgY2hlY2tPYmplY3RTdG9y
ZSk7CitmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQogewotICAgIHJlbW92ZVZlbmRvclByZWZp
eGVzKCk7Ci0KLSAgICBuYW1lID0gc2VsZi5sb2NhdGlvbi5wYXRobmFtZTsKLSAgICByZXF1ZXN0
ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4obmFtZSkiKTsKLSAgICByZXF1ZXN0Lm9uc3Vj
Y2VzcyA9IG9wZW5TdWNjZXNzOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOwotfQotCi1mdW5jdGlvbiBvcGVuU3VjY2VzcygpCi17Ci0gICAgZGIgPSBldmFs
QW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKyAgICBkYiA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQ7CiAgICAgc2hvdWxkQmUoImRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIiwgIjAi
KTsKIAotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbign
MScpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBjcmVhdGVBbmRQb3B1bGF0ZU9iamVjdFN0
b3JlOwotICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotfQot
Ci1mdW5jdGlvbiBjcmVhdGVBbmRQb3B1bGF0ZU9iamVjdFN0b3JlKCkKLXsKLSAgICB2YXIgdjFf
dHJhbnNhY3Rpb24gPSBldmVudC50YXJnZXQucmVzdWx0OwotICAgIGRlbGV0ZUFsbE9iamVjdFN0
b3JlcyhkYik7Ci0KICAgICBvYmplY3RTdG9yZU5hbWUgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9y
ZU5hbWUgPSAnT2JqZWN0cyc7Iik7CiAgICAgb2JqZWN0U3RvcmUgPSBldmFsQW5kTG9nKCJvYmpl
Y3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSwgeyBrZXlQYXRo
OiAnZm9vJyB9KTsiKTsKIApAQCAtNDMsMjIgKzI0LDI0IEBAIGZ1bmN0aW9uIGNyZWF0ZUFuZFBv
cHVsYXRlT2JqZWN0U3RvcmUoKQogICAgICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVz
dCA9IG9iamVjdFN0b3JlLmFkZCh7Zm9vOiBpfSk7Iik7CiAgICAgICAgIHJlcXVlc3Qub25lcnJv
ciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIH0KLSAgICB2MV90cmFuc2FjdGlvbi5v
bmNvbXBsZXRlID0gY2hlY2tPYmplY3RTdG9yZTsKIH0KIAogZnVuY3Rpb24gY2hlY2tPYmplY3RT
dG9yZSgpCiB7CiAgICAgc2hvdWxkQmUoImRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIiwgIjEi
KTsKICAgICBzaG91bGRCZSgiZGIub2JqZWN0U3RvcmVOYW1lcy5pdGVtKDApIiwgIm9iamVjdFN0
b3JlTmFtZSIpOworICAgIGV2YWxBbmRMb2coImRiLmNsb3NlKCkiKTsKIAotICAgIHJlcXVlc3Qg
PSBkYi5zZXRWZXJzaW9uKCcyJyk7CisgICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWRE
Qi5vcGVuKGRibmFtZSwgMikiKTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJy
b3JDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHBvc3RTZXRWZXJzaW9uMjsKKyAg
ICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7CisgICAgcmVx
dWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBpblNldFZlcnNpb24yOworICAgIHJlcXVlc3Qub25zdWNj
ZXNzID0gc2V0VmVyc2lvbjM7CiB9CiAKLWZ1bmN0aW9uIHBvc3RTZXRWZXJzaW9uMigpCitmdW5j
dGlvbiBpblNldFZlcnNpb24yKCkKIHsKLSAgICB2YXIgdjJfdHJhbnNhY3Rpb24gPSBldmVudC50
YXJnZXQucmVzdWx0OworICAgIGRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKICAgICBldmFsQW5k
TG9nKCJkYi5kZWxldGVPYmplY3RTdG9yZShvYmplY3RTdG9yZS5uYW1lKTsiKTsKICAgICBzaG91
bGRCZSgiZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGgiLCAiMCIpOwogCkBAIC03Miw3ICs1NSw2
IEBAIGZ1bmN0aW9uIHBvc3RTZXRWZXJzaW9uMigpCiAgICAgICAgIHNob3VsZEJlKCJldmVudC50
YXJnZXQucmVzdWx0IiwgIm51bGwiKTsKICAgICAgICAgZGVsZXRlU2Vjb25kT2JqZWN0U3RvcmUo
KTsKICAgICB9OwotICAgIHYyX3RyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBzZXRWZXJzaW9uMzsK
IH0KIAogZnVuY3Rpb24gZGVsZXRlU2Vjb25kT2JqZWN0U3RvcmUoKQpAQCAtODMsMTMgKzY1LDE4
IEBAIGZ1bmN0aW9uIGRlbGV0ZVNlY29uZE9iamVjdFN0b3JlKCkKIAogZnVuY3Rpb24gc2V0VmVy
c2lvbjMoKQogewotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIuc2V0VmVy
c2lvbignMycpOyIpOworICAgIGV2YWxBbmRMb2coImRiLmNsb3NlKCkiKTsKKworICAgIGV2YWxB
bmRMb2coInJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDMpIik7CiAgICAgcmVxdWVz
dC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBwb3N0U2V0VmVyc2lvbjM7CisgICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVk
QmxvY2tlZENhbGxiYWNrOworICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gaW5TZXRWZXJz
aW9uMzsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZpbmlzaEpTVGVzdDsKIH0KIAotZnVuY3Rp
b24gcG9zdFNldFZlcnNpb24zKCkKK2Z1bmN0aW9uIGluU2V0VmVyc2lvbjMoKQogeworICAgIGRi
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKICAgICBvYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coIm9i
amVjdFN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUob2JqZWN0U3RvcmVOYW1lLCB7IGtleVBh
dGg6ICdmb28nIH0pOyIpOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2Jq
ZWN0U3RvcmUuYWRkKHtmb286J2Jhcid9KTsiKTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4
cGVjdGVkRXJyb3JDYWxsYmFjazsKQEAgLTk5LDcgKzg2LDQgQEAgZnVuY3Rpb24gcG9zdFNldFZl
cnNpb24zKCkKIGZ1bmN0aW9uIGRlbGV0ZVRoaXJkT2JqZWN0U3RvcmUoKQogewogICAgIGV2YWxB
bmRMb2coImRiLmRlbGV0ZU9iamVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSk7Iik7Ci0gICAgZmlu
aXNoSlNUZXN0KCk7CiB9Ci0KLXRlc3QoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1v
dmVvYmplY3RzdG9yZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9vYmplY3RzdG9yZS1yZW1vdmVvYmplY3RzdG9yZS1leHBlY3RlZC50eHQKaW5kZXggZjZjOGJi
MWY3NzRjYTUzOWJhYmVjOTY2MTEyZTBjOGY2MDQ3ZjU0Ny4uZGFhMzk1ZjhhOTg0MzEwNGY0NWUx
Y2FkODdkMWZjZTI0OTMxM2NiYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3Jl
LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKLUNPTlNPTEUgTUVTU0FHRTogVGhlIHNldFZl
cnNpb24oKSBtZXRob2QgaXMgbm9uLXN0YW5kYXJkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSB0
aGUgInVwZ3JhZGVuZWVkZWQiIGV2ZW50IGluc3RlYWQuCiBUZXN0IEluZGV4ZWREQidzIHdlYmtp
dElEQk9iamVjdFN0b3JlLmRlbGV0ZU9iamVjdFN0b3JlKCkuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KQEAgLTE3LDkgKzE2LDggQEAgZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSkK
IHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCiBzdG9yZS5nZXQo
J2tleScpCiBQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQgaXMgInZhbHVlIgotZGIuc2V0VmVyc2lv
bignbmV3IHZlcnNpb24nKQotdHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Ci1QQVNTIHRyYW5z
IGlzIG5vbi1udWxsLgorZGIuY2xvc2UoKQoraW5kZXhlZERCLm9wZW4oZGJuYW1lLCAyKQogZGIu
ZGVsZXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCiBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3Rv
cmVOYW1lJywgbnVsbCkKIGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10pCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvb2JqZWN0c3RvcmUtcmVt
b3Zlb2JqZWN0c3RvcmUuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJj
ZXMvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUuanMKaW5kZXggNDFlNWM3NjU3NWEwZTVi
NjRhNzQxYWI5Yjk2NTFjNjBlNGYzZDc1Ny4uOTA0MGFiYzljMWMxZDYwNDQ3ZjUxOWRiM2IyYTAy
OTcyZGVmNmIwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVz
b3VyY2VzL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmpzCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9vYmplY3RzdG9yZS1yZW1vdmVvYmplY3RzdG9y
ZS5qcwpAQCAtMjMsMjYgKzIzLDM0IEBAIGZ1bmN0aW9uIGdldFZhbHVlKCkKIHsKICAgICB0cmFu
c2FjdGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10pIik7CiAg
ICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHRy
YW5zYWN0aW9uLm9uY29tcGxldGUgPSBhZGRJbmRleDsKICAgICB2YXIgc3RvcmUgPSBldmFsQW5k
TG9nKCJzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKSIpOwogCiAg
ICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInN0b3JlLmdldCgna2V5JykiKTsKLSAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IGFkZEluZGV4OworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY2hlY2tSZXN1
bHQ7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiB9CiAK
LWZ1bmN0aW9uIGFkZEluZGV4KCkKK2Z1bmN0aW9uIGNoZWNrUmVzdWx0KCkKIHsKICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LnRhcmdldC5yZXN1bHQiLCAidmFsdWUiKTsKK30KKwor
ZnVuY3Rpb24gYWRkSW5kZXgoKQoreworICAgIGV2YWxBbmRMb2coImRiLmNsb3NlKCkiKTsKIAot
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCduZXcgdmVyc2lvbicpIik7
Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBkZWxldGVPYmplY3RTdG9yZTsKKyAgICByZXF1ZXN0
ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAyKSIpOworICAgIHJlcXVlc3Qu
b251cGdyYWRlbmVlZGVkID0gZGVsZXRlT2JqZWN0U3RvcmU7CiAgICAgcmVxdWVzdC5vbmVycm9y
ID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBnZXRW
YWx1ZUFnYWluOworICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxs
YmFjazsKIH0KIAogZnVuY3Rpb24gZGVsZXRlT2JqZWN0U3RvcmUoKQogewotICAgIHNlbGYudHJh
bnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKLSAgICBzaG91
bGRCZU5vbk51bGwoInRyYW5zIik7CisgICAgdHJhbnMgPSByZXF1ZXN0LnRyYW5zYWN0aW9uOwor
ICAgIGRiID0gcmVxdWVzdC5yZXN1bHQ7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRB
Ym9ydENhbGxiYWNrOwogCiAgICAgZXZhbEFuZExvZygiZGIuZGVsZXRlT2JqZWN0U3RvcmUoJ3N0
b3JlTmFtZScpIik7CkBAIC01Miw3ICs2MCw2IEBAIGZ1bmN0aW9uIGRlbGV0ZU9iamVjdFN0b3Jl
KCkKIGZ1bmN0aW9uIGNyZWF0ZU9iamVjdFN0b3JlQWdhaW4oKQogewogICAgIGV2YWxBbmRMb2co
ImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKSIpOwotICAgIHRyYW5zLm9u
Y29tcGxldGUgPSBnZXRWYWx1ZUFnYWluOwogfQogCiBmdW5jdGlvbiBnZXRWYWx1ZUFnYWluKCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>