<?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>108405</bug_id>
          
          <creation_ts>2013-01-30 16:47:19 -0800</creation_ts>
          <short_desc>Tests for spellcheck behavior</short_desc>
          <delta_ts>2013-01-31 14:58:02 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>108535</blocked>
    
    <blocked>108536</blocked>
    
    <blocked>106815</blocked>
    
    <blocked>108528</blocked>
    
    <blocked>108529</blocked>
    
    <blocked>108530</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Rouslan Solomakhin">rouslan+webkit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>groby</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>rouslan+webkit</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>820806</commentid>
    <comment_count>0</comment_count>
    <who name="Rouslan Solomakhin">rouslan+webkit</who>
    <bug_when>2013-01-30 16:47:19 -0800</bug_when>
    <thetext>Add tests for the following spellcheck behavior:
- Spellcheck selects the misspelled word on context click.
- Spelling should work when the user selects the misspelled word exactly.
- If the word is not misspelled, there should be no spelling options in the context menu.
- Spellcheck should select multi-word misspellings on context click.
- Spelling should work when the user selects a multi-word misspelling exactly.
- Spelling should work for double-clicked misspellings.
- Spelling should ignore whitespace.
- Underscores should be treated as whitespace: spelling should ignore them.
- Punctuation marks should be treated as whitespace: spelling should ignore them.
- Spelling should be disabled when user selects a part of misspelling.
- Spelling should be disabled when user selects multiple words that are not a single misspelling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820831</commentid>
    <comment_count>1</comment_count>
      <attachid>185627</attachid>
    <who name="Rouslan Solomakhin">rouslan+webkit</who>
    <bug_when>2013-01-30 17:02:27 -0800</bug_when>
    <thetext>Created attachment 185627
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820833</commentid>
    <comment_count>2</comment_count>
      <attachid>185627</attachid>
    <who name="Rouslan Solomakhin">rouslan+webkit</who>
    <bug_when>2013-01-30 17:04:44 -0800</bug_when>
    <thetext>Comment on attachment 185627
Patch

This is the layout-test part of https://webkit.org/b/106815. I am using [Skip] instead of [Failure] on these tests because some of these tests are already passing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820905</commentid>
    <comment_count>3</comment_count>
      <attachid>185627</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-30 18:09:33 -0800</bug_when>
    <thetext>Comment on attachment 185627
Patch

Clearing flags on attachment: 185627

Committed r141354: &lt;http://trac.webkit.org/changeset/141354&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820906</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-30 18:09:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185627</attachid>
            <date>2013-01-30 17:02:27 -0800</date>
            <delta_ts>2013-01-30 18:09:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108405-20130130165912.patch</filename>
            <type>text/plain</type>
            <size>61988</size>
            <attacher name="Rouslan Solomakhin">rouslan+webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMzQwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWRiOTdiY2RjN2RhZTk5MGI0NWZj
NzNmMmQ1ODU1YmNhYzQ0MTQ2Yy4uZThhYWE3ZDgyMmY3YjBkMDMxNjBhMjE0NTkxYTdkOTAzMjZj
NTU3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEzLTAxLTMwICBSb3VzbGFuIFNvbG9tYWto
aW4gIDxyb3VzbGFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXN0cyBmb3Igc3BlbGxjaGVj
ayBiZWhhdmlvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTA4NDA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBlZGl0aW5nL3NwZWxsaW5nL3Jlc291cmNlcy91dGlsLmpzOiBBZGRlZC4gQm9pbGVycGxh
dGUgZm9yIHNwZWxsY2hlY2sgdGVzdHMuCisgICAgICAgICogZWRpdGluZy9zcGVsbGluZy9zcGVs
bGluZy1kb3VibGUtY2xpY2tlZC13b3JkLmh0bWw6IEFkZGVkLiBTcGVsbGluZyBzaG91bGQgd29y
ayBmb3IgZG91YmxlLWNsaWNrZWQgbWlzc3BlbGxpbmdzLgorICAgICAgICAqIGVkaXRpbmcvc3Bl
bGxpbmcvc3BlbGxpbmctZG91YmxlLWNsaWNrZWQtd29yZC13aXRoLXVuZGVyc2NvcmVzLmh0bWw6
IEFkZGVkLiBVbmRlcnNjb3JlcyBzaG91bGQgYmUgdHJlYXRlZCBhcyB3aGl0ZXNwYWNlOiBzcGVs
bGluZyBzaG91bGQgaWdub3JlIHRoZW0uCisgICAgICAgICogZWRpdGluZy9zcGVsbGluZy9zcGVs
bGluZy1leGFjdGx5LXNlbGVjdGVkLW11bHRpcGxlLXdvcmRzLmh0bWw6IEFkZGVkLiBTcGVsbGlu
ZyBzaG91bGQgd29yayB3aGVuIHRoZSB1c2VyIHNlbGVjdHMgYSBtdWx0aS13b3JkIG1pc3NwZWxs
aW5nIGV4YWN0bHkuCisgICAgICAgICogZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1leGFjdGx5
LXNlbGVjdGVkLXdvcmQuaHRtbDogQWRkZWQuIFNwZWxsaW5nIHNob3VsZCB3b3JrIHdoZW4gdGhl
IHVzZXIgc2VsZWN0cyB0aGUgbWlzc3BlbGxlZCB3b3JkIGV4YWN0bHkuCisgICAgICAgICogZWRp
dGluZy9zcGVsbGluZy9zcGVsbGluZy1tdWx0aXdvcmQtc2VsZWN0aW9uLmh0bWw6IEFkZGVkLiBT
cGVsbGluZyBzaG91bGQgYmUgZGlzYWJsZWQgd2hlbiB1c2VyIHNlbGVjdHMgbXVsdGlwbGUgd29y
ZHMgdGhhdCBhcmUgbm90IGEgc2luZ2xlIG1pc3NwZWxsaW5nLgorICAgICAgICAqIGVkaXRpbmcv
c3BlbGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1tdWx0aXBsZS13b3Jkcy5odG1sOiBBZGRl
ZC4gU3BlbGxjaGVjayBzaG91bGQgc2VsZWN0IG11bHRpLXdvcmQgbWlzc3BlbGxpbmdzIG9uIGNv
bnRleHQgY2xpY2suCisgICAgICAgICogZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1zaG91bGQt
c2VsZWN0LXNpbmdsZS13b3JkLmh0bWw6IEFkZGVkLiBTcGVsbGNoZWNrIHNob3VsZCBzZWxlY3Qg
dGhlIG1pc3NwZWxsZWQgd29yZCBvbiBjb250ZXh0IGNsaWNrLgorICAgICAgICAqIGVkaXRpbmcv
c3BlbGxpbmcvc3BlbGxpbmctc3Vid29yZC1zZWxlY3Rpb24uaHRtbDogQWRkZWQuIFNwZWxsaW5n
IHNob3VsZCBiZSBkaXNhYmxlZCB3aGVuIHVzZXIgc2VsZWN0cyBhIHBhcnQgb2YgbWlzc3BlbGxp
bmcuCisgICAgICAgICogZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy13aXRoLXB1bmN0dWF0aW9u
LXNlbGVjdGlvbi5odG1sOiBBZGRlZC4gUHVuY3R1YXRpb24gbWFya3Mgc2hvdWxkIGJlIHRyZWF0
ZWQgYXMgd2hpdGVzcGFjZTogc3BlbGxpbmcgc2hvdWxkIGlnbm9yZSB0aGVtLgorICAgICAgICAq
IGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctd2l0aC11bmRlcnNjb3JlLXNlbGVjdGlvbi5odG1s
OiBBZGRlZC4gVW5kZXJzY29yZXMgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgd2hpdGVzcGFjZTogc3Bl
bGxpbmcgc2hvdWxkIGlnbm9yZSB0aGVtLgorICAgICAgICAqIGVkaXRpbmcvc3BlbGxpbmcvc3Bl
bGxpbmctd2l0aC13aGl0ZXNwYWNlLXNlbGVjdGlvbi5odG1sOiBBZGRlZC4gU3BlbGxpbmcgc2hv
dWxkIGlnbm9yZSB3aGl0ZXNwYWNlLgorICAgICAgICAqIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxp
bmctZG91YmxlLWNsaWNrZWQtd29yZC1leHBlY3RlZC50eHQ6IEFkZGVkLiAKKyAgICAgICAgKiBl
ZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWRvdWJsZS1jbGlja2VkLXdvcmQtd2l0aC11bmRlcnNj
b3Jlcy1leHBlY3RlZC50eHQ6IEFkZGVkLiAKKyAgICAgICAgKiBlZGl0aW5nL3NwZWxsaW5nL3Nw
ZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQtbXVsdGlwbGUtd29yZHMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQt
d29yZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvc3BlbGxpbmcvc3Bl
bGxpbmctbXVsdGl3b3JkLXNlbGVjdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1tdWx0aXBsZS13b3Jkcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmct
c2hvdWxkLXNlbGVjdC1zaW5nbGUtd29yZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc3Vid29yZC1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXdpdGgtcHVuY3R1
YXRpb24tc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9z
cGVsbGluZy9zcGVsbGluZy13aXRoLXVuZGVyc2NvcmUtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy13aXRoLXdoaXRlc3Bh
Y2Utc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hy
b21pdW0vVGVzdEV4cGVjdGF0aW9uczogU2tpcCB0aGUgdGVzdHMgdW50aWwgdGhlIHBsYXRmb3Jt
IGltcGxlbWVudHMgdGhlIGJlaGF2aW9yLgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9UZXN0RXhw
ZWN0YXRpb25zOiBTa2lwIHRoZSB0ZXN0cyB1bnRpbCB0aGUgcGxhdGZvcm0gaW1wbGVtZW50cyB0
aGUgYmVoYXZpb3IuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6IFNr
aXAgdGhlIHRlc3RzIHVudGlsIHRoZSBwbGF0Zm9ybSBpbXBsZW1lbnRzIHRoZSBiZWhhdmlvci4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczogU2tpcCB0aGUgdGVzdHMg
dW50aWwgdGhlIHBsYXRmb3JtIGltcGxlbWVudHMgdGhlIGJlaGF2aW9yLgorICAgICAgICAqIHBs
YXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGhlIHRlc3RzIHVudGlsIHRoZSBwbGF0
Zm9ybSBpbXBsZW1lbnRzIHRoZSBiZWhhdmlvci4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWly
by9UZXN0RXhwZWN0YXRpb25zOiBTa2lwIHRoZSB0ZXN0cyB1bnRpbCB0aGUgcGxhdGZvcm0gaW1w
bGVtZW50cyB0aGUgYmVoYXZpb3IuCisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3Rh
dGlvbnM6IFNraXAgdGhlIHRlc3RzIHVudGlsIHRoZSBwbGF0Zm9ybSBpbXBsZW1lbnRzIHRoZSBi
ZWhhdmlvci4KKyAgICAgICAgKiBwbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9uczogU2tpcCB0
aGUgdGVzdHMgdW50aWwgdGhlIHBsYXRmb3JtIGltcGxlbWVudHMgdGhlIGJlaGF2aW9yLgorCiAy
MDEzLTAxLTMwICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2No
cm9taXVtXSBVbnJldmlld2VkLCB1cGRhdGUgZXhwZWN0YXRpb25zIGZvciBXaW4vTWFjCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3Jlc291cmNlcy91dGlsLmpzIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9yZXNvdXJjZXMvdXRpbC5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jZjgwMzM0MTg4NDNjZjIwYzY2NzFlN2M4NDkwN2I3MDcyZDQ5NTIwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9yZXNvdXJjZXMvdXRpbC5qcwpAQCAt
MCwwICsxLDM4IEBACitmdW5jdGlvbiBsb2cobXNnKQoreworICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IChtc2cgKyAiXG4iKTsKK30KKworZnVuY3Rp
b24gdmVyaWZ5U3BlbGxUZXN0KG5yZXRyeSkKK3sKKyAgICBpZiAoIW5yZXRyeSkgeworICAgICAg
ICBsb2coIkZBSUwgU3BlbGxjaGVjayB0aW1lZCBvdXQiKTsKKyAgICAgICAgZmluaXNoSlNUZXN0
KCkKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAoIWludGVybmFscy5tYXJrZXJDb3Vu
dEZvck5vZGUoZGVzdGluYXRpb24uY2hpbGROb2Rlc1swXSwgInNwZWxsaW5nIikpIHsKKyAgICAg
ICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHZlcmlmeVNwZWxsVGVzdChucmV0cnkg
LSAxKTsgfSwgMCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgdGVzdEZ1bmN0aW9uQ2Fs
bGJhY2soZGVzdGluYXRpb24uY2hpbGROb2Rlc1swXSk7CisgICAgZmluaXNoSlNUZXN0KCkKK30K
KworZnVuY3Rpb24gaW5pdFNwZWxsVGVzdCh0ZXN0RWxlbWVudElkLCB0ZXN0VGV4dCwgdGVzdEZ1
bmN0aW9uKQoreworICAgIGlmICghd2luZG93LmludGVybmFscyB8fCAhd2luZG93LnRlc3RSdW5u
ZXIgfHwgIXdpbmRvdy50ZXN0UnVubmVyLnNldEFzeW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFi
bGVkKSB7CisgICAgICAgIGxvZygiRkFJTCBJbmNvbXBsZXRlIHRlc3QgZW52aXJvbm1lbnQiKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICB0ZXN0RnVuY3Rpb25DYWxsYmFjayA9IHRlc3RG
dW5jdGlvbjsKKyAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKyAgICB0ZXN0UnVubmVyLnNldEFz
eW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKHRydWUpOworICAgIHRlc3RSdW5uZXIuc2V0
U21hcnRJbnNlcnREZWxldGVFbmFibGVkKHRydWUpOworICAgIHRlc3RSdW5uZXIuc2V0U2VsZWN0
VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxlZChmYWxzZSk7CisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQodHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEVkaXRpbmdCZWhhdmlvcigid2luIik7CisgICAgdmFyIGRlc3RpbmF0aW9uID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQodGVzdEVsZW1lbnRJZCk7CisgICAgZGVzdGluYXRpb24uZm9j
dXMoKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiSW5zZXJ0VGV4dCIsIGZhbHNlLCB0ZXN0
VGV4dCk7CisgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHZlcmlmeVNwZWxsVGVz
dCgxMCk7IH0sIDApOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGlu
Zy9zcGVsbGluZy1kb3VibGUtY2xpY2tlZC13b3JkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZG91YmxlLWNsaWNrZWQtd29yZC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZmY1NGNkOTJjMzEyNjkzMDFlOWExM2Q0MmExZjk5MWJlMDk1OGVmMQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmct
ZG91YmxlLWNsaWNrZWQtd29yZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorU3BlbGxp
bmcgc2hvdWxkIHdvcmsgZm9yIGRvdWJsZS1jbGlja2VkIG1pc3NwZWxsaW5ncy4gVG8gdGVzdCBt
YW51YWxseSwgdHlwZSAnd2VsbGNvbWUgaG9tZS4nLCBkb3VibGUtY2xpY2sgb24gJ3dlbGxjb21l
JywgYW5kIGNvbnRleHQtY2xpY2sgb24gdGhlIHNlbGVjdGlvbi4gVGhlIHRlc3Qgc3VjY2VlZHMg
d2hlbiB0aGUgY29udGV4dCBtZW51IHNob3dzIHNwZWxsIGNoZWNrIHN1Z2dlc3Rpb25zLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBzcGVsbGluZ01hcmtlclJhbmdlLnRv
U3RyaW5nKCkgaXMgIndlbGxjb21lIgorUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJp
bmcoKSBpcyAiIgorUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAid2Vs
bGNvbWUiCitQQVNTIHNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJpbmcoKSBpcyAid2VsbGNvbWUi
CitQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlzICJ3ZWxsY29tZSIKK1BB
U1MgY29udGV4dE1lbnVFbGVtZW50c1tjb250ZXh0TWVudUVsZW1lbnRzLmxlbmd0aCAtIDFdIGlz
ICJ3ZWxjb21lIgorUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAiIgor
UEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAid2VsbGNvbWUgIgorUEFT
UyBzcGVsbGluZ01hcmtlclJhbmdlLnRvU3RyaW5nKCkgaXMgIndlbGxjb21lIgorUEFTUyB3aW5k
b3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAid2VsbGNvbWUgIgorUEFTUyBjb250ZXh0
TWVudUVsZW1lbnRzW2NvbnRleHRNZW51RWxlbWVudHMubGVuZ3RoIC0gMV0gaXMgIndlbGNvbWUi
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK3dlbGxj
b21lIGhvbWUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxs
aW5nLWRvdWJsZS1jbGlja2VkLXdvcmQtd2l0aC11bmRlcnNjb3Jlcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWRvdWJsZS1jbGlja2VkLXdvcmQt
d2l0aC11bmRlcnNjb3Jlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGU1YjU2ZjMzOGMxMWM0
MjRjY2Y2NDdkMGRjNzRmYjBkNjQ4ZGM2OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZG91YmxlLWNsaWNrZWQtd29yZC13aXRoLXVuZGVy
c2NvcmVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIwIEBACitTcGVsbGluZyBzaG91bGQgd29y
ayBmb3IgZG91YmxlLWNsaWNrZWQgbWlzc3BlbGxlZCB3b3JkcyB3aXRoIHVuZGVyc2NvcmVzLiBU
byB0ZXN0IG1hbnVhbGx5LCB0eXBlICd3ZWxsY29tZV8gaG9tZS4nLCBkb3VibGUtY2xpY2sgb24g
J3dlbGxjb21lXycsIGFuZCBjb250ZXh0LWNsaWNrIG9uIHRoZSBzZWxlY3Rpb24uIFRoZSB0ZXN0
IHN1Y2NlZWRzIHdoZW4gdGhlIGNvbnRleHQgbWVudSBzaG93cyBzcGVsbCBjaGVjayBzdWdnZXN0
aW9ucy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgc3BlbGxpbmdNYXJr
ZXJSYW5nZS50b1N0cmluZygpIGlzICJ3ZWxsY29tZSIKK1BBU1Mgd2luZG93LmdldFNlbGVjdGlv
bigpLnRvU3RyaW5nKCkgaXMgIiIKK1BBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5n
KCkgaXMgIndlbGxjb21lXyIKK1BBU1Mgc3BlbGxpbmdNYXJrZXJSYW5nZS50b1N0cmluZygpIGlz
ICJ3ZWxsY29tZSIKK1BBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgaXMgIndl
bGxjb21lXyIKK1BBU1MgY29udGV4dE1lbnVFbGVtZW50c1tjb250ZXh0TWVudUVsZW1lbnRzLmxl
bmd0aCAtIDFdIGlzICJ3ZWxjb21lIgorUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJp
bmcoKSBpcyAiIgorUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAid2Vs
bGNvbWVfICIKK1BBU1Mgc3BlbGxpbmdNYXJrZXJSYW5nZS50b1N0cmluZygpIGlzICJ3ZWxsY29t
ZSIKK1BBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgaXMgIndlbGxjb21lXyAi
CitQQVNTIGNvbnRleHRNZW51RWxlbWVudHNbY29udGV4dE1lbnVFbGVtZW50cy5sZW5ndGggLSAx
XSBpcyAid2VsY29tZSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQord2VsbGNvbWVfIGhvbWUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NwZWxsaW5nL3NwZWxsaW5nLWRvdWJsZS1jbGlja2VkLXdvcmQtd2l0aC11bmRlcnNjb3Jlcy5o
dG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1kb3VibGUtY2xpY2tl
ZC13b3JkLXdpdGgtdW5kZXJzY29yZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYTU5MzVmZTAwMDVhNWEw
NjEzNTJjZjlhMjNlZjYzMTIzYjE2YTM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1kb3VibGUtY2xpY2tlZC13b3JkLXdpdGgtdW5kZXJz
Y29yZXMuaHRtbApAQCAtMCwwICsxLDgwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgPGRpdiBpZD0iZGVzdGluYXRp
b24iIGNvbnRlbnRFZGl0YWJsZT48L2Rpdj4KKzwvZGl2PgorCis8c2NyaXB0PgorCitkZXNjcmlw
dGlvbigiU3BlbGxpbmcgc2hvdWxkIHdvcmsgZm9yIGRvdWJsZS1jbGlja2VkIG1pc3NwZWxsZWQg
d29yZHMgd2l0aCB1bmRlcnNjb3Jlcy4gIiArCisgICAgICAgICAgICAiVG8gdGVzdCBtYW51YWxs
eSwgdHlwZSAnd2VsbGNvbWVfIGhvbWUuJywgZG91YmxlLWNsaWNrIG9uICd3ZWxsY29tZV8nLCBh
bmQgY29udGV4dC1jbGljayBvbiB0aGUgc2VsZWN0aW9uLiAiICsKKyAgICAgICAgICAgICJUaGUg
dGVzdCBzdWNjZWVkcyB3aGVuIHRoZSBjb250ZXh0IG1lbnUgc2hvd3Mgc3BlbGwgY2hlY2sgc3Vn
Z2VzdGlvbnMuIik7CisKK2luaXRTcGVsbFRlc3QoImRlc3RpbmF0aW9uIiwgIndlbGxjb21lXyBo
b21lLiIsICBmdW5jdGlvbih0ZXh0Tm9kZSkgeworICAgIHNwZWxsaW5nTWFya2VyUmFuZ2UgPSBp
bnRlcm5hbHMubWFya2VyUmFuZ2VGb3JOb2RlKHRleHROb2RlLCAic3BlbGxpbmciLCAwKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJpbmcoKSIs
ICJ3ZWxsY29tZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93LmdldFNlbGVj
dGlvbigpLnRvU3RyaW5nKCkiLCAiIik7CisKKyAgICAvLyBEb3VibGUtY2xpY2sgdGhlIG1pc3Nw
ZWxsZWQgd29yZCB3aXRob3V0IHRoZSB0cmFpbGluZyB3aGl0ZXNwYWNlLgorICAgIHRlc3RSdW5u
ZXIuc2V0U2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxlZChmYWxzZSk7CisgICAgdmFyIHgg
PSBkZXN0aW5hdGlvbi5vZmZzZXRQYXJlbnQub2Zmc2V0TGVmdCArIGRlc3RpbmF0aW9uLm9mZnNl
dExlZnQgKyA0MDsKKyAgICB2YXIgeSA9IGRlc3RpbmF0aW9uLm9mZnNldFBhcmVudC5vZmZzZXRU
b3AgKyBkZXN0aW5hdGlvbi5vZmZzZXRUb3AgKyBkZXN0aW5hdGlvbi5vZmZzZXRIZWlnaHQgLyAy
OworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworICAgIGV2ZW50U2VuZGVyLm1v
dXNlRG93bigpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICBldmVudFNlbmRlci5t
b3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisKKyAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoIndpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIiwgIndlbGxjb21l
XyIpOworCisgICAgLy8gQ29udGV4dCBjbGljayBvbiAid2VsbGNvbWVfIiB0byBzaG93IHRoZSBj
b250ZXh0IG1lbnUuCisgICAgeCA9IGRlc3RpbmF0aW9uLm9mZnNldFBhcmVudC5vZmZzZXRMZWZ0
ICsgZGVzdGluYXRpb24ub2Zmc2V0TGVmdCArIDQwOworICAgIHkgPSBkZXN0aW5hdGlvbi5vZmZz
ZXRQYXJlbnQub2Zmc2V0VG9wICsgZGVzdGluYXRpb24ub2Zmc2V0VG9wICsgZGVzdGluYXRpb24u
b2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKKyAg
ICBjb250ZXh0TWVudUVsZW1lbnRzID0gZXZlbnRTZW5kZXIuY29udGV4dENsaWNrKCk7CisgICAg
Ly8gRXNjIGtleSB0byBoaWRlIHRoZSBjb250ZXh0IG1lbnUuCisgICAgZXZlbnRTZW5kZXIua2V5
RG93bihTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MDAxQiksIG51bGwpOworCisgICAgc3BlbGxpbmdN
YXJrZXJSYW5nZSA9IGludGVybmFscy5tYXJrZXJSYW5nZUZvck5vZGUodGV4dE5vZGUsICJzcGVs
bGluZyIsIDApOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3BlbGxpbmdNYXJrZXJSYW5n
ZS50b1N0cmluZygpIiwgIndlbGxjb21lIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3
aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSIsICJ3ZWxsY29tZV8iKTsKKyAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImNvbnRleHRNZW51RWxlbWVudHNbY29udGV4dE1lbnVFbGVtZW50
cy5sZW5ndGggLSAxXSIsICJ3ZWxjb21lIik7CisKKyAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCku
cmVtb3ZlQWxsUmFuZ2VzKCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0
U2VsZWN0aW9uKCkudG9TdHJpbmcoKSIsICIiKTsKKworICAgIC8vIERvdWJsZS1jbGljayB0aGUg
bWlzc3BlbGxlZCB3b3JkIHdpdGggdGhlIHRyYWlsaW5nIHdoaXRlc3BhY2UuCisgICAgdGVzdFJ1
bm5lci5zZXRTZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkKHRydWUpOworICAgIHZhciB4
ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50Lm9mZnNldExlZnQgKyBkZXN0aW5hdGlvbi5vZmZz
ZXRMZWZ0ICsgNDA7CisgICAgdmFyIHkgPSBkZXN0aW5hdGlvbi5vZmZzZXRQYXJlbnQub2Zmc2V0
VG9wICsgZGVzdGluYXRpb24ub2Zmc2V0VG9wICsgZGVzdGluYXRpb24ub2Zmc2V0SGVpZ2h0IC8g
MjsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKKyAgICBldmVudFNlbmRlci5t
b3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisgICAgZXZlbnRTZW5kZXIu
bW91c2VEb3duKCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworCisgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSIsICJ3ZWxsY29t
ZV8gIik7CisKKyAgICAvLyBDb250ZXh0IGNsaWNrIG9uICJ3ZWxsY29tZV8gIiB0byBzaG93IHRo
ZSBjb250ZXh0IG1lbnUuCisgICAgeCA9IGRlc3RpbmF0aW9uLm9mZnNldFBhcmVudC5vZmZzZXRM
ZWZ0ICsgZGVzdGluYXRpb24ub2Zmc2V0TGVmdCArIDQwOworICAgIHkgPSBkZXN0aW5hdGlvbi5v
ZmZzZXRQYXJlbnQub2Zmc2V0VG9wICsgZGVzdGluYXRpb24ub2Zmc2V0VG9wICsgZGVzdGluYXRp
b24ub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsK
KyAgICBjb250ZXh0TWVudUVsZW1lbnRzID0gZXZlbnRTZW5kZXIuY29udGV4dENsaWNrKCk7Cisg
ICAgLy8gRXNjIGtleSB0byBoaWRlIHRoZSBjb250ZXh0IG1lbnUuCisgICAgZXZlbnRTZW5kZXIu
a2V5RG93bihTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MDAxQiksIG51bGwpOworCisgICAgc3BlbGxp
bmdNYXJrZXJSYW5nZSA9IGludGVybmFscy5tYXJrZXJSYW5nZUZvck5vZGUodGV4dE5vZGUsICJz
cGVsbGluZyIsIDApOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3BlbGxpbmdNYXJrZXJS
YW5nZS50b1N0cmluZygpIiwgIndlbGxjb21lIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSIsICJ3ZWxsY29tZV8gIik7CisgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjb250ZXh0TWVudUVsZW1lbnRzW2NvbnRleHRNZW51RWxl
bWVudHMubGVuZ3RoIC0gMV0iLCAid2VsY29tZSIpOworfSk7CisKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxs
aW5nL3NwZWxsaW5nLWRvdWJsZS1jbGlja2VkLXdvcmQuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvc3BlbGxpbmcvc3BlbGxpbmctZG91YmxlLWNsaWNrZWQtd29yZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjI0OTI3M2QyZTBhYmFiOWQ5YmNlYzkyN2EwOWMzZmM0NmNlMDI3Y2YKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWRvdWJsZS1jbGlja2Vk
LXdvcmQuaHRtbApAQCAtMCwwICsxLDc5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgPGRpdiBpZD0iZGVzdGluYXRp
b24iIGNvbnRlbnRFZGl0YWJsZT48L2Rpdj4KKzwvZGl2PgorCis8c2NyaXB0PgorCitkZXNjcmlw
dGlvbigiU3BlbGxpbmcgc2hvdWxkIHdvcmsgZm9yIGRvdWJsZS1jbGlja2VkIG1pc3NwZWxsaW5n
cy4gIiArCisgICAgICAgICAgICAiVG8gdGVzdCBtYW51YWxseSwgdHlwZSAnd2VsbGNvbWUgaG9t
ZS4nLCBkb3VibGUtY2xpY2sgb24gJ3dlbGxjb21lJywgYW5kIGNvbnRleHQtY2xpY2sgb24gdGhl
IHNlbGVjdGlvbi4gIiArCisgICAgICAgICAgICAiVGhlIHRlc3Qgc3VjY2VlZHMgd2hlbiB0aGUg
Y29udGV4dCBtZW51IHNob3dzIHNwZWxsIGNoZWNrIHN1Z2dlc3Rpb25zLiIpOworCitpbml0U3Bl
bGxUZXN0KCJkZXN0aW5hdGlvbiIsICJ3ZWxsY29tZSBob21lLiIsIGZ1bmN0aW9uKHRleHROb2Rl
KSB7CisgICAgc3BlbGxpbmdNYXJrZXJSYW5nZSA9IGludGVybmFscy5tYXJrZXJSYW5nZUZvck5v
ZGUodGV4dE5vZGUsICJzcGVsbGluZyIsIDApOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
c3BlbGxpbmdNYXJrZXJSYW5nZS50b1N0cmluZygpIiwgIndlbGxjb21lIik7CisgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSIsICIiKTsK
KworICAgIC8vIERvdWJsZS1jbGljayB0aGUgbWlzc3BlbGxlZCB3b3JkIHdpdGhvdXQgdHJhaWxp
bmcgd2hpdGVzcGFjZS4KKyAgICB0ZXN0UnVubmVyLnNldFNlbGVjdFRyYWlsaW5nV2hpdGVzcGFj
ZUVuYWJsZWQoZmFsc2UpOworICAgIHZhciB4ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50Lm9m
ZnNldExlZnQgKyBkZXN0aW5hdGlvbi5vZmZzZXRMZWZ0ICsgNDA7CisgICAgdmFyIHkgPSBkZXN0
aW5hdGlvbi5vZmZzZXRQYXJlbnQub2Zmc2V0VG9wICsgZGVzdGluYXRpb24ub2Zmc2V0VG9wICsg
ZGVzdGluYXRpb24ub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVU
byh4LCB5KTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5t
b3VzZVVwKCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgZXZlbnRTZW5kZXIu
bW91c2VVcCgpOworCisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0U2VsZWN0
aW9uKCkudG9TdHJpbmcoKSIsICJ3ZWxsY29tZSIpOworCisgICAgLy8gQ29udGV4dCBjbGljayBv
biAid2VsbGNvbWUiIHRvIHNob3cgdGhlIGNvbnRleHQgbWVudS4KKyAgICB4ID0gZGVzdGluYXRp
b24ub2Zmc2V0UGFyZW50Lm9mZnNldExlZnQgKyBkZXN0aW5hdGlvbi5vZmZzZXRMZWZ0ICsgNDA7
CisgICAgeSA9IGRlc3RpbmF0aW9uLm9mZnNldFBhcmVudC5vZmZzZXRUb3AgKyBkZXN0aW5hdGlv
bi5vZmZzZXRUb3AgKyBkZXN0aW5hdGlvbi5vZmZzZXRIZWlnaHQgLyAyOworICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworICAgIGNvbnRleHRNZW51RWxlbWVudHMgPSBldmVudFNl
bmRlci5jb250ZXh0Q2xpY2soKTsKKyAgICAvLyBFc2Mga2V5IHRvIGhpZGUgdGhlIGNvbnRleHQg
bWVudS4KKyAgICBldmVudFNlbmRlci5rZXlEb3duKFN0cmluZy5mcm9tQ2hhckNvZGUoMHgwMDFC
KSwgbnVsbCk7CisKKyAgICBzcGVsbGluZ01hcmtlclJhbmdlID0gaW50ZXJuYWxzLm1hcmtlclJh
bmdlRm9yTm9kZSh0ZXh0Tm9kZSwgInNwZWxsaW5nIiwgMCk7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJzcGVsbGluZ01hcmtlclJhbmdlLnRvU3RyaW5nKCkiLCAid2VsbGNvbWUiKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygp
IiwgIndlbGxjb21lIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjb250ZXh0TWVudUVs
ZW1lbnRzW2NvbnRleHRNZW51RWxlbWVudHMubGVuZ3RoIC0gMV0iLCAid2VsY29tZSIpOworCisg
ICAgd2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcygpOworICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygid2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkiLCAiIik7CisK
KyAgICAvLyBEb3VibGUtY2xpY2sgdGhlIG1pc3NwZWxsZWQgd29yZCB3aXRoIHRyYWlsaW5nIHdo
aXRlc3BhY2UuCisgICAgdGVzdFJ1bm5lci5zZXRTZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFi
bGVkKHRydWUpOworICAgIHZhciB4ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50Lm9mZnNldExl
ZnQgKyBkZXN0aW5hdGlvbi5vZmZzZXRMZWZ0ICsgNDA7CisgICAgdmFyIHkgPSBkZXN0aW5hdGlv
bi5vZmZzZXRQYXJlbnQub2Zmc2V0VG9wICsgZGVzdGluYXRpb24ub2Zmc2V0VG9wICsgZGVzdGlu
YXRpb24ub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5
KTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVw
KCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VV
cCgpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93LmdldFNlbGVjdGlvbigpLnRv
U3RyaW5nKCkiLCAid2VsbGNvbWUgIik7CisKKyAgICAvLyBDb250ZXh0IGNsaWNrIG9uICJ3ZWxs
Y29tZSAiIHRvIHNob3cgdGhlIGNvbnRleHQgbWVudS4KKyAgICB4ID0gZGVzdGluYXRpb24ub2Zm
c2V0UGFyZW50Lm9mZnNldExlZnQgKyBkZXN0aW5hdGlvbi5vZmZzZXRMZWZ0ICsgNDA7CisgICAg
eSA9IGRlc3RpbmF0aW9uLm9mZnNldFBhcmVudC5vZmZzZXRUb3AgKyBkZXN0aW5hdGlvbi5vZmZz
ZXRUb3AgKyBkZXN0aW5hdGlvbi5vZmZzZXRIZWlnaHQgLyAyOworICAgIGV2ZW50U2VuZGVyLm1v
dXNlTW92ZVRvKHgsIHkpOworICAgIGNvbnRleHRNZW51RWxlbWVudHMgPSBldmVudFNlbmRlci5j
b250ZXh0Q2xpY2soKTsKKyAgICAvLyBFc2Mga2V5IHRvIGhpZGUgdGhlIGNvbnRleHQgbWVudS4K
KyAgICBldmVudFNlbmRlci5rZXlEb3duKFN0cmluZy5mcm9tQ2hhckNvZGUoMHgwMDFCKSwgbnVs
bCk7CisKKyAgICBzcGVsbGluZ01hcmtlclJhbmdlID0gaW50ZXJuYWxzLm1hcmtlclJhbmdlRm9y
Tm9kZSh0ZXh0Tm9kZSwgInNwZWxsaW5nIiwgMCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJzcGVsbGluZ01hcmtlclJhbmdlLnRvU3RyaW5nKCkiLCAid2VsbGNvbWUiKTsKKyAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIiwgIndl
bGxjb21lICIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY29udGV4dE1lbnVFbGVtZW50
c1tjb250ZXh0TWVudUVsZW1lbnRzLmxlbmd0aCAtIDFdIiwgIndlbGNvbWUiKTsKK30pOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1leGFjdGx5LXNlbGVjdGVkLW11bHRpcGxlLXdv
cmRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmct
ZXhhY3RseS1zZWxlY3RlZC1tdWx0aXBsZS13b3Jkcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDRhNzk0NzVlNTc2ZmJiODc5ODFiNjJlNjdiNTFhNDgyN2NjZjYyZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3RseS1zZWxlY3Rl
ZC1tdWx0aXBsZS13b3Jkcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorU3BlbGxpbmcg
c2hvdWxkIHdvcmsgd2hlbiB0aGUgdXNlciBzZWxlY3RzIGEgbXVsdGktd29yZCBtaXNzcGVsbGlu
ZyBleGFjdGx5LiBUbyB0ZXN0IG1hbnVhbGx5LCBlbmFibGUgJ0FzayBHb29nbGUgZm9yIFN1Z2dl
c3Rpb25zJyBpbiBDaHJvbWUsIHR5cGUgJ0l0IHNob3VsZCBiZSB1cHBlciBjYXNlLicsIHNlbGVj
dCAndXBwZXIgY2FzZScsIGFuZCBjb250ZXh0LWNsaWNrIG9uIHRoZSBzZWxlY3Rpb24uVGhlIHRl
c3Qgc3VjY2VlZHMgd2hlbiB0aGUgY29udGV4dCBtZW51IHNob3dzIHNwZWxsaW5nIHN1Z2dlc3Rp
b25zLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBzcGVsbGluZ01hcmtl
clJhbmdlLnRvU3RyaW5nKCkgaXMgInVwcGVyIGNhc2UiCitQQVNTIHdpbmRvdy5nZXRTZWxlY3Rp
b24oKS50b1N0cmluZygpIGlzICIiCitQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmlu
ZygpIGlzICJ1cHBlciBjYXNlIgorUEFTUyBzcGVsbGluZ01hcmtlclJhbmdlLnRvU3RyaW5nKCkg
aXMgInVwcGVyIGNhc2UiCitQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlz
ICJ1cHBlciBjYXNlIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCitJdCBzaG91bGQgYmUgdXBwZXIgY2FzZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3RseS1zZWxlY3RlZC1tdWx0aXBsZS13b3Jk
cy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1leGFjdGx5LXNl
bGVjdGVkLW11bHRpcGxlLXdvcmRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2QzMjU0ZmI0NjhiODc0NzIz
ZWU1YzZhNGM4YzE5NGJmNjBhOTI5MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3RseS1zZWxlY3RlZC1tdWx0aXBsZS13b3Jkcy5o
dG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICA8ZGl2IGlkPSJkZXN0aW5hdGlvbiIgY29u
dGVudEVkaXRhYmxlPjwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiU3Bl
bGxpbmcgc2hvdWxkIHdvcmsgd2hlbiB0aGUgdXNlciBzZWxlY3RzIGEgbXVsdGktd29yZCBtaXNz
cGVsbGluZyBleGFjdGx5LiAiICsKKyAgICAgICAgICAgICJUbyB0ZXN0IG1hbnVhbGx5LCBlbmFi
bGUgJ0FzayBHb29nbGUgZm9yIFN1Z2dlc3Rpb25zJyBpbiBDaHJvbWUsIHR5cGUgJ0l0IHNob3Vs
ZCBiZSB1cHBlciBjYXNlLicsIHNlbGVjdCAndXBwZXIgY2FzZScsIGFuZCBjb250ZXh0LWNsaWNr
IG9uIHRoZSBzZWxlY3Rpb24uIiArCisgICAgICAgICAgICAiVGhlIHRlc3Qgc3VjY2VlZHMgd2hl
biB0aGUgY29udGV4dCBtZW51IHNob3dzIHNwZWxsaW5nIHN1Z2dlc3Rpb25zLiIpOworCitpbml0
U3BlbGxUZXN0KCJkZXN0aW5hdGlvbiIsICJJdCBzaG91bGQgYmUgdXBwZXIgY2FzZS4iLCBmdW5j
dGlvbih0ZXh0Tm9kZSkgeworICAgIHNwZWxsaW5nTWFya2VyUmFuZ2UgPSBpbnRlcm5hbHMubWFy
a2VyUmFuZ2VGb3JOb2RlKHRleHROb2RlLCAic3BlbGxpbmciLCAwKTsKKyAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJpbmcoKSIsICJ1cHBlciBjYXNl
Iik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9T
dHJpbmcoKSIsICIiKTsKKyAgICAKKyAgICAvLyBTZWxlY3QgdGhlIG11bHRpLXdvcmQgbWlzc3Bl
bGxpbmcgd2l0aG91dCBzdXJyb3VuZGluZyB3aGl0ZXNwYWNlIG9yIHB1bmN0dWF0aW9uLgorICAg
IHZhciB3b3JkUmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOworICAgIHdvcmRSYW5nZS5z
ZXRTdGFydCh0ZXh0Tm9kZSwgMTMpOworICAgIHdvcmRSYW5nZS5zZXRFbmQodGV4dE5vZGUsIDIz
KTsKKyAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCk7CisgICAgd2lu
ZG93LmdldFNlbGVjdGlvbigpLmFkZFJhbmdlKHdvcmRSYW5nZSk7CisKKyAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoIndpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIiwgInVwcGVyIGNh
c2UiKTsKKworICAgIC8vIENvbnRleHQgY2xpY2sgb24gInVwcGVyIGNhc2UiIHRvIHNob3cgdGhl
IGNvbnRleHQgbWVudS4KKyAgICB2YXIgeCA9IGRlc3RpbmF0aW9uLm9mZnNldFBhcmVudC5vZmZz
ZXRMZWZ0ICsgZGVzdGluYXRpb24ub2Zmc2V0TGVmdCArIDEwMDsKKyAgICB2YXIgeSA9IGRlc3Rp
bmF0aW9uLm9mZnNldFBhcmVudC5vZmZzZXRUb3AgKyBkZXN0aW5hdGlvbi5vZmZzZXRUb3AgKyBk
ZXN0aW5hdGlvbi5vZmZzZXRIZWlnaHQgLyAyOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRv
KHgsIHkpOworICAgIGNvbnRleHRNZW51RWxlbWVudHMgPSBldmVudFNlbmRlci5jb250ZXh0Q2xp
Y2soKTsKKyAgICAvLyBFc2Mga2V5IHRvIGhpZGUgdGhlIGNvbnRleHQgbWVudS4KKyAgICBldmVu
dFNlbmRlci5rZXlEb3duKFN0cmluZy5mcm9tQ2hhckNvZGUoMHgwMDFCKSwgbnVsbCk7CisKKyAg
ICBzcGVsbGluZ01hcmtlclJhbmdlID0gaW50ZXJuYWxzLm1hcmtlclJhbmdlRm9yTm9kZSh0ZXh0
Tm9kZSwgInNwZWxsaW5nIiwgMCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzcGVsbGlu
Z01hcmtlclJhbmdlLnRvU3RyaW5nKCkiLCAidXBwZXIgY2FzZSIpOworICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygid2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkiLCAidXBwZXIgY2Fz
ZSIpOworfSk7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWV4YWN0bHktc2VsZWN0
ZWQtd29yZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxs
aW5nLWV4YWN0bHktc2VsZWN0ZWQtd29yZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzRlMzZj
ZjA0MzkxMDQ5OTZmMGNhZjE1NmIzZTk5MzFhMTg4ZTM4MwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3RseS1zZWxlY3RlZC13b3Jk
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitTcGVsbGluZyBzaG91bGQgd29yayB3aGVu
IHRoZSB1c2VyIHNlbGVjdHMgdGhlIG1pc3NwZWxsZWQgd29yZCBleGFjdGx5LiBUbyB0ZXN0IG1h
bnVhbGx5LCB0eXBlICd3ZWxsY29tZSBob21lLicsIHNlbGVjdCAnd2VsbGNvbWUnLCBhbmQgY29u
dGV4dC1jbGljayBvbiB0aGUgc2VsZWN0aW9uLiBUaGUgdGVzdCBzdWNjZWVkcyB3aGVuIHRoZSBj
b250ZXh0IG1lbnUgc2hvd3Mgc3BlbGxpbmcgc3VnZ2VzdGlvbnMuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIHNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJpbmcoKSBpcyAi
d2VsbGNvbWUiCitQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlzICIiCitQ
QVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlzICJ3ZWxsY29tZSIKK1BBU1Mg
c3BlbGxpbmdNYXJrZXJSYW5nZS50b1N0cmluZygpIGlzICJ3ZWxsY29tZSIKK1BBU1Mgd2luZG93
LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgaXMgIndlbGxjb21lIgorUEFTUyBjb250ZXh0TWVu
dUVsZW1lbnRzW2NvbnRleHRNZW51RWxlbWVudHMubGVuZ3RoIC0gMV0gaXMgIndlbGNvbWUiCitQ
QVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlzICJob21lIgorUEFTUyB3aW5k
b3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAiaG9tZSIKK1BBU1MgY29udGV4dE1lbnVF
bGVtZW50c1tjb250ZXh0TWVudUVsZW1lbnRzLmxlbmd0aCAtIDFdIGlzICI8c2VwYXJhdG9yPiIK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQord2VsbGNv
bWUgaG9tZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxp
bmctZXhhY3RseS1zZWxlY3RlZC13b3JkLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxs
aW5nL3NwZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQtd29yZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyMWQ5
NmQ4N2MwNGQ5NzMxYWJjYjBmYTM1N2NiMjc1NzhlZDg2Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQtd29y
ZC5odG1sCkBAIC0wLDAgKzEsNjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICA8ZGl2IGlkPSJkZXN0aW5hdGlvbiIg
Y29udGVudEVkaXRhYmxlPjwvZGl2PgorPC9kaXY+CisKKzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9u
KCJTcGVsbGluZyBzaG91bGQgd29yayB3aGVuIHRoZSB1c2VyIHNlbGVjdHMgdGhlIG1pc3NwZWxs
ZWQgd29yZCBleGFjdGx5LiAiICsKKyAgICAgICAgICAgICJUbyB0ZXN0IG1hbnVhbGx5LCB0eXBl
ICd3ZWxsY29tZSBob21lLicsIHNlbGVjdCAnd2VsbGNvbWUnLCBhbmQgY29udGV4dC1jbGljayBv
biB0aGUgc2VsZWN0aW9uLiAiICsKKyAgICAgICAgICAgICJUaGUgdGVzdCBzdWNjZWVkcyB3aGVu
IHRoZSBjb250ZXh0IG1lbnUgc2hvd3Mgc3BlbGxpbmcgc3VnZ2VzdGlvbnMuIik7CisKK2luaXRT
cGVsbFRlc3QoImRlc3RpbmF0aW9uIiwgIndlbGxjb21lIGhvbWUuIiwgZnVuY3Rpb24odGV4dE5v
ZGUpIHsKKyAgICBzcGVsbGluZ01hcmtlclJhbmdlID0gaW50ZXJuYWxzLm1hcmtlclJhbmdlRm9y
Tm9kZSh0ZXh0Tm9kZSwgInNwZWxsaW5nIiwgMCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJzcGVsbGluZ01hcmtlclJhbmdlLnRvU3RyaW5nKCkiLCAid2VsbGNvbWUiKTsKKyAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIiwgIiIp
OworCisgICAgLy8gU2VsZWN0IHRoZSBtaXNzcGVsbGVkIHdvcmQgd2l0aG91dCBzdXJyb3VuZGlu
ZyB3aGl0ZXNwYWNlIG9yIHB1bmN0dWF0aW9uLgorICAgIHZhciB3b3JkUmFuZ2UgPSBkb2N1bWVu
dC5jcmVhdGVSYW5nZSgpOworICAgIHdvcmRSYW5nZS5zZXRTdGFydCh0ZXh0Tm9kZSwgMCk7Cisg
ICAgd29yZFJhbmdlLnNldEVuZCh0ZXh0Tm9kZSwgOCk7CisgICAgd2luZG93LmdldFNlbGVjdGlv
bigpLnJlbW92ZUFsbFJhbmdlcygpOworICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5hZGRSYW5n
ZSh3b3JkUmFuZ2UpOworCisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCkudG9TdHJpbmcoKSIsICJ3ZWxsY29tZSIpOworCisgICAgLy8gQ29udGV4dCBjbGlj
ayBvbiAid2VsbGNvbWUiIHRvIHNob3cgdGhlIGNvbnRleHQgbWVudS4KKyAgICB2YXIgeCA9IGRl
c3RpbmF0aW9uLm9mZnNldFBhcmVudC5vZmZzZXRMZWZ0ICsgZGVzdGluYXRpb24ub2Zmc2V0TGVm
dCArIDQwOworICAgIHZhciB5ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50Lm9mZnNldFRvcCAr
IGRlc3RpbmF0aW9uLm9mZnNldFRvcCArIGRlc3RpbmF0aW9uLm9mZnNldEhlaWdodCAvIDI7Cisg
ICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7CisgICAgY29udGV4dE1lbnVFbGVtZW50
cyA9IGV2ZW50U2VuZGVyLmNvbnRleHRDbGljaygpOworICAgIC8vIEVzYyBrZXkgdG8gaGlkZSB0
aGUgY29udGV4dCBtZW51LgorICAgIGV2ZW50U2VuZGVyLmtleURvd24oU3RyaW5nLmZyb21DaGFy
Q29kZSgweDAwMUIpLCBudWxsKTsKKworICAgIHNwZWxsaW5nTWFya2VyUmFuZ2UgPSBpbnRlcm5h
bHMubWFya2VyUmFuZ2VGb3JOb2RlKHRleHROb2RlLCAic3BlbGxpbmciLCAwKTsKKyAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoInNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJpbmcoKSIsICJ3ZWxs
Y29tZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93LmdldFNlbGVjdGlvbigp
LnRvU3RyaW5nKCkiLCAid2VsbGNvbWUiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNv
bnRleHRNZW51RWxlbWVudHNbY29udGV4dE1lbnVFbGVtZW50cy5sZW5ndGggLSAxXSIsICJ3ZWxj
b21lIik7CisgICAgCisgICAgLy8gU2VsZWN0IGEgY29ycmVjdGx5IHNwZWxsZWQgd29yZCB3aXRo
b3V0IHN1cnJvdW5kaW5nIHdoaXRlc3BhY2Ugb3IgcHVuY3R1YXRpb24uCisgICAgd29yZFJhbmdl
LnNldFN0YXJ0KHRleHROb2RlLCA5KTsKKyAgICB3b3JkUmFuZ2Uuc2V0RW5kKHRleHROb2RlLCAx
Myk7CisgICAgd2luZG93LmdldFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcygpOworICAgIHdp
bmRvdy5nZXRTZWxlY3Rpb24oKS5hZGRSYW5nZSh3b3JkUmFuZ2UpOworICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygid2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkiLCAiaG9tZSIpOwor
CisgICAgLy8gQ29udGV4dCBjbGljayBvbiAiaG9tZSIgdG8gc2hvdyB0aGUgY29udGV4dCBtZW51
LgorICAgIHZhciB4ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50Lm9mZnNldExlZnQgKyBkZXN0
aW5hdGlvbi5vZmZzZXRMZWZ0ICsgODA7CisgICAgdmFyIHkgPSBkZXN0aW5hdGlvbi5vZmZzZXRQ
YXJlbnQub2Zmc2V0VG9wICsgZGVzdGluYXRpb24ub2Zmc2V0VG9wICsgZGVzdGluYXRpb24ub2Zm
c2V0SGVpZ2h0IC8gMjsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKKyAgICBj
b250ZXh0TWVudUVsZW1lbnRzID0gZXZlbnRTZW5kZXIuY29udGV4dENsaWNrKCk7CisgICAgLy8g
RXNjIGtleSB0byBoaWRlIHRoZSBjb250ZXh0IG1lbnUuCisgICAgZXZlbnRTZW5kZXIua2V5RG93
bihTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MDAxQiksIG51bGwpOworCisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSIsICJob21lIik7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjb250ZXh0TWVudUVsZW1lbnRzW2NvbnRleHRNZW51
RWxlbWVudHMubGVuZ3RoIC0gMV0iLCAiPHNlcGFyYXRvcj4iKTsKK30pOworCis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zcGVsbGluZy9zcGVsbGluZy1tdWx0aXdvcmQtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctbXVsdGl3b3JkLXNlbGVjdGlvbi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWYwZGQyYmUwOWY4ZmVhZWM2MzAzNjc3NTI3MjAzMWU4
NjQxMDFlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcv
c3BlbGxpbmctbXVsdGl3b3JkLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBA
QAorU3BlbGxpbmcgc2hvdWxkIGJlIGRpc2FibGVkIHdoZW4gdXNlciBzZWxlY3RzIG11bHRpcGxl
IHdvcmRzIHRoYXQgYXJlIG5vdCBhIHNpbmdsZSBtaXNzcGVsbGluZy4gVG8gdGVzdCBtYW51YWxs
eSwgdHlwZSAnd2VsbGNvbWUgaG9tZS4nLCBzZWxlY3QgJ3dlbGxjb21lIGhvbWUnLCBhbmQgY29u
dGV4dC1jbGljayBvbiB0aGUgc2VsZWN0aW9uLiBUaGUgdGVzdCBzdWNlZWRzIHdoZW4gdGhlIGNv
bnRleHQgbWVudSBoYXMgbm8gc3BlbGwgY2hlY2sgc3VnZ2VzdGlvbnMuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIHNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJpbmcoKSBp
cyAid2VsbGNvbWUiCitQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlzICIi
CitQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlzICJ3ZWxsY29tZSBob21l
IgorUEFTUyBzcGVsbGluZ01hcmtlclJhbmdlLnRvU3RyaW5nKCkgaXMgIndlbGxjb21lIgorUEFT
UyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAid2VsbGNvbWUgaG9tZSIKK1BB
U1MgY29udGV4dE1lbnVFbGVtZW50c1tjb250ZXh0TWVudUVsZW1lbnRzLmxlbmd0aCAtIDFdIGlz
ICI8c2VwYXJhdG9yPiIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQord2VsbGNvbWUgaG9tZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
c3BlbGxpbmcvc3BlbGxpbmctbXVsdGl3b3JkLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1tdWx0aXdvcmQtc2VsZWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZTAyN2I5N2JjNzE0YzFkOGQwYzYwZTA3Mjg5MjgwNDM0MTY0NmJlOQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctbXVsdGl3b3Jk
LXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICA8ZGl2IGlkPSJkZXN0
aW5hdGlvbiIgY29udGVudEVkaXRhYmxlPjwvZGl2PgorPC9kaXY+CisKKzxzY3JpcHQ+CisKK2Rl
c2NyaXB0aW9uKCJTcGVsbGluZyBzaG91bGQgYmUgZGlzYWJsZWQgd2hlbiB1c2VyIHNlbGVjdHMg
bXVsdGlwbGUgd29yZHMgdGhhdCBhcmUgbm90IGEgc2luZ2xlIG1pc3NwZWxsaW5nLiAiICsKKyAg
ICAgICAgICAgICJUbyB0ZXN0IG1hbnVhbGx5LCB0eXBlICd3ZWxsY29tZSBob21lLicsIHNlbGVj
dCAnd2VsbGNvbWUgaG9tZScsIGFuZCBjb250ZXh0LWNsaWNrIG9uIHRoZSBzZWxlY3Rpb24uICIg
KworICAgICAgICAgICAgIlRoZSB0ZXN0IHN1Y2VlZHMgd2hlbiB0aGUgY29udGV4dCBtZW51IGhh
cyBubyBzcGVsbCBjaGVjayBzdWdnZXN0aW9ucy4iKTsKKworaW5pdFNwZWxsVGVzdCgiZGVzdGlu
YXRpb24iLCAid2VsbGNvbWUgaG9tZS4iLCBmdW5jdGlvbih0ZXh0Tm9kZSkgeworICAgIHNwZWxs
aW5nTWFya2VyUmFuZ2UgPSBpbnRlcm5hbHMubWFya2VyUmFuZ2VGb3JOb2RlKHRleHROb2RlLCAi
c3BlbGxpbmciLCAwKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNwZWxsaW5nTWFya2Vy
UmFuZ2UudG9TdHJpbmcoKSIsICJ3ZWxsY29tZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
Zygid2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkiLCAiIik7CisKKyAgICAvLyBTZWxl
Y3QgdGhlIHRleHQgIndlbGxjb21lIGhvbWUiLgorICAgIHZhciBtdWx0aVdvcmRSYW5nZSA9IGRv
Y3VtZW50LmNyZWF0ZVJhbmdlKCk7CisgICAgbXVsdGlXb3JkUmFuZ2Uuc2V0U3RhcnQodGV4dE5v
ZGUsIDApOworICAgIG11bHRpV29yZFJhbmdlLnNldEVuZCh0ZXh0Tm9kZSwgMTMpOworICAgIHdp
bmRvdy5nZXRTZWxlY3Rpb24oKS5yZW1vdmVBbGxSYW5nZXMoKTsKKyAgICB3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCkuYWRkUmFuZ2UobXVsdGlXb3JkUmFuZ2UpOworCisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSIsICJ3ZWxsY29tZSBob21l
Iik7CisKKyAgICAvLyBDb250ZXh0IGNsaWNrIHRvIHNob3cgdGhlIGNvbnRleHQgbWVudS4KKyAg
ICB2YXIgeCA9IGRlc3RpbmF0aW9uLm9mZnNldFBhcmVudC5vZmZzZXRMZWZ0ICsgZGVzdGluYXRp
b24ub2Zmc2V0TGVmdCArIDQwOworICAgIHZhciB5ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50
Lm9mZnNldFRvcCArIGRlc3RpbmF0aW9uLm9mZnNldFRvcCArIGRlc3RpbmF0aW9uLm9mZnNldEhl
aWdodCAvIDI7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7CisgICAgY29udGV4
dE1lbnVFbGVtZW50cyA9IGV2ZW50U2VuZGVyLmNvbnRleHRDbGljaygpOworICAgIC8vIEVzYyBr
ZXkgdG8gaGlkZSB0aGUgY29udGV4dCBtZW51LgorICAgIGV2ZW50U2VuZGVyLmtleURvd24oU3Ry
aW5nLmZyb21DaGFyQ29kZSgweDAwMUIpLCBudWxsKTsKKworICAgIHNwZWxsaW5nTWFya2VyUmFu
Z2UgPSBpbnRlcm5hbHMubWFya2VyUmFuZ2VGb3JOb2RlKHRleHROb2RlLCAic3BlbGxpbmciLCAw
KTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJp
bmcoKSIsICJ3ZWxsY29tZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93Lmdl
dFNlbGVjdGlvbigpLnRvU3RyaW5nKCkiLCAid2VsbGNvbWUgaG9tZSIpOworICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiY29udGV4dE1lbnVFbGVtZW50c1tjb250ZXh0TWVudUVsZW1lbnRzLmxl
bmd0aCAtIDFdIiwgIjxzZXBhcmF0b3I+Iik7Cit9KTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcv
c3BlbGxpbmctc2hvdWxkLXNlbGVjdC1tdWx0aXBsZS13b3Jkcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXNob3VsZC1zZWxlY3QtbXVsdGlwbGUt
d29yZHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2YTQ1NDE2OGFkYzk3ZDFjN2Q2ZGU0MGEz
ZmU3YTdhZDBiMjk0Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nw
ZWxsaW5nL3NwZWxsaW5nLXNob3VsZC1zZWxlY3QtbXVsdGlwbGUtd29yZHMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTMgQEAKK1NwZWxsIGNoZWNrIHNob3VsZCBzZWxlY3QgbXVsdGktd29yZCBt
aXNzcGVsbGluZ3Mgb24gY29udGV4dCBjbGljay4gVG8gdGVzdCBtYW51YWxseSwgZW5hYmxlICdB
c2sgR29vZ2xlIGZvciBTdWdnZXN0aW9ucycgaW4gQ2hyb21lLCB0eXBlICdJdCBzaG91bGQgYmUg
dXBwZXIgY2FzZS4nLCBhbmQgY29udGV4dC1jbGljayBvbiB0aGUgd29yZCAndXBwZXInLiBUaGUg
dGVzdCBzdWNjZWVkcyB3aGVuICd1cHBlciBjYXNlJyB3YXMgc2VsZWN0ZWQgYWZ0ZXIgY29udGV4
dCBjbGljay4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgc3BlbGxpbmdN
YXJrZXJSYW5nZS50b1N0cmluZygpIGlzICJ1cHBlciBjYXNlIgorUEFTUyB3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAiIgorUEFTUyBzcGVsbGluZ01hcmtlclJhbmdlLnRvU3Ry
aW5nKCkgaXMgInVwcGVyIGNhc2UiCitQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmlu
ZygpIGlzICJ1cHBlciBjYXNlIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCitJdCBzaG91bGQgYmUgdXBwZXIgY2FzZS4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1tdWx0aXBsZS13
b3Jkcy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1zaG91bGQt
c2VsZWN0LW11bHRpcGxlLXdvcmRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2RmMDQyODM3YjE0NTYzMDQw
OWM4MDhmNWY4NDQ1MjM1NTY3OTQzNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1tdWx0aXBsZS13b3Jkcy5odG1s
CkBAIC0wLDAgKzEsMzggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICA8ZGl2IGlkPSJkZXN0aW5hdGlvbiIgY29udGVu
dEVkaXRhYmxlPjwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiU3BlbGwg
Y2hlY2sgc2hvdWxkIHNlbGVjdCBtdWx0aS13b3JkIG1pc3NwZWxsaW5ncyBvbiBjb250ZXh0IGNs
aWNrLiAiKworICAgICAgICAgICAgIlRvIHRlc3QgbWFudWFsbHksIGVuYWJsZSAnQXNrIEdvb2ds
ZSBmb3IgU3VnZ2VzdGlvbnMnIGluIENocm9tZSwgdHlwZSAnSXQgc2hvdWxkIGJlIHVwcGVyIGNh
c2UuJywgYW5kIGNvbnRleHQtY2xpY2sgb24gdGhlIHdvcmQgJ3VwcGVyJy4gIiArCisgICAgICAg
ICAgICAiVGhlIHRlc3Qgc3VjY2VlZHMgd2hlbiAndXBwZXIgY2FzZScgd2FzIHNlbGVjdGVkIGFm
dGVyIGNvbnRleHQgY2xpY2suIik7CisKK2luaXRTcGVsbFRlc3QoImRlc3RpbmF0aW9uIiwgIkl0
IHNob3VsZCBiZSB1cHBlciBjYXNlLiIsIGZ1bmN0aW9uKHRleHROb2RlKSB7CisgICAgc3BlbGxp
bmdNYXJrZXJSYW5nZSA9IGludGVybmFscy5tYXJrZXJSYW5nZUZvck5vZGUodGV4dE5vZGUsICJz
cGVsbGluZyIsIDApOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3BlbGxpbmdNYXJrZXJS
YW5nZS50b1N0cmluZygpIiwgInVwcGVyIGNhc2UiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoIndpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIiwgIiIpOworCisgICAgLy8gQ29u
dGV4dCBjbGljayBvbiAidXBwZXIgY2FzZSIgdG8gc2hvdyB0aGUgY29udGV4dCBtZW51LgorICAg
IHZhciB4ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50Lm9mZnNldExlZnQgKyBkZXN0aW5hdGlv
bi5vZmZzZXRMZWZ0ICsgMTAwOworICAgIHZhciB5ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50
Lm9mZnNldFRvcCArIGRlc3RpbmF0aW9uLm9mZnNldFRvcCArIGRlc3RpbmF0aW9uLm9mZnNldEhl
aWdodCAvIDI7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7CisgICAgY29udGV4
dE1lbnVFbGVtZW50cyA9IGV2ZW50U2VuZGVyLmNvbnRleHRDbGljaygpOworICAgIC8vIEVzYyBr
ZXkgdG8gaGlkZSB0aGUgY29udGV4dCBtZW51LgorICAgIGV2ZW50U2VuZGVyLmtleURvd24oU3Ry
aW5nLmZyb21DaGFyQ29kZSgweDAwMUIpLCBudWxsKTsKKworICAgIHNwZWxsaW5nTWFya2VyUmFu
Z2UgPSBpbnRlcm5hbHMubWFya2VyUmFuZ2VGb3JOb2RlKHRleHROb2RlLCAic3BlbGxpbmciLCAw
KTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJp
bmcoKSIsICJ1cHBlciBjYXNlIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSIsICJ1cHBlciBjYXNlIik7Cit9KTsKKworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1zaW5nbGUtd29yZC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXNob3VsZC1zZWxl
Y3Qtc2luZ2xlLXdvcmQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhOGQwODY2YTMzNzg4MGQx
OWRlYTRiMmNhMWM4ODNmY2JlYzIxMmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXNob3VsZC1zZWxlY3Qtc2luZ2xlLXdvcmQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1NwZWxsIGNoZWNrIHNlbGVjdHMgdGhlIG1pc3NwZWxs
ZWQgd29yZCBvbiBjb250ZXh0IGNsaWNrLiBUbyB0ZXN0IG1hbnVhbGx5LCB0eXBlICd3ZWxsY29t
ZSBob21lLicgYW5kIGNvbnRleHQtY2xpY2sgb24gJ3dlbGxjb21lJy4gVGhlIHRlc3Qgc3VjY2Vl
ZHMgd2hlbiAnd2VsbGNvbWUnIGlzIHNlbGVjdGVkIGFmdGVyIHRoZSBjb250ZXh0IGNsaWNrLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBzcGVsbGluZ01hcmtlclJhbmdl
LnRvU3RyaW5nKCkgaXMgIndlbGxjb21lIgorUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9T
dHJpbmcoKSBpcyAiIgorUEFTUyBzcGVsbGluZ01hcmtlclJhbmdlLnRvU3RyaW5nKCkgaXMgIndl
bGxjb21lIgorUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAid2VsbGNv
bWUiCitQQVNTIGNvbnRleHRNZW51RWxlbWVudHNbY29udGV4dE1lbnVFbGVtZW50cy5sZW5ndGgg
LSAxXSBpcyAid2VsY29tZSIKK1BBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkg
aXMgIiIKK1BBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgaXMgIiIKK1BBU1Mg
Y29udGV4dE1lbnVFbGVtZW50c1tjb250ZXh0TWVudUVsZW1lbnRzLmxlbmd0aCAtIDFdIGlzICI8
c2VwYXJhdG9yPiIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQord2VsbGNvbWUgaG9tZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3Bl
bGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1zaW5nbGUtd29yZC5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1zaG91bGQtc2VsZWN0LXNpbmdsZS13b3JkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMGI4Mjg0YTk0OWVhMGU5MGNiMDE0YWYwMjY3Zjc1NzRjNDg2NDRlOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmct
c2hvdWxkLXNlbGVjdC1zaW5nbGUtd29yZC5odG1sCkBAIC0wLDAgKzEsNTUgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0
aWwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJjb250YWluZXIiPgor
ICA8ZGl2IGlkPSJkZXN0aW5hdGlvbiIgY29udGVudEVkaXRhYmxlPjwvZGl2PgorPC9kaXY+CisK
KzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJTcGVsbCBjaGVjayBzZWxlY3RzIHRoZSBtaXNzcGVs
bGVkIHdvcmQgb24gY29udGV4dCBjbGljay4gIiArCisgICAgICAgICAgICAiVG8gdGVzdCBtYW51
YWxseSwgdHlwZSAnd2VsbGNvbWUgaG9tZS4nIGFuZCBjb250ZXh0LWNsaWNrIG9uICd3ZWxsY29t
ZScuICIgKworICAgICAgICAgICAgIlRoZSB0ZXN0IHN1Y2NlZWRzIHdoZW4gJ3dlbGxjb21lJyBp
cyBzZWxlY3RlZCBhZnRlciB0aGUgY29udGV4dCBjbGljay4iKTsKKworaW5pdFNwZWxsVGVzdCgi
ZGVzdGluYXRpb24iLCAid2VsbGNvbWUgaG9tZS4iLCBmdW5jdGlvbih0ZXh0Tm9kZSkgeworICAg
IHNwZWxsaW5nTWFya2VyUmFuZ2UgPSBpbnRlcm5hbHMubWFya2VyUmFuZ2VGb3JOb2RlKHRleHRO
b2RlLCAic3BlbGxpbmciLCAwKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNwZWxsaW5n
TWFya2VyUmFuZ2UudG9TdHJpbmcoKSIsICJ3ZWxsY29tZSIpOworICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygid2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkiLCAiIik7CisKKyAgICAv
LyBDb250ZXh0IGNsaWNrIG9uICJ3ZWxsY29tZSIgdG8gc2hvdyB0aGUgY29udGV4dCBtZW51Lgor
ICAgIHZhciB4ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50Lm9mZnNldExlZnQgKyBkZXN0aW5h
dGlvbi5vZmZzZXRMZWZ0ICsgNDA7CisgICAgdmFyIHkgPSBkZXN0aW5hdGlvbi5vZmZzZXRQYXJl
bnQub2Zmc2V0VG9wICsgZGVzdGluYXRpb24ub2Zmc2V0VG9wICsgZGVzdGluYXRpb24ub2Zmc2V0
SGVpZ2h0IC8gMjsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKKyAgICBjb250
ZXh0TWVudUVsZW1lbnRzID0gZXZlbnRTZW5kZXIuY29udGV4dENsaWNrKCk7CisgICAgLy8gRXNj
IGtleSB0byBoaWRlIHRoZSBjb250ZXh0IG1lbnUuCisgICAgZXZlbnRTZW5kZXIua2V5RG93bihT
dHJpbmcuZnJvbUNoYXJDb2RlKDB4MDAxQiksIG51bGwpOworCisgICAgc3BlbGxpbmdNYXJrZXJS
YW5nZSA9IGludGVybmFscy5tYXJrZXJSYW5nZUZvck5vZGUodGV4dE5vZGUsICJzcGVsbGluZyIs
IDApOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3BlbGxpbmdNYXJrZXJSYW5nZS50b1N0
cmluZygpIiwgIndlbGxjb21lIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSIsICJ3ZWxsY29tZSIpOworICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiY29udGV4dE1lbnVFbGVtZW50c1tjb250ZXh0TWVudUVsZW1lbnRzLmxlbmd0
aCAtIDFdIiwgIndlbGNvbWUiKTsKKworICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yZW1vdmVB
bGxSYW5nZXMoKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5nZXRTZWxlY3Rp
b24oKS50b1N0cmluZygpIiwgIiIpOworCisgICAgLy8gQ29udGV4dCBjbGljayBvbiAiaG9tZSIg
dG8gc2hvdyB0aGUgY29udGV4dCBtZW51LgorICAgIHZhciB4ID0gZGVzdGluYXRpb24ub2Zmc2V0
UGFyZW50Lm9mZnNldExlZnQgKyBkZXN0aW5hdGlvbi5vZmZzZXRMZWZ0ICsgODA7CisgICAgdmFy
IHkgPSBkZXN0aW5hdGlvbi5vZmZzZXRQYXJlbnQub2Zmc2V0VG9wICsgZGVzdGluYXRpb24ub2Zm
c2V0VG9wICsgZGVzdGluYXRpb24ub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICBldmVudFNlbmRlci5t
b3VzZU1vdmVUbyh4LCB5KTsKKyAgICBjb250ZXh0TWVudUVsZW1lbnRzID0gZXZlbnRTZW5kZXIu
Y29udGV4dENsaWNrKCk7CisgICAgLy8gRXNjIGtleSB0byBoaWRlIHRoZSBjb250ZXh0IG1lbnUu
CisgICAgZXZlbnRTZW5kZXIua2V5RG93bihTdHJpbmcuZnJvbUNoYXJDb2RlKDB4MDAxQiksIG51
bGwpOworCisgICAgLy8gQ29udGV4dCBjbGljayBzaG91bGQgbm90IHNlbGVjdCBjb3JyZWN0bHkg
c3BlbGxlZCB3b3JkcyB3aXRoICJ3aW4iIGVkaXRpbmcgYmVoYXZpb3IuCisgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSIsICIiKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNvbnRleHRNZW51RWxlbWVudHNbY29udGV4dE1lbnVF
bGVtZW50cy5sZW5ndGggLSAxXSIsICI8c2VwYXJhdG9yPiIpOworfSk7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NwZWxsaW5nL3NwZWxsaW5nLXN1YndvcmQtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc3Vid29yZC1zZWxlY3Rpb24tZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA5N2VlNzZlYTE0YTUwNWZkOTRmZjg2ODg0MGI5ZjczMmQ1YTVi
MDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxs
aW5nLXN1YndvcmQtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitTcGVs
bGluZyBzaG91bGQgYmUgZGlzYWJsZWQgd2hlbiB1c2VyIHNlbGVjdHMgYSBwYXJ0IG9mIG1pc3Nw
ZWxsaW5nLiBUbyB0ZXN0IG1hbnVhbGx5LCB0eXBlICd3ZWxsY29tZSBob21lLicgc2VsZWN0ICds
bGNvJywgYW5kIGNvbnRleHQtY2xpY2sgb24gdGhlIHNlbGVjdGlvbi4gVGhlIHRlc3Qgc3VjZWVk
cyB3aGVuIHRoZSBjb250ZXh0IG1lbnUgaGFzIG5vIHNwZWxsIGNoZWNrIHN1Z2dlc3Rpb25zLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBzcGVsbGluZ01hcmtlclJhbmdl
LnRvU3RyaW5nKCkgaXMgIndlbGxjb21lIgorUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9T
dHJpbmcoKSBpcyAiIgorUEFTUyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAi
bGxjbyIKK1BBU1Mgc3BlbGxpbmdNYXJrZXJSYW5nZS50b1N0cmluZygpIGlzICJ3ZWxsY29tZSIK
K1BBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgaXMgImxsY28iCitQQVNTIGNv
bnRleHRNZW51RWxlbWVudHNbY29udGV4dE1lbnVFbGVtZW50cy5sZW5ndGggLSAxXSBpcyAiPHNl
cGFyYXRvcj4iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKK3dlbGxjb21lIGhvbWUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxs
aW5nL3NwZWxsaW5nLXN1YndvcmQtc2VsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NwZWxsaW5nL3NwZWxsaW5nLXN1YndvcmQtc2VsZWN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjli
Yzg1ZGFjMmE5ODMwYTNmMTY0ZTc0ZDdiMTUzZjA2MDE4ZWRmMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc3Vid29yZC1zZWxlY3Rpb24u
aHRtbApAQCAtMCwwICsxLDQ5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgPGRpdiBpZD0iZGVzdGluYXRpb24iIGNv
bnRlbnRFZGl0YWJsZT48L2Rpdj4KKzwvZGl2PgorCis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigi
U3BlbGxpbmcgc2hvdWxkIGJlIGRpc2FibGVkIHdoZW4gdXNlciBzZWxlY3RzIGEgcGFydCBvZiBt
aXNzcGVsbGluZy4gIiArCisgICAgICAgICAgICAiVG8gdGVzdCBtYW51YWxseSwgdHlwZSAnd2Vs
bGNvbWUgaG9tZS4nIHNlbGVjdCAnbGxjbycsIGFuZCBjb250ZXh0LWNsaWNrIG9uIHRoZSBzZWxl
Y3Rpb24uICIgKworICAgICAgICAgICAgIlRoZSB0ZXN0IHN1Y2VlZHMgd2hlbiB0aGUgY29udGV4
dCBtZW51IGhhcyBubyBzcGVsbCBjaGVjayBzdWdnZXN0aW9ucy4iKTsKKworaW5pdFNwZWxsVGVz
dCgiZGVzdGluYXRpb24iLCAid2VsbGNvbWUgaG9tZS4iLCBmdW5jdGlvbih0ZXh0Tm9kZSkgewor
ICAgIHNwZWxsaW5nTWFya2VyUmFuZ2UgPSBpbnRlcm5hbHMubWFya2VyUmFuZ2VGb3JOb2RlKHRl
eHROb2RlLCAic3BlbGxpbmciLCAwKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNwZWxs
aW5nTWFya2VyUmFuZ2UudG9TdHJpbmcoKSIsICJ3ZWxsY29tZSIpOworICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygid2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkiLCAiIik7CisKKyAg
ICAvLyBTZWxlY3QgdGhlIHRleHQgImxsY28iLgorICAgIHZhciBzdWJXb3JkUmFuZ2UgPSBkb2N1
bWVudC5jcmVhdGVSYW5nZSgpOworICAgIHN1YldvcmRSYW5nZS5zZXRTdGFydCh0ZXh0Tm9kZSwg
Mik7CisgICAgc3ViV29yZFJhbmdlLnNldEVuZCh0ZXh0Tm9kZSwgNik7CisgICAgd2luZG93Lmdl
dFNlbGVjdGlvbigpLnJlbW92ZUFsbFJhbmdlcygpOworICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24o
KS5hZGRSYW5nZShzdWJXb3JkUmFuZ2UpOworCisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3
aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSIsICJsbGNvIik7CisKKyAgICAvLyBDb250
ZXh0IGNsaWNrIG9uICdsbGNvJyB0byBzaG93IHRoZSBjb250ZXh0IG1lbnUuCisgICAgdmFyIHgg
PSBkZXN0aW5hdGlvbi5vZmZzZXRQYXJlbnQub2Zmc2V0TGVmdCArIGRlc3RpbmF0aW9uLm9mZnNl
dExlZnQgKyA0MDsKKyAgICB2YXIgeSA9IGRlc3RpbmF0aW9uLm9mZnNldFBhcmVudC5vZmZzZXRU
b3AgKyBkZXN0aW5hdGlvbi5vZmZzZXRUb3AgKyBkZXN0aW5hdGlvbi5vZmZzZXRIZWlnaHQgLyAy
OworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworICAgIGNvbnRleHRNZW51RWxl
bWVudHMgPSBldmVudFNlbmRlci5jb250ZXh0Q2xpY2soKTsKKyAgICAvLyBFc2Mga2V5IHRvIGhp
ZGUgdGhlIGNvbnRleHQgbWVudS4KKyAgICBldmVudFNlbmRlci5rZXlEb3duKFN0cmluZy5mcm9t
Q2hhckNvZGUoMHgwMDFCKSwgbnVsbCk7CisKKyAgICBzcGVsbGluZ01hcmtlclJhbmdlID0gaW50
ZXJuYWxzLm1hcmtlclJhbmdlRm9yTm9kZSh0ZXh0Tm9kZSwgInNwZWxsaW5nIiwgMCk7CisgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzcGVsbGluZ01hcmtlclJhbmdlLnRvU3RyaW5nKCkiLCAi
d2VsbGNvbWUiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5nZXRTZWxlY3Rp
b24oKS50b1N0cmluZygpIiwgImxsY28iKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNv
bnRleHRNZW51RWxlbWVudHNbY29udGV4dE1lbnVFbGVtZW50cy5sZW5ndGggLSAxXSIsICI8c2Vw
YXJhdG9yPiIpOworfSk7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXdpdGgtcHVu
Y3R1YXRpb24tc2VsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3Bl
bGxpbmcvc3BlbGxpbmctd2l0aC1wdW5jdHVhdGlvbi1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMjE4MGQwZmIwMWZkNTEyZjM5ZDI5NTkxOTE3MjM5ZjZkM2Y4ZGMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXdpdGgt
cHVuY3R1YXRpb24tc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitQdW5j
dHVhdGlvbiBtYXJrcyBzaG91bGQgYmUgdHJlYXRlZCBhcyB3aGl0ZXNwYWNlOiBzcGVsbGluZyBz
aG91bGQgaWdub3JlIHRoZW0uIFRvIHRlc3QgbWFudWFsbHksIHR5cGUgJ3dlbGxjb21lIScsIHNl
bGVjdCAnd2VsbGNvbWUhJywgYW5kIGNvbnRleHQtY2xpY2sgb24gdGhlIHNlbGVjdGlvbi4gVGhl
IHRlc3Qgc3VjY2VlZHMgd2hlbiB0aGUgY29udGV4dCBtZW51IGhhcyBzcGVsbCBjaGVjayBzdWdn
ZXN0aW9ucy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgc3BlbGxpbmdN
YXJrZXJSYW5nZS50b1N0cmluZygpIGlzICJ3ZWxsY29tZSIKK1BBU1Mgd2luZG93LmdldFNlbGVj
dGlvbigpLnRvU3RyaW5nKCkgaXMgIiIKK1BBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3Ry
aW5nKCkgaXMgIndlbGxjb21lISIKK1BBU1Mgc3BlbGxpbmdNYXJrZXJSYW5nZS50b1N0cmluZygp
IGlzICJ3ZWxsY29tZSIKK1BBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgaXMg
IndlbGxjb21lISIKK1BBU1MgY29udGV4dE1lbnVFbGVtZW50c1tjb250ZXh0TWVudUVsZW1lbnRz
Lmxlbmd0aCAtIDFdIGlzICJ3ZWxjb21lIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCit3ZWxsY29tZSEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctd2l0aC1wdW5jdHVhdGlvbi1zZWxlY3Rpb24uaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctd2l0aC1wdW5jdHVhdGlvbi1z
ZWxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYjU2NWI3MGZhZTFiNjQzYmUxOGJkY2Q4ODZlOGU0
MzgxMTJmOTdjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGlu
Zy9zcGVsbGluZy13aXRoLXB1bmN0dWF0aW9uLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDkg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICA8ZGl2IGlkPSJkZXN0aW5hdGlvbiIgY29udGVudEVkaXRhYmxlPjwvZGl2
PgorPC9kaXY+CisKKzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJQdW5jdHVhdGlvbiBtYXJrcyBz
aG91bGQgYmUgdHJlYXRlZCBhcyB3aGl0ZXNwYWNlOiBzcGVsbGluZyBzaG91bGQgaWdub3JlIHRo
ZW0uICIgKworICAgICAgICAgICAgIlRvIHRlc3QgbWFudWFsbHksIHR5cGUgJ3dlbGxjb21lIScs
IHNlbGVjdCAnd2VsbGNvbWUhJywgYW5kIGNvbnRleHQtY2xpY2sgb24gdGhlIHNlbGVjdGlvbi4g
IiArCisgICAgICAgICAgICAiVGhlIHRlc3Qgc3VjY2VlZHMgd2hlbiB0aGUgY29udGV4dCBtZW51
IGhhcyBzcGVsbCBjaGVjayBzdWdnZXN0aW9ucy4iKTsKKworaW5pdFNwZWxsVGVzdCgiZGVzdGlu
YXRpb24iLCAid2VsbGNvbWUhIiwgZnVuY3Rpb24odGV4dE5vZGUpIHsKKyAgICBzcGVsbGluZ01h
cmtlclJhbmdlID0gaW50ZXJuYWxzLm1hcmtlclJhbmdlRm9yTm9kZSh0ZXh0Tm9kZSwgInNwZWxs
aW5nIiwgMCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzcGVsbGluZ01hcmtlclJhbmdl
LnRvU3RyaW5nKCkiLCAid2VsbGNvbWUiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndp
bmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIiwgIiIpOworCisgICAgLy8gU2VsZWN0IHRo
ZSB0ZXh0ICJ3ZWxsY29tZSEiIHdpdGggdGhlIGV4Y2xhbWF0aW9uIG1hcmsuCisgICAgdmFyIHJh
bmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKKyAgICByYW5nZS5zZXRTdGFydCh0ZXh0Tm9k
ZSwgMCk7CisgICAgcmFuZ2Uuc2V0RW5kKHRleHROb2RlLCA5KTsKKyAgICB3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCk7CisgICAgd2luZG93LmdldFNlbGVjdGlvbigpLmFk
ZFJhbmdlKHJhbmdlKTsKKworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93LmdldFNl
bGVjdGlvbigpLnRvU3RyaW5nKCkiLCAid2VsbGNvbWUhIik7CisKKyAgICAvLyBDb250ZXh0IGNs
aWNrIHRvIHNob3cgdGhlIGNvbnRleHQgbWVudS4KKyAgICB2YXIgeCA9IGRlc3RpbmF0aW9uLm9m
ZnNldFBhcmVudC5vZmZzZXRMZWZ0ICsgZGVzdGluYXRpb24ub2Zmc2V0TGVmdCArIDQwOworICAg
IHZhciB5ID0gZGVzdGluYXRpb24ub2Zmc2V0UGFyZW50Lm9mZnNldFRvcCArIGRlc3RpbmF0aW9u
Lm9mZnNldFRvcCArIGRlc3RpbmF0aW9uLm9mZnNldEhlaWdodCAvIDI7CisgICAgZXZlbnRTZW5k
ZXIubW91c2VNb3ZlVG8oeCwgeSk7CisgICAgY29udGV4dE1lbnVFbGVtZW50cyA9IGV2ZW50U2Vu
ZGVyLmNvbnRleHRDbGljaygpOworICAgIC8vIEVzYyBrZXkgdG8gaGlkZSB0aGUgY29udGV4dCBt
ZW51LgorICAgIGV2ZW50U2VuZGVyLmtleURvd24oU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwMUIp
LCBudWxsKTsKKworICAgIHNwZWxsaW5nTWFya2VyUmFuZ2UgPSBpbnRlcm5hbHMubWFya2VyUmFu
Z2VGb3JOb2RlKHRleHROb2RlLCAic3BlbGxpbmciLCAwKTsKKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJpbmcoKSIsICJ3ZWxsY29tZSIpOworICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCki
LCAid2VsbGNvbWUhIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjb250ZXh0TWVudUVs
ZW1lbnRzW2NvbnRleHRNZW51RWxlbWVudHMubGVuZ3RoIC0gMV0iLCAid2VsY29tZSIpOworfSk7
CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXdpdGgtdW5kZXJzY29yZS1zZWxlY3Rp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy13
aXRoLXVuZGVyc2NvcmUtc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZTE0NDYx
ZWYxYjRhYWNhZDE1OTMzYTZiN2UyNzhhNWRmZWYzYWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy13aXRoLXVuZGVyc2NvcmUtc2VsZWN0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitVbmRlcnNjb3JlcyBzaG91bGQgYmUg
dHJlYXRlZCBhcyB3aGl0ZXNwYWNlOiBzcGVsbGluZyBzaG91bGQgaWdub3JlIHRoZW0uIFRvIHRl
c3QgbWFudWFsbHksIHR5cGUgJ0hpLCBfd2VsbGNvbWVfIGhvbWUuJywgc2VsZWN0ICdfd2VsbGNv
bWVfJywgYW5kIGNvbnRleHQtY2xpY2sgb24gdGhlIHNlbGVjdGlvbi4gVGhlIHRlc3Qgc3VjY2Vl
ZHMgd2hlbiB0aGUgY29udGV4dCBtZW51IGhhcyBzcGVsbCBjaGVjayBzdWdnZXN0aW9ucy4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgc3BlbGxpbmdNYXJrZXJSYW5nZS50
b1N0cmluZygpIGlzICJ3ZWxsY29tZSIKK1BBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3Ry
aW5nKCkgaXMgIiIKK1BBU1Mgd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgaXMgIl93
ZWxsY29tZV8iCitQQVNTIHNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJpbmcoKSBpcyAid2VsbGNv
bWUiCitQQVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlzICJfd2VsbGNvbWVf
IgorUEFTUyBjb250ZXh0TWVudUVsZW1lbnRzW2NvbnRleHRNZW51RWxlbWVudHMubGVuZ3RoIC0g
MV0gaXMgIndlbGNvbWUiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKK0hpLCBfd2VsbGNvbWVfIGhvbWUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXdpdGgtdW5kZXJzY29yZS1zZWxlY3Rpb24uaHRtbCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctd2l0aC11bmRlcnNjb3JlLXNl
bGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFiMDM2YmI4MmI5YWYzMzQyY2M2Y2Y1NTYxOTliMzJk
NzA0OGRjZjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5n
L3NwZWxsaW5nLXdpdGgtdW5kZXJzY29yZS1zZWxlY3Rpb24uaHRtbApAQCAtMCwwICsxLDQ5IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iY29u
dGFpbmVyIj4KKyAgPGRpdiBpZD0iZGVzdGluYXRpb24iIGNvbnRlbnRFZGl0YWJsZT48L2Rpdj4K
KzwvZGl2PgorCis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVW5kZXJzY29yZXMgc2hvdWxkIGJl
IHRyZWF0ZWQgYXMgd2hpdGVzcGFjZTogc3BlbGxpbmcgc2hvdWxkIGlnbm9yZSB0aGVtLiAiICsK
KyAgICAgICAgICAgICJUbyB0ZXN0IG1hbnVhbGx5LCB0eXBlICdIaSwgX3dlbGxjb21lXyBob21l
LicsIHNlbGVjdCAnX3dlbGxjb21lXycsIGFuZCBjb250ZXh0LWNsaWNrIG9uIHRoZSBzZWxlY3Rp
b24uICIgKworICAgICAgICAgICAgIlRoZSB0ZXN0IHN1Y2NlZWRzIHdoZW4gdGhlIGNvbnRleHQg
bWVudSBoYXMgc3BlbGwgY2hlY2sgc3VnZ2VzdGlvbnMuIik7CisKK2luaXRTcGVsbFRlc3QoImRl
c3RpbmF0aW9uIiwgIkhpLCBfd2VsbGNvbWVfIGhvbWUuIiwgZnVuY3Rpb24odGV4dE5vZGUpIHsK
KyAgICBzcGVsbGluZ01hcmtlclJhbmdlID0gaW50ZXJuYWxzLm1hcmtlclJhbmdlRm9yTm9kZSh0
ZXh0Tm9kZSwgInNwZWxsaW5nIiwgMCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzcGVs
bGluZ01hcmtlclJhbmdlLnRvU3RyaW5nKCkiLCAid2VsbGNvbWUiKTsKKyAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoIndpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIiwgIiIpOworCisg
ICAgLy8gU2VsZWN0IHRoZSB0ZXh0ICJfd2VsbGNvbWVfIi4KKyAgICB2YXIgcmFuZ2VXaXRoVW5k
ZXJzY29yZXMgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOworICAgIHJhbmdlV2l0aFVuZGVyc2Nv
cmVzLnNldFN0YXJ0KHRleHROb2RlLCA0KTsKKyAgICByYW5nZVdpdGhVbmRlcnNjb3Jlcy5zZXRF
bmQodGV4dE5vZGUsIDE0KTsKKyAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFu
Z2VzKCk7CisgICAgd2luZG93LmdldFNlbGVjdGlvbigpLmFkZFJhbmdlKHJhbmdlV2l0aFVuZGVy
c2NvcmVzKTsKKworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93LmdldFNlbGVjdGlv
bigpLnRvU3RyaW5nKCkiLCAiX3dlbGxjb21lXyIpOworCisgICAgLy8gQ29udGV4dCBjbGljayBv
biAiX3dlbGxjb21lXyIgdG8gc2hvdyB0aGUgY29udGV4dCBtZW51LgorICAgIHZhciB4ID0gZGVz
dGluYXRpb24ub2Zmc2V0UGFyZW50Lm9mZnNldExlZnQgKyBkZXN0aW5hdGlvbi5vZmZzZXRMZWZ0
ICsgODA7CisgICAgdmFyIHkgPSBkZXN0aW5hdGlvbi5vZmZzZXRQYXJlbnQub2Zmc2V0VG9wICsg
ZGVzdGluYXRpb24ub2Zmc2V0VG9wICsgZGVzdGluYXRpb24ub2Zmc2V0SGVpZ2h0IC8gMjsKKyAg
ICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKKyAgICBjb250ZXh0TWVudUVsZW1lbnRz
ID0gZXZlbnRTZW5kZXIuY29udGV4dENsaWNrKCk7CisgICAgLy8gRXNjIGtleSB0byBoaWRlIHRo
ZSBjb250ZXh0IG1lbnUuCisgICAgZXZlbnRTZW5kZXIua2V5RG93bihTdHJpbmcuZnJvbUNoYXJD
b2RlKDB4MDAxQiksIG51bGwpOworCisgICAgc3BlbGxpbmdNYXJrZXJSYW5nZSA9IGludGVybmFs
cy5tYXJrZXJSYW5nZUZvck5vZGUodGV4dE5vZGUsICJzcGVsbGluZyIsIDApOworICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygic3BlbGxpbmdNYXJrZXJSYW5nZS50b1N0cmluZygpIiwgIndlbGxj
b21lIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCku
dG9TdHJpbmcoKSIsICJfd2VsbGNvbWVfIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJj
b250ZXh0TWVudUVsZW1lbnRzW2NvbnRleHRNZW51RWxlbWVudHMubGVuZ3RoIC0gMV0iLCAid2Vs
Y29tZSIpOworfSk7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXdpdGgtd2hpdGVz
cGFjZS1zZWxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGlu
Zy9zcGVsbGluZy13aXRoLXdoaXRlc3BhY2Utc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44NDM1NTE3M2E3Mzg3OWZlNDViNDlhMjk4YTNjZjBjNWNmNGQ1NjcyCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy13aXRoLXdoaXRl
c3BhY2Utc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitTcGVsbGluZyBz
aG91bGQgaWdub3JlIHdoaXRlc3BhY2UuIFRvIHRlc3QgbWFudWFsbHksIHR5cGUgJ2hlbGxvLCB3
ZWxsY29tZSBob21lLicsIHNlbGVjdCAnIHdlbGxjb21lICcsIGFuZCBjb250ZXh0LWNsaWNrIG9u
IHRoZSBzZWxlY3Rpb24uIFRoZSB0ZXN0IHN1Y2NlZWRzIHdoZW4gdGhlIGNvbnRleHQgbWVudSBo
YXMgc3BlbGwgY2hlY2sgc3VnZ2VzdGlvbnMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitQQVNTIHNwZWxsaW5nTWFya2VyUmFuZ2UudG9TdHJpbmcoKSBpcyAid2VsbGNvbWUiCitQ
QVNTIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIGlzICIgd2VsbGNvbWUgIgorUEFT
UyBzcGVsbGluZ01hcmtlclJhbmdlLnRvU3RyaW5nKCkgaXMgIndlbGxjb21lIgorUEFTUyB3aW5k
b3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSBpcyAiIHdlbGxjb21lICIKK1BBU1MgY29udGV4
dE1lbnVFbGVtZW50c1tjb250ZXh0TWVudUVsZW1lbnRzLmxlbmd0aCAtIDFdIGlzICJ3ZWxjb21l
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitoZWxs
bywgd2VsbGNvbWUgaG9tZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxp
bmcvc3BlbGxpbmctd2l0aC13aGl0ZXNwYWNlLXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy13aXRoLXdoaXRlc3BhY2Utc2VsZWN0aW9uLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYWU5MTE5MGI3OWU5ZjQwODkzNWVlNGFjN2ExZmYzYTcyMmFmZjgwZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctd2l0
aC13aGl0ZXNwYWNlLXNlbGVjdGlvbi5odG1sCkBAIC0wLDAgKzEsNDggQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICA8
ZGl2IGlkPSJkZXN0aW5hdGlvbiIgY29udGVudEVkaXRhYmxlPjwvZGl2PgorPC9kaXY+CisKKzxz
Y3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJTcGVsbGluZyBzaG91bGQgaWdub3JlIHdoaXRlc3BhY2Uu
ICIgKworICAgICAgICAgICAgIlRvIHRlc3QgbWFudWFsbHksIHR5cGUgJ2hlbGxvLCB3ZWxsY29t
ZSBob21lLicsIHNlbGVjdCAnIHdlbGxjb21lICcsIGFuZCBjb250ZXh0LWNsaWNrIG9uIHRoZSBz
ZWxlY3Rpb24uICIgKworICAgICAgICAgICAgIlRoZSB0ZXN0IHN1Y2NlZWRzIHdoZW4gdGhlIGNv
bnRleHQgbWVudSBoYXMgc3BlbGwgY2hlY2sgc3VnZ2VzdGlvbnMuIik7CisKK2luaXRTcGVsbFRl
c3QoImRlc3RpbmF0aW9uIiwgImhlbGxvLCB3ZWxsY29tZSBob21lLiIsIGZ1bmN0aW9uKHRleHRO
b2RlKSB7CisgICAgc3BlbGxpbmdNYXJrZXJSYW5nZSA9IGludGVybmFscy5tYXJrZXJSYW5nZUZv
ck5vZGUodGV4dE5vZGUsICJzcGVsbGluZyIsIDApOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
Zygic3BlbGxpbmdNYXJrZXJSYW5nZS50b1N0cmluZygpIiwgIndlbGxjb21lIik7CisKKyAgICAv
LyBTZWxlY3QgdGhlIHRleHQgIiB3ZWxsY29tZSAiIHdpdGggc3Vycm91bmRpbmcgd2hpdGVzcGFj
ZS4KKyAgICB2YXIgcmFuZ2VXaXRoV2hpdGVzcGFjZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7
CisgICAgcmFuZ2VXaXRoV2hpdGVzcGFjZS5zZXRTdGFydCh0ZXh0Tm9kZSwgNik7CisgICAgcmFu
Z2VXaXRoV2hpdGVzcGFjZS5zZXRFbmQodGV4dE5vZGUsIDE2KTsKKyAgICB3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCk7CisgICAgd2luZG93LmdldFNlbGVjdGlvbigpLmFk
ZFJhbmdlKHJhbmdlV2l0aFdoaXRlc3BhY2UpOworCisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKSIsICIgd2VsbGNvbWUgIik7CisKKyAg
ICAvLyBDb250ZXh0IGNsaWNrIG9uICIgd2VsbGNvbWUgIiB0byBzaG93IHRoZSBjb250ZXh0IG1l
bnUuCisgICAgdmFyIHggPSBkZXN0aW5hdGlvbi5vZmZzZXRQYXJlbnQub2Zmc2V0TGVmdCArIGRl
c3RpbmF0aW9uLm9mZnNldExlZnQgKyA4MDsKKyAgICB2YXIgeSA9IGRlc3RpbmF0aW9uLm9mZnNl
dFBhcmVudC5vZmZzZXRUb3AgKyBkZXN0aW5hdGlvbi5vZmZzZXRUb3AgKyBkZXN0aW5hdGlvbi5v
ZmZzZXRIZWlnaHQgLyAyOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworICAg
IGNvbnRleHRNZW51RWxlbWVudHMgPSBldmVudFNlbmRlci5jb250ZXh0Q2xpY2soKTsKKyAgICAv
LyBFc2Mga2V5IHRvIGhpZGUgdGhlIGNvbnRleHQgbWVudS4KKyAgICBldmVudFNlbmRlci5rZXlE
b3duKFN0cmluZy5mcm9tQ2hhckNvZGUoMHgwMDFCKSwgbnVsbCk7CisKKyAgICBzcGVsbGluZ01h
cmtlclJhbmdlID0gaW50ZXJuYWxzLm1hcmtlclJhbmdlRm9yTm9kZSh0ZXh0Tm9kZSwgInNwZWxs
aW5nIiwgMCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzcGVsbGluZ01hcmtlclJhbmdl
LnRvU3RyaW5nKCkiLCAid2VsbGNvbWUiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndp
bmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpIiwgIiB3ZWxsY29tZSAiKTsKKyAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImNvbnRleHRNZW51RWxlbWVudHNbY29udGV4dE1lbnVFbGVtZW50
cy5sZW5ndGggLSAxXSIsICJ3ZWxjb21lIik7Cit9KTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IDFlZDZjZTk2Zjc3Y2VlY2FlMTI3YzMyMDc1NmI3ZWFjZTZlYzgxMzcu
LjA4MWQ4YmU1OGFlZjUxZDNjYWJjZjlkNjFhMDM3MTMyNTUwMmY2NGUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDQyMiwzICs0NDIy
LDE2IEBAIHdlYmtpdC5vcmcvYi8xMDgyODUgWyBEZWJ1ZyBdIGZhc3Qvd29ya2Vycy9zdG9yYWdl
L29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3RpCiB3ZWJraXQub3JnL2IvMTA4Mjg1IFsgRGVi
dWcgXSBmYXN0L3dvcmtlcnMvc3RvcmFnZS9zcWwtZGF0YS10eXBlcy1zeW5jLmh0bWwgWyBDcmFz
aCBdCiB3ZWJraXQub3JnL2IvMTA4Mjg1IFsgRGVidWcgXSBmYXN0L3dvcmtlcnMvc3RvcmFnZS90
ZXN0LWF1dGhvcml6ZXItc3luYy5odG1sIFsgQ3Jhc2ggXQogd2Via2l0Lm9yZy9iLzEwODI4NSBb
IERlYnVnIF0gaHR0cC90ZXN0cy93b3JrZXJzL3Rlcm1pbmF0ZS1kdXJpbmctc3luYy1vcGVyYXRp
b24uaHRtbCBbIENyYXNoIF0KKworIyBTcGVsbGNoZWNrZXIgYmVoYXZpb3IgdGVzdHMuCit3ZWJr
aXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZG91YmxlLWNsaWNrZWQt
d29yZC5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcv
c3BlbGxpbmctZG91YmxlLWNsaWNrZWQtd29yZC13aXRoLXVuZGVyc2NvcmVzLmh0bWwgWyBTa2lw
IF0KK3dlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1leGFjdGx5
LXNlbGVjdGVkLW11bHRpcGxlLXdvcmRzLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMDgz
NzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1leGFjdGx5LXNlbGVjdGVkLXdvcmQuaHRtbCBb
IFNraXAgXQord2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLW11
bHRpd29yZC1zZWxlY3Rpb24uaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0
aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXNob3VsZC1zZWxlY3QtbXVsdGlwbGUtd29yZHMuaHRtbCBb
IFNraXAgXQord2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXNo
b3VsZC1zZWxlY3Qtc2luZ2xlLXdvcmQuaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzEwODM3
MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXN1YndvcmQtc2VsZWN0aW9uLmh0bWwgWyBTa2lw
IF0KK3dlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy13aXRoLXB1
bmN0dWF0aW9uLXNlbGVjdGlvbi5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTA4MzcwIGVk
aXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctd2l0aC11bmRlcnNjb3JlLXNlbGVjdGlvbi5odG1sIFsg
U2tpcCBdCit3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctd2l0
aC13aGl0ZXNwYWNlLXNlbGVjdGlvbi5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2VmbC9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGRjNTc2NDNkMTc1YzBjZGEwMTYxYTI2MTg0NTky
ZDNiNTY1MTNjMWMuLjJmNzNlZjI0NzAwZTg4YjQzMDUyZWRkOWNhZjA5NDliYzhkNWVjZjggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCkBAIC0xODI1LDMgKzE4
MjUsMTYgQEAgd2Via2l0Lm9yZy9iLzEwODMxNSBmYXN0L3J1Ynkvc2VsZWN0LXJ1YnkuaHRtbCBb
IE1pc3NpbmcgXQogCiAjIGVtcHR5IHBvc2l0aW9uOmZpeGVkIGVsZW1lbnQgZ2V0cyBhIGxheWVy
LiBTaG91bGQgbm90IGhhcHBlbiBhZnRlciByMTQxMDM5CiB3ZWJraXQub3JnL2IvMTA4MzM5IGNv
bXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2ZpeGVkLXBvc2l0aW9uLW5vLWNvbnRlbnQuaHRtbCBb
IEZhaWx1cmUgXQorCisjIFNwZWxsY2hlY2tlciBiZWhhdmlvciB0ZXN0cy4KK3dlYmtpdC5vcmcv
Yi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1kb3VibGUtY2xpY2tlZC13b3JkLmh0
bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGlu
Zy1kb3VibGUtY2xpY2tlZC13b3JkLXdpdGgtdW5kZXJzY29yZXMuaHRtbCBbIFNraXAgXQord2Vi
a2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWV4YWN0bHktc2VsZWN0
ZWQtbXVsdGlwbGUtd29yZHMuaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0
aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQtd29yZC5odG1sIFsgU2tpcCBd
Cit3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctbXVsdGl3b3Jk
LXNlbGVjdGlvbi5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3Bl
bGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1tdWx0aXBsZS13b3Jkcy5odG1sIFsgU2tpcCBd
Cit3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc2hvdWxkLXNl
bGVjdC1zaW5nbGUtd29yZC5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRp
bmcvc3BlbGxpbmcvc3BlbGxpbmctc3Vid29yZC1zZWxlY3Rpb24uaHRtbCBbIFNraXAgXQord2Vi
a2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXdpdGgtcHVuY3R1YXRp
b24tc2VsZWN0aW9uLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9z
cGVsbGluZy9zcGVsbGluZy13aXRoLXVuZGVyc2NvcmUtc2VsZWN0aW9uLmh0bWwgWyBTa2lwIF0K
K3dlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy13aXRoLXdoaXRl
c3BhY2Utc2VsZWN0aW9uLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggNzRiY2Y1YTU5YjQyODE3NGE2YjUwZjQ5Mjk0NGNhYjFmN2Qw
MWNjYi4uZTYxZTU4NGY2NTY1YjAyYzRmNzEzNmE2MmQ0NDBkZmI3Mzg0YTY2NSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE0MjAsNiArMTQyMCwxOSBA
QCB3ZWJraXQub3JnL2IvMTA4MTY5IGZhc3QvZG9tL3NoYWRvdy90b3VjaC1ldmVudC5odG1sIFsg
RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTA4MzYzIGZ1bGxzY3JlZW4vZnVsbC1zY3JlZW4taWZy
YW1lLWxlZ2FjeS5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTA4MzYzIGZ1bGxzY3Jl
ZW4vdmlkZW8tc3BlY2lmaWVkLXNpemUuaHRtbCBbIEZhaWx1cmUgXQogCisjIFNwZWxsY2hlY2tl
ciBiZWhhdmlvciB0ZXN0cy4KK3dlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9z
cGVsbGluZy1kb3VibGUtY2xpY2tlZC13b3JkLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8x
MDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1kb3VibGUtY2xpY2tlZC13b3JkLXdpdGgt
dW5kZXJzY29yZXMuaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3Nw
ZWxsaW5nL3NwZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQtbXVsdGlwbGUtd29yZHMuaHRtbCBbIFNr
aXAgXQord2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWV4YWN0
bHktc2VsZWN0ZWQtd29yZC5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRp
bmcvc3BlbGxpbmcvc3BlbGxpbmctbXVsdGl3b3JkLXNlbGVjdGlvbi5odG1sIFsgU2tpcCBdCit3
ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVj
dC1tdWx0aXBsZS13b3Jkcy5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRp
bmcvc3BlbGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1zaW5nbGUtd29yZC5odG1sIFsgU2tp
cCBdCit3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc3Vid29y
ZC1zZWxlY3Rpb24uaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3Nw
ZWxsaW5nL3NwZWxsaW5nLXdpdGgtcHVuY3R1YXRpb24tc2VsZWN0aW9uLmh0bWwgWyBTa2lwIF0K
K3dlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy13aXRoLXVuZGVy
c2NvcmUtc2VsZWN0aW9uLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGlu
Zy9zcGVsbGluZy9zcGVsbGluZy13aXRoLXdoaXRlc3BhY2Utc2VsZWN0aW9uLmh0bWwgWyBTa2lw
IF0KKwogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICMgRW5kIG9mIFRlc3RzIGZh
aWxpbmcKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDlkZDdmMGQ5NmI0MGIwM2RmNzYzZGQzNmM5
YzYzOTk3M2ZkOTQ0YjYuLmFjYTA2YWY5OGJlYWY1YTE5NDdhYjFlYWZkNDY1YmVhM2ZkMjBlOTIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMjk3LDMg
KzEyOTcsMTYgQEAgd2Via2l0Lm9yZy9iLzEwNjQxNSBmYXN0L3dvcmtlcnMvd29ya2VyLWRvY3Vt
ZW50LWxlYWsuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTA2NDE1IGZhc3Qv
d29ya2Vycy93b3JrZXItbGlmZWN5Y2xlLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCiB3ZWJraXQu
b3JnL2IvMTA4MjkxIFsgTGlvbiBdIGFjY2Vzc2liaWxpdHkvbGlzdHMuaHRtbCBbIEZhaWx1cmUg
XQorCisjIFNwZWxsY2hlY2tlciBiZWhhdmlvciB0ZXN0cy4KK3dlYmtpdC5vcmcvYi8xMDgzNzAg
ZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1kb3VibGUtY2xpY2tlZC13b3JkLmh0bWwgWyBTa2lw
IF0KK3dlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1kb3VibGUt
Y2xpY2tlZC13b3JkLXdpdGgtdW5kZXJzY29yZXMuaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9i
LzEwODM3MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQtbXVsdGlw
bGUtd29yZHMuaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxs
aW5nL3NwZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQtd29yZC5odG1sIFsgU2tpcCBdCit3ZWJraXQu
b3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctbXVsdGl3b3JkLXNlbGVjdGlv
bi5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvc3Bl
bGxpbmctc2hvdWxkLXNlbGVjdC1tdWx0aXBsZS13b3Jkcy5odG1sIFsgU2tpcCBdCit3ZWJraXQu
b3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1zaW5n
bGUtd29yZC5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxp
bmcvc3BlbGxpbmctc3Vid29yZC1zZWxlY3Rpb24uaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9i
LzEwODM3MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXdpdGgtcHVuY3R1YXRpb24tc2VsZWN0
aW9uLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9z
cGVsbGluZy13aXRoLXVuZGVyc2NvcmUtc2VsZWN0aW9uLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5v
cmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy13aXRoLXdoaXRlc3BhY2Utc2Vs
ZWN0aW9uLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IDQyYWFkNzJiODRjMjJmYTU1OTk1NWI2ODJlMmRhNzkzMTU5N2RkYjMuLmExNGE0
NzczYjlhOWNmZDZmMTVhYTIzYzExNDdhM2Y0NWYzNDA1MTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvVGVzdEV4cGVjdGF0aW9ucwpAQCAtODA5LDYgKzgwOSwyMCBAQCBlZGl0aW5nL3NwZWxs
aW5nL3NwZWxsaW5nLXVuaWZpZWQtZW11bGF0aW9uLmh0bWwKICMgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg5MTk5CiBlZGl0aW5nL3NwZWxsaW5nL2dyYW1tYXItZWRp
dC13b3JkLmh0bWwKIAorIyBTcGVsbGNoZWNrZXIgYmVoYXZpb3IgdGVzdHMuCisjIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgzNzAKK2VkaXRpbmcvc3BlbGxpbmcv
c3BlbGxpbmctZG91YmxlLWNsaWNrZWQtd29yZC5odG1sCitlZGl0aW5nL3NwZWxsaW5nL3NwZWxs
aW5nLWRvdWJsZS1jbGlja2VkLXdvcmQtd2l0aC11bmRlcnNjb3Jlcy5odG1sCitlZGl0aW5nL3Nw
ZWxsaW5nL3NwZWxsaW5nLWV4YWN0bHktc2VsZWN0ZWQtbXVsdGlwbGUtd29yZHMuaHRtbAorZWRp
dGluZy9zcGVsbGluZy9zcGVsbGluZy1leGFjdGx5LXNlbGVjdGVkLXdvcmQuaHRtbAorZWRpdGlu
Zy9zcGVsbGluZy9zcGVsbGluZy1tdWx0aXdvcmQtc2VsZWN0aW9uLmh0bWwKK2VkaXRpbmcvc3Bl
bGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1tdWx0aXBsZS13b3Jkcy5odG1sCitlZGl0aW5n
L3NwZWxsaW5nL3NwZWxsaW5nLXNob3VsZC1zZWxlY3Qtc2luZ2xlLXdvcmQuaHRtbAorZWRpdGlu
Zy9zcGVsbGluZy9zcGVsbGluZy1zdWJ3b3JkLXNlbGVjdGlvbi5odG1sCitlZGl0aW5nL3NwZWxs
aW5nL3NwZWxsaW5nLXdpdGgtcHVuY3R1YXRpb24tc2VsZWN0aW9uLmh0bWwKK2VkaXRpbmcvc3Bl
bGxpbmcvc3BlbGxpbmctd2l0aC11bmRlcnNjb3JlLXNlbGVjdGlvbi5odG1sCitlZGl0aW5nL3Nw
ZWxsaW5nL3NwZWxsaW5nLXdpdGgtd2hpdGVzcGFjZS1zZWxlY3Rpb24uaHRtbAorCiAjID09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PSAjCiAjICAgICAgIEZhaWxpbmcgcGx1Z2lucyB0ZXN0cy4gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCiAjID09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PSAjCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDAx
ZmExNjA0MzUxMWQ1Mjg1ZTE2M2I5ZjllMDdhZDVlMzAxMDQ5MTguLjk0ZTA5ZTRmOTQzMzQ0ODNm
YjA5YmMyZWNkMmJiNGVhZTVjNGE5MTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0
RXhwZWN0YXRpb25zCkBAIC0yNTg4LDMgKzI1ODgsMTYgQEAgZmFzdC9qcy9yZWVudHJhbnQtY2Fj
aGluZy5odG1sCiBmYXN0L3JlcGFpbnQvY2FyZXQtd2l0aC10cmFuc2Zvcm1hdGlvbi5odG1sCiBo
dHRwL3Rlc3RzL2luY3JlbWVudGFsL3BhdXNlLWluLXNjcmlwdC1lbGVtZW50LnBsCiBmYXN0L3Rl
eHQvaW50ZXJuYXRpb25hbC9oYXJmYnV6ei1idWZmZXItb3ZlcnJ1bi5odG1sCisKKyMgU3BlbGxj
aGVja2VyIGJlaGF2aW9yIHRlc3RzLgord2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxs
aW5nL3NwZWxsaW5nLWRvdWJsZS1jbGlja2VkLXdvcmQuaHRtbCBbIFNraXAgXQord2Via2l0Lm9y
Zy9iLzEwODM3MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWRvdWJsZS1jbGlja2VkLXdvcmQt
d2l0aC11bmRlcnNjb3Jlcy5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRp
bmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3RseS1zZWxlY3RlZC1tdWx0aXBsZS13b3Jkcy5odG1s
IFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmct
ZXhhY3RseS1zZWxlY3RlZC13b3JkLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMDgzNzAg
ZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1tdWx0aXdvcmQtc2VsZWN0aW9uLmh0bWwgWyBTa2lw
IF0KK3dlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1zaG91bGQt
c2VsZWN0LW11bHRpcGxlLXdvcmRzLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMDgzNzAg
ZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1zaG91bGQtc2VsZWN0LXNpbmdsZS13b3JkLmh0bWwg
WyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1z
dWJ3b3JkLXNlbGVjdGlvbi5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRp
bmcvc3BlbGxpbmcvc3BlbGxpbmctd2l0aC1wdW5jdHVhdGlvbi1zZWxlY3Rpb24uaHRtbCBbIFNr
aXAgXQord2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXdpdGgt
dW5kZXJzY29yZS1zZWxlY3Rpb24uaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzEwODM3MCBl
ZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXdpdGgtd2hpdGVzcGFjZS1zZWxlY3Rpb24uaHRtbCBb
IFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggYTRjMGE5MDFlN2M5ZTY3NDRjZTRmMWJmMjhkMTVhNTZjYzEwMzMzYS4uZGRiNjE2
Zjg3OTgzODdiNjY2YWJhMTAzNGJkNzZiZjkwNjBjN2U5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCkBAIC0yOTc3LDMgKzI5NzcsMTYgQEAg
d2Via2l0Lm9yZy9iLzM5NzI1IGZhc3QvZXZlbnRzL2RyYWctYW5kLWRyb3AtYXV0b3Njcm9sbC5o
dG1sIFsgU2tpcCBdCiBmYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtYWxpZ24tbGFzdC9nZXRDb21w
dXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4dC1hbGlnbi1sYXN0LWluaGVyaXRlZC5odG1s
CiBmYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtYWxpZ24tbGFzdC9nZXRDb21wdXRlZFN0eWxlL2dl
dENvbXB1dGVkU3R5bGUtdGV4dC1hbGlnbi1sYXN0Lmh0bWwKIGZhc3QvY3NzMy10ZXh0L2NzczMt
dGV4dC1kZWNvcmF0aW9uL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS10ZXh0LWRl
Y29yYXRpb24tbGluZS5odG1sCisKKyMgU3BlbGxjaGVja2VyIGJlaGF2aW9yIHRlc3RzLgord2Vi
a2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWRvdWJsZS1jbGlja2Vk
LXdvcmQuaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxsaW5n
L3NwZWxsaW5nLWRvdWJsZS1jbGlja2VkLXdvcmQtd2l0aC11bmRlcnNjb3Jlcy5odG1sIFsgU2tp
cCBdCit3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3Rs
eS1zZWxlY3RlZC1tdWx0aXBsZS13b3Jkcy5odG1sIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTA4
MzcwIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZXhhY3RseS1zZWxlY3RlZC13b3JkLmh0bWwg
WyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1t
dWx0aXdvcmQtc2VsZWN0aW9uLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMDgzNzAgZWRp
dGluZy9zcGVsbGluZy9zcGVsbGluZy1zaG91bGQtc2VsZWN0LW11bHRpcGxlLXdvcmRzLmh0bWwg
WyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMDgzNzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1z
aG91bGQtc2VsZWN0LXNpbmdsZS13b3JkLmh0bWwgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xMDgz
NzAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1zdWJ3b3JkLXNlbGVjdGlvbi5odG1sIFsgU2tp
cCBdCit3ZWJraXQub3JnL2IvMTA4MzcwIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctd2l0aC1w
dW5jdHVhdGlvbi1zZWxlY3Rpb24uaHRtbCBbIFNraXAgXQord2Via2l0Lm9yZy9iLzEwODM3MCBl
ZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXdpdGgtdW5kZXJzY29yZS1zZWxlY3Rpb24uaHRtbCBb
IFNraXAgXQord2Via2l0Lm9yZy9iLzEwODM3MCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXdp
dGgtd2hpdGVzcGFjZS1zZWxlY3Rpb24uaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1MTRmNGYxMWE1MDlmYzdjZGVmNWM4ZDA3MDgy
NDc3OTY4ZGUwMjZkLi5jMTgxYzUzYTE1ZDA2MWRjMjRjNjcxNWZhMjNhZjU5MzliYTY0NWMxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDExLDggKzQx
MSwxOSBAQCBlZGl0aW5nL3NwZWxsaW5nL2Rlc2lnbi1tb2RlLXNwZWxsY2hlY2stb2ZmLmh0bWwK
IGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1hdHRyaWJ1dGUuaHRtbAogZWRpdGluZy9zcGVs
bGluZy9zcGVsbGluZy1hdHRyaWJ1dGUtYXQtY2hpbGQuaHRtbAogZWRpdGluZy9zcGVsbGluZy9z
cGVsbGluZy1hdHRyaWJ1dGUtY2hhbmdlLmh0bWwKLWVkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmct
bGluZWJyZWFrLmh0bWwKK2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctZG91YmxlLWNsaWNrZWQt
d29yZC5odG1sCitlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWRvdWJsZS1jbGlja2VkLXdvcmQt
d2l0aC11bmRlcnNjb3Jlcy5odG1sCitlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWV4YWN0bHkt
c2VsZWN0ZWQtbXVsdGlwbGUtd29yZHMuaHRtbAorZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1l
eGFjdGx5LXNlbGVjdGVkLXdvcmQuaHRtbAogZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1oYXNz
cGVsbGluZ21hcmtlci5odG1sCitlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLWxpbmVicmVhay5o
dG1sCitlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLW11bHRpd29yZC1zZWxlY3Rpb24uaHRtbAor
ZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1zaG91bGQtc2VsZWN0LW11bHRpcGxlLXdvcmRzLmh0
bWwKK2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctc2hvdWxkLXNlbGVjdC1zaW5nbGUtd29yZC5o
dG1sCitlZGl0aW5nL3NwZWxsaW5nL3NwZWxsaW5nLXN1YndvcmQtc2VsZWN0aW9uLmh0bWwKK2Vk
aXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctd2l0aC1wdW5jdHVhdGlvbi1zZWxlY3Rpb24uaHRtbAor
ZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy13aXRoLXVuZGVyc2NvcmUtc2VsZWN0aW9uLmh0bWwK
K2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxpbmctd2l0aC13aGl0ZXNwYWNlLXNlbGVjdGlvbi5odG1s
CiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9zcGVsbGluZy9kZWxldGUtaW50by1taXNzcGVsbGVkLXdv
cmQuaHRtbAogcGxhdGZvcm0vbWFjL2VkaXRpbmcvc3BlbGxpbmcvZWRpdGluZy1tdWx0aXBsZS13
b3Jkcy13aXRoLW1hcmtlcnMuaHRtbAogcGxhdGZvcm0vbWFjL2VkaXRpbmcvc3BlbGxpbmcvZWRp
dGluZy13b3JkLXdpdGgtbWFya2VyLTEuaHRtbAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>