<?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>135999</bug_id>
          
          <creation_ts>2014-08-15 15:46:03 -0700</creation_ts>
          <short_desc>The style is not updated correctly when the pseudo class :empty is applied on anything but the rightmost element</short_desc>
          <delta_ts>2014-08-18 13:52:39 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>kling</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1029491</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-08-15 15:46:03 -0700</bug_when>
    <thetext>The style is not updated correctly when the pseudo class :empty is applied on anything but the rightmost element</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029493</commentid>
    <comment_count>1</comment_count>
      <attachid>236684</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-08-15 15:58:55 -0700</bug_when>
    <thetext>Created attachment 236684
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029855</commentid>
    <comment_count>2</comment_count>
      <attachid>236684</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-08-18 13:52:36 -0700</bug_when>
    <thetext>Comment on attachment 236684
Patch

Clearing flags on attachment: 236684

Committed r172721: &lt;http://trac.webkit.org/changeset/172721&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029856</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-08-18 13:52:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236684</attachid>
            <date>2014-08-15 15:58:55 -0700</date>
            <delta_ts>2014-08-18 13:52:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135999-20140815155828.patch</filename>
            <type>text/plain</type>
            <size>43440</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyNjE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZhM2U3OTVkYjMyZDFl
MzFkZGEzY2FkZjAyMzliY2U4MzNlYmU3MS4uNGQzNzhhM2ZmYjQ3ZGUyMWZhMjAwZTI0ODJiMDg0
ZDM2MWU1ZmJiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDE0LTA4LTE1ICBCZW5q
YW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBUaGUgc3R5bGUg
aXMgbm90IHVwZGF0ZWQgY29ycmVjdGx5IHdoZW4gdGhlIHBzZXVkbyBjbGFzcyA6ZW1wdHkgaXMg
YXBwbGllZCBvbiBhbnl0aGluZyBidXQgdGhlIHJpZ2h0bW9zdCBlbGVtZW50CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzU5OTkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBFbGVtZW50J3MgY2hlY2tG
b3JFbXB0eVN0eWxlQ2hhbmdlKCksIHRoZSBzdHlsZSBpbnZhbGlkYXRpb24gd2FzIG9ubHkgY29u
c2lkZXJpbmcgdGhlIGludmFsaWRhdGlvbiBvZiB0aGUgZWxlbWVudAorICAgICAgICBmb3Igd2hp
Y2ggdGhlIHN1YnRyZWUgaGFzIGNoYW5nZWQuIFdoZW4gdGhlIHBzZXVkbyBjbGFzcyA6ZW1wdHkg
aXMgdXNlZCB3aXRoIGEgc2libGluZyBjb21iaW5hdG9yIChlLmcuIGZvbzplbXB0eStiYXIpLAor
ICAgICAgICB3ZSB3ZXJlIG5ldmVyIGludmFsaWRhdGluZyB0aGUgc3R5bGUgb2YgdGhlIGVsZW1l
bnQgb24gd2hpY2ggdGhlIHNlbGVjdG9yIGFwcGxpZXMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBm
aXhlcyB0aGUgaXNzdWUgYnkgaW52YWxpZGF0aW5nIHRoZSB3aG9sZSBzdWJ0cmVlIHJvb3RlZCBh
dCB0aGUgcGFyZW50IGlmIHRoZSA6ZW1wdHkgcnVsZXMgYXBwbGllcworICAgICAgICB0byBzaWJs
aW5ncy4gQSBuZXcgZmxhZyAic3R5bGVPZlNpYmxpbmdzQWZmZWN0ZWRCeUVtcHR5IiBpcyBpbnRy
b2R1Y2VkIHRvIGNvdmVyIHRoaXMgY2FzZS4KKworICAgICAgICBTZWxlY3RvckNoZWNrZXIganVz
dCBzZXRzIHRoZSBmbGFnIGFsbCB0aGUgdGltZSBpZiBhbnkgc2libGluZyBydWxlIGV4aXN0cy4K
KyAgICAgICAgVGhpcyBpcyBvdmVya2lsbCBidXQgdGhhdCBjb2RlIGlzIGp1c3QgdGhlcmUgZm9y
IG5vbi1qaXQgY2FzZXMuCisKKyAgICAgICAgU2VsZWN0b3JDb21waWxlciBkb2VzIGEgYmV0dGVy
IGpvYiBhbmQgb25seSBzZXRzIHRoZSBmbGFnIGlmIG1hdGNoaW5nIGFueXRoaW5nIGVsc2UgdGhh
biB0aGUgcmlnaHRtb3N0IGVsZW1lbnQuCisgICAgICAgIFRoZXJlIGlzIGEgY2FzZSBub3Qgb3B0
aW1pemVkLCA6ZW1wdHkgd2l0aCBkZXNjZW5kYW50IChlLmcuIGZvbzplbXB0eT5iYXIpLiBUaG9z
ZSBjYXNlcyBhcmUgdXNlbGVzcyBpbiBwcmFjdGljZSwKKyAgICAgICAgaXQgaXMgbm90IHdvcnRo
IG9wdGltaXppbmcgdGhlbS4KKworICAgICAgICBUZXN0czogZmFzdC9jc3MvcHNldWRvLWVsZW1l
bnQtdXBkYXRlcy1vbi1lbXB0eS5odG1sCisgICAgICAgICAgICAgICBmYXN0L3NlbGVjdG9ycy9u
b3QtZW1wdHktYWRqYWNlbnQtc3R5bGUtdXBkYXRlLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3Qv
c2VsZWN0b3JzL25vdC1lbXB0eS1zdHlsZS11cGRhdGUuaHRtbAorCisgICAgICAgICogY3NzL1Nl
bGVjdG9yQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNoZWNrZXI6OmNo
ZWNrT25lKToKKyAgICAgICAgKiBjc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjpmcmFnbWVudE1hdGNoZXNUaGVSaWdodG1vc3RF
bGVtZW50KToKKyAgICAgICAgc2hvdWxkVXNlUmVuZGVyU3R5bGVGcm9tQ2hlY2tpbmdDb250ZXh0
KCkgaXMgcmVuYW1lZCBmcmFnbWVudE1hdGNoZXNUaGVSaWdodG1vc3RFbGVtZW50KCkgYmVjYXVz
ZQorICAgICAgICBpdCBpcyBub3cgYWxzbyB1c2VkIGJ5IGdlbmVyYXRlRWxlbWVudElzRW1wdHko
KSBpbiBhIGNvbnRleHQgd2hlcmUgdGhlIENvbnRleHQncyBzdHlsZSBpcyBpcnJlbGV2YW50Lgor
CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjpTZWxlY3RvckNvZGVHZW5lcmF0
b3I6OmdlbmVyYXRlU2VsZWN0b3JDaGVja2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9y
Q29tcGlsZXI6OlNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVFbGVtZW50SXNBY3RpdmUp
OgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDb21waWxlcjo6c2V0U3R5bGVPZlNpYmxpbmdz
QWZmZWN0ZWRCeUVtcHR5KToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OlNl
bGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVFbGVtZW50SXNFbXB0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjpTZWxlY3RvckNvZGVHZW5lcmF0b3I6OmdlbmVyYXRl
RWxlbWVudElzRmlyc3RDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVy
OjpTZWxlY3RvckNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlRWxlbWVudElzSG92ZXJlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjpTZWxlY3RvckNvZGVHZW5lcmF0b3I6Omdl
bmVyYXRlRWxlbWVudElzTGFzdENoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29t
cGlsZXI6OlNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVFbGVtZW50SXNPbmx5Q2hpbGQp
OgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDb21waWxlcjo6U2VsZWN0b3JDb2RlR2VuZXJh
dG9yOjpnZW5lcmF0ZUVsZW1lbnRJc050aENoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVj
dG9yQ29tcGlsZXI6OlNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVFbGVtZW50SGFzUHNl
dWRvRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjpTZWxlY3Rv
ckNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlUmVxdWVzdGVkUHNldWRvRWxlbWVudEVxdWFsc1RvU2Vs
ZWN0b3JQc2V1ZG9FbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6
OnNob3VsZFVzZVJlbmRlclN0eWxlRnJvbUNoZWNraW5nQ29udGV4dCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjpzZXRFbGVtZW50U3R5bGVJc0FmZmVjdGVk
QnlFbXB0eUFuZFVwZGF0ZVJlbmRlclN0eWxlSWZOZWNlc3NhcnkpOiBEZWxldGVkLgorICAgICAg
ICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNoZWNrRm9yRW1wdHlTdHls
ZUNoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRTdHlsZU9mU2libGluZ3NB
ZmZlY3RlZEJ5RW1wdHkpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cmFyZURhdGFTdHls
ZU9mU2libGluZ3NBZmZlY3RlZEJ5RW1wdHkpOgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzdHlsZU9mU2libGluZ3NBZmZlY3RlZEJ5RW1wdHkp
OgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVs
ZW1lbnRSYXJlRGF0YTo6c3R5bGVPZlNpYmxpbmdzQWZmZWN0ZWRCeUVtcHR5KToKKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0YTo6c2V0U3R5bGVPZlNpYmxpbmdzQWZmZWN0ZWRCeUVt
cHR5KToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0YTo6RWxlbWVudFJhcmVEYXRh
KToKKwogMjAxNC0wOC0xNCAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgQ1NTIEpJVDogY29tcGlsZSB0aGUgOmVtcHR5IHBzZXVkbyBjbGFzcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAppbmRleCBkNjU4NWJkOWY4OWRkNGE3NjVl
MTU1Mjg4N2MyZDE0N2E4ZTExNDc4Li4yZjc2MjYxNzFmYWQ2MGJkMGQ0OWJhOGUyYWVlOGNkODQz
ZGQ0NjIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcApAQCAtNTIzLDEw
ICs1MjMsMTAgQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lKGNvbnN0IFNlbGVjdG9y
Q2hlY2tpbmdDb250ZXh0JiBjb250ZXh0KSBjb25zdAogICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICBpZiAobV9tb2RlID09IE1vZGU6OlJlc29sdmluZ1N0eWxlKSB7CiAgICAgICAg
ICAgICAgICAgICAgIGVsZW1lbnQtPnNldFN0eWxlQWZmZWN0ZWRCeUVtcHR5KCk7CisgICAgICAg
ICAgICAgICAgICAgIGlmIChlbGVtZW50LT5kb2N1bWVudCgpLnN0eWxlU2hlZXRDb2xsZWN0aW9u
KCkudXNlc1NpYmxpbmdSdWxlcygpKQorICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC0+
c2V0U3R5bGVPZlNpYmxpbmdzQWZmZWN0ZWRCeUVtcHR5KCk7CiAgICAgICAgICAgICAgICAgICAg
IGlmIChjb250ZXh0LmVsZW1lbnRTdHlsZSkKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRl
eHQuZWxlbWVudFN0eWxlLT5zZXRFbXB0eVN0YXRlKHJlc3VsdCk7Ci0gICAgICAgICAgICAgICAg
ICAgIGVsc2UgaWYgKGVsZW1lbnQtPnJlbmRlclN0eWxlKCkgJiYgKGVsZW1lbnQtPmRvY3VtZW50
KCkuc3R5bGVTaGVldENvbGxlY3Rpb24oKS51c2VzU2libGluZ1J1bGVzKCkgfHwgZWxlbWVudC0+
cmVuZGVyU3R5bGUoKS0+dW5pcXVlKCkpKQotICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVu
dC0+cmVuZGVyU3R5bGUoKS0+c2V0RW1wdHlTdGF0ZShyZXN1bHQpOwogICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCmluZGV4IDM3NmQyZTI2NmJlNzIw
MGY2ZmFhM2I0MDlmNmY0ZmZiYmIxNGUwMDIuLjRmMDIwOTcxOWNmM2FkMjNjYWQzNTRiY2RhZmI5
NmI5N2ZhN2VhMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNv
bXBpbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5j
cHAKQEAgLTM1Myw3ICszNTMsNyBAQCBzdGF0aWMgaW5saW5lIEZ1bmN0aW9uVHlwZSBtb3N0UmVz
dHJpY3RpdmVGdW5jdGlvblR5cGUoRnVuY3Rpb25UeXBlIGEsIEZ1bmN0aW9uVAogICAgIHJldHVy
biBzdGQ6Om1heChhLCBiKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHNob3VsZFVzZVJlbmRl
clN0eWxlRnJvbUNoZWNraW5nQ29udGV4dChTZWxlY3RvckNvbnRleHQgc2VsZWN0b3JDb250ZXh0
LCBjb25zdCBTZWxlY3RvckZyYWdtZW50JiBmcmFnbWVudCkKK3N0YXRpYyBpbmxpbmUgYm9vbCBm
cmFnbWVudE1hdGNoZXNUaGVSaWdodG1vc3RFbGVtZW50KFNlbGVjdG9yQ29udGV4dCBzZWxlY3Rv
ckNvbnRleHQsIGNvbnN0IFNlbGVjdG9yRnJhZ21lbnQmIGZyYWdtZW50KQogewogICAgIC8vIFJl
dHVybiB0cnVlIGlmIHRoZSBwb3NpdGlvbiBvZiB0aGlzIGZyYWdtZW50IGlzIFJpZ2h0bW9zdCBp
biB0aGUgcm9vdCBmcmFnbWVudHMuCiAgICAgLy8gSW4gdGhpcyBjYXNlLCB3ZSBzaG91bGQgdXNl
IHRoZSBSZW5kZXJTdHlsZSBzdG9yZWQgaW4gdGhlIENoZWNraW5nQ29udGV4dC4KQEAgLTEzNDQs
NyArMTM0NCw3IEBAIHZvaWQgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZVNlbGVjdG9y
Q2hlY2tlcigpCiAgICAgQXNzZW1ibGVyOjpKdW1wTGlzdCBmYWlsdXJlT25GdW5jdGlvbkVudHJ5
OwogICAgIC8vIFRlc3Qgc2VsZWN0b3IncyBwc2V1ZG8gZWxlbWVudCBlcXVhbHMgdG8gcmVxdWVz
dGVkIFBzZXVkb0lkLgogICAgIGlmIChtX3NlbGVjdG9yQ29udGV4dCAhPSBTZWxlY3RvckNvbnRl
eHQ6OlF1ZXJ5U2VsZWN0b3IgJiYgbV9mdW5jdGlvblR5cGUgPT0gRnVuY3Rpb25UeXBlOjpTZWxl
Y3RvckNoZWNrZXJXaXRoQ2hlY2tpbmdDb250ZXh0KSB7Ci0gICAgICAgIEFTU0VSVF9XSVRIX01F
U1NBR0Uoc2hvdWxkVXNlUmVuZGVyU3R5bGVGcm9tQ2hlY2tpbmdDb250ZXh0KG1fc2VsZWN0b3JD
b250ZXh0LCBtX3NlbGVjdG9yRnJhZ21lbnRzLmZpcnN0KCkpLCAiTWF0Y2hpbmcgcHNldWRvIGVs
ZW1lbnRzIG9ubHkgbWFrZSBzZW5zZSBmb3IgdGhlIHJpZ2h0bW9zdCBmcmFnbWVudC4iKTsKKyAg
ICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShmcmFnbWVudE1hdGNoZXNUaGVSaWdodG1vc3RFbGVt
ZW50KG1fc2VsZWN0b3JDb250ZXh0LCBtX3NlbGVjdG9yRnJhZ21lbnRzLmZpcnN0KCkpLCAiTWF0
Y2hpbmcgcHNldWRvIGVsZW1lbnRzIG9ubHkgbWFrZSBzZW5zZSBmb3IgdGhlIHJpZ2h0bW9zdCBm
cmFnbWVudC4iKTsKICAgICAgICAgZ2VuZXJhdGVSZXF1ZXN0ZWRQc2V1ZG9FbGVtZW50RXF1YWxz
VG9TZWxlY3RvclBzZXVkb0VsZW1lbnQoZmFpbHVyZU9uRnVuY3Rpb25FbnRyeSwgbV9zZWxlY3Rv
ckZyYWdtZW50cy5maXJzdCgpLCBjaGVja2luZ0NvbnRleHRSZWdpc3Rlcik7CiAgICAgfQogCkBA
IC0yNDQwLDcgKzI0NDAsNyBAQCB2b2lkIFNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVF
bGVtZW50SXNBY3RpdmUoQXNzZW1ibGVyOjpKdW1wTGlzdCYgZmFpbHVyZQogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgaWYgKHNob3VsZFVzZVJlbmRlclN0eWxlRnJvbUNoZWNraW5nQ29u
dGV4dChtX3NlbGVjdG9yQ29udGV4dCwgZnJhZ21lbnQpKSB7CisgICAgaWYgKGZyYWdtZW50TWF0
Y2hlc1RoZVJpZ2h0bW9zdEVsZW1lbnQobV9zZWxlY3RvckNvbnRleHQsIGZyYWdtZW50KSkgewog
ICAgICAgICBMb2NhbFJlZ2lzdGVyIGNoZWNraW5nQ29udGV4dChtX3JlZ2lzdGVyQWxsb2NhdG9y
KTsKICAgICAgICAgQXNzZW1ibGVyOjpKdW1wIG5vdFJlc29sdmluZ1N0eWxlID0ganVtcElmTm90
UmVzb2x2aW5nU3R5bGUoY2hlY2tpbmdDb250ZXh0KTsKICAgICAgICAgYWRkRmxhZ3NUb0VsZW1l
bnRTdHlsZUZyb21Db250ZXh0KGNoZWNraW5nQ29udGV4dCwgUmVuZGVyU3R5bGU6Ok5vbkluaGVy
aXRlZEZsYWdzOjpmbGFnSXNhZmZlY3RlZEJ5QWN0aXZlKCkpOwpAQCAtMjQ5OSwxMiArMjQ5OSw5
IEBAIHN0YXRpYyB2b2lkIHNldEVsZW1lbnRTdHlsZUZyb21Db250ZXh0SXNBZmZlY3RlZEJ5RW1w
dHlBbmRVcGRhdGVSZW5kZXJTdHlsZUlmTmVjCiAgICAgY29udGV4dC0+ZWxlbWVudFN0eWxlLT5z
ZXRFbXB0eVN0YXRlKGlzRW1wdHkpOwogfQogCi1zdGF0aWMgdm9pZCBzZXRFbGVtZW50U3R5bGVJ
c0FmZmVjdGVkQnlFbXB0eUFuZFVwZGF0ZVJlbmRlclN0eWxlSWZOZWNlc3NhcnkoRWxlbWVudCog
ZWxlbWVudCwgYm9vbCBpc0VtcHR5KQorc3RhdGljIHZvaWQgc2V0U3R5bGVPZlNpYmxpbmdzQWZm
ZWN0ZWRCeUVtcHR5KEVsZW1lbnQqIGVsZW1lbnQpCiB7Ci0gICAgZWxlbWVudC0+c2V0U3R5bGVB
ZmZlY3RlZEJ5RW1wdHkoKTsKLQotICAgIGlmIChlbGVtZW50LT5yZW5kZXJTdHlsZSgpICYmIChl
bGVtZW50LT5kb2N1bWVudCgpLnN0eWxlU2hlZXRDb2xsZWN0aW9uKCkudXNlc1NpYmxpbmdSdWxl
cygpIHx8IGVsZW1lbnQtPnJlbmRlclN0eWxlKCktPnVuaXF1ZSgpKSkKLSAgICAgICAgZWxlbWVu
dC0+cmVuZGVyU3R5bGUoKS0+c2V0RW1wdHlTdGF0ZShpc0VtcHR5KTsKKyAgICBlbGVtZW50LT5z
ZXRTdHlsZU9mU2libGluZ3NBZmZlY3RlZEJ5RW1wdHkoKTsKIH0KIAogdm9pZCBTZWxlY3RvckNv
ZGVHZW5lcmF0b3I6OmdlbmVyYXRlRWxlbWVudElzRW1wdHkoQXNzZW1ibGVyOjpKdW1wTGlzdCYg
ZmFpbHVyZUNhc2VzLCBjb25zdCBTZWxlY3RvckZyYWdtZW50JiBmcmFnbWVudCkKQEAgLTI1MjMs
NyArMjUyMCw3IEBAIHZvaWQgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZUVsZW1lbnRJ
c0VtcHR5KEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1cmVDCiAgICAgbm90RW1wdHkubGluaygm
bV9hc3NlbWJsZXIpOwogCiAgICAgQXNzZW1ibGVyOjpKdW1wIHNraXBNYXJraW5nOwotICAgIGlm
IChzaG91bGRVc2VSZW5kZXJTdHlsZUZyb21DaGVja2luZ0NvbnRleHQobV9zZWxlY3RvckNvbnRl
eHQsIGZyYWdtZW50KSkgeworICAgIGlmIChmcmFnbWVudE1hdGNoZXNUaGVSaWdodG1vc3RFbGVt
ZW50KG1fc2VsZWN0b3JDb250ZXh0LCBmcmFnbWVudCkpIHsKICAgICAgICAgewogICAgICAgICAg
ICAgTG9jYWxSZWdpc3RlciBjaGVja2luZ0NvbnRleHQobV9yZWdpc3RlckFsbG9jYXRvcik7CiAg
ICAgICAgICAgICBza2lwTWFya2luZyA9IGp1bXBJZk5vdFJlc29sdmluZ1N0eWxlKGNoZWNraW5n
Q29udGV4dCk7CkBAIC0yNTQ0LDggKzI1NDEsOCBAQCB2b2lkIFNlbGVjdG9yQ29kZUdlbmVyYXRv
cjo6Z2VuZXJhdGVFbGVtZW50SXNFbXB0eShBc3NlbWJsZXI6Okp1bXBMaXN0JiBmYWlsdXJlQwog
ICAgICAgICAgICAgc2tpcE1hcmtpbmcgPSBqdW1wSWZOb3RSZXNvbHZpbmdTdHlsZShjaGVja2lu
Z0NvbnRleHQpOwogICAgICAgICB9CiAgICAgICAgIEZ1bmN0aW9uQ2FsbCBmdW5jdGlvbkNhbGwo
bV9hc3NlbWJsZXIsIG1fcmVnaXN0ZXJBbGxvY2F0b3IsIG1fc3RhY2tBbGxvY2F0b3IsIG1fZnVu
Y3Rpb25DYWxscyk7Ci0gICAgICAgIGZ1bmN0aW9uQ2FsbC5zZXRGdW5jdGlvbkFkZHJlc3Moc2V0
RWxlbWVudFN0eWxlSXNBZmZlY3RlZEJ5RW1wdHlBbmRVcGRhdGVSZW5kZXJTdHlsZUlmTmVjZXNz
YXJ5KTsKLSAgICAgICAgZnVuY3Rpb25DYWxsLnNldFR3b0FyZ3VtZW50cyhlbGVtZW50QWRkcmVz
c1JlZ2lzdGVyLCBpc0VtcHR5UmVzdWx0cyk7CisgICAgICAgIGZ1bmN0aW9uQ2FsbC5zZXRGdW5j
dGlvbkFkZHJlc3Moc2V0U3R5bGVPZlNpYmxpbmdzQWZmZWN0ZWRCeUVtcHR5KTsKKyAgICAgICAg
ZnVuY3Rpb25DYWxsLnNldE9uZUFyZ3VtZW50KGVsZW1lbnRBZGRyZXNzUmVnaXN0ZXIpOwogICAg
ICAgICBmdW5jdGlvbkNhbGwuY2FsbCgpOwogICAgIH0KICAgICBza2lwTWFya2luZy5saW5rKCZt
X2Fzc2VtYmxlcik7CkBAIC0yNTkwLDcgKzI1ODcsNyBAQCB2b2lkIFNlbGVjdG9yQ29kZUdlbmVy
YXRvcjo6Z2VuZXJhdGVFbGVtZW50SXNGaXJzdENoaWxkKEFzc2VtYmxlcjo6SnVtcExpc3QmIGZh
aQogICAgIC8vIE90aGVyd2lzZSB3ZSBuZWVkIHRvIGFwcGx5IHNldEZpcnN0Q2hpbGRTdGF0ZSgp
IG9uIHRoZSBSZW5kZXJTdHlsZS4KICAgICBmYWlsdXJlQ2FzZXMuYXBwZW5kKG1fYXNzZW1ibGVy
LmJyYW5jaFRlc3QzMihBc3NlbWJsZXI6Ok5vblplcm8sIGlzRmlyc3RDaGlsZFJlZ2lzdGVyKSk7
CiAKLSAgICBpZiAoc2hvdWxkVXNlUmVuZGVyU3R5bGVGcm9tQ2hlY2tpbmdDb250ZXh0KG1fc2Vs
ZWN0b3JDb250ZXh0LCBmcmFnbWVudCkpCisgICAgaWYgKGZyYWdtZW50TWF0Y2hlc1RoZVJpZ2h0
bW9zdEVsZW1lbnQobV9zZWxlY3RvckNvbnRleHQsIGZyYWdtZW50KSkKICAgICAgICAgYWRkRmxh
Z3NUb0VsZW1lbnRTdHlsZUZyb21Db250ZXh0KGNoZWNraW5nQ29udGV4dCwgUmVuZGVyU3R5bGU6
Ok5vbkluaGVyaXRlZEZsYWdzOjpzZXRGaXJzdENoaWxkU3RhdGVGbGFncygpKTsKICAgICBlbHNl
IHsKICAgICAgICAgRnVuY3Rpb25DYWxsIGZ1bmN0aW9uQ2FsbChtX2Fzc2VtYmxlciwgbV9yZWdp
c3RlckFsbG9jYXRvciwgbV9zdGFja0FsbG9jYXRvciwgbV9mdW5jdGlvbkNhbGxzKTsKQEAgLTI2
MjcsNyArMjYyNCw3IEBAIHZvaWQgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZUVsZW1l
bnRJc0hvdmVyZWQoQXNzZW1ibGVyOjpKdW1wTGlzdCYgZmFpbHVyCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKLSAgICBpZiAoc2hvdWxkVXNlUmVuZGVyU3R5bGVGcm9tQ2hlY2tpbmdDb250ZXh0
KG1fc2VsZWN0b3JDb250ZXh0LCBmcmFnbWVudCkpIHsKKyAgICBpZiAoZnJhZ21lbnRNYXRjaGVz
VGhlUmlnaHRtb3N0RWxlbWVudChtX3NlbGVjdG9yQ29udGV4dCwgZnJhZ21lbnQpKSB7CiAgICAg
ICAgIExvY2FsUmVnaXN0ZXJXaXRoUHJlZmVyZW5jZSBjaGVja2luZ0NvbnRleHQobV9yZWdpc3Rl
ckFsbG9jYXRvciwgSlNDOjpHUFJJbmZvOjphcmd1bWVudEdQUjEpOwogICAgICAgICBBc3NlbWJs
ZXI6Okp1bXAgbm90UmVzb2x2aW5nU3R5bGUgPSBqdW1wSWZOb3RSZXNvbHZpbmdTdHlsZShjaGVj
a2luZ0NvbnRleHQpOwogICAgICAgICBhZGRGbGFnc1RvRWxlbWVudFN0eWxlRnJvbUNvbnRleHQo
Y2hlY2tpbmdDb250ZXh0LCBSZW5kZXJTdHlsZTo6Tm9uSW5oZXJpdGVkRmxhZ3M6OmZsYWdJc2Fm
ZmVjdGVkQnlIb3ZlcigpKTsKQEAgLTI3MTAsNyArMjcwNyw3IEBAIHZvaWQgU2VsZWN0b3JDb2Rl
R2VuZXJhdG9yOjpnZW5lcmF0ZUVsZW1lbnRJc0xhc3RDaGlsZChBc3NlbWJsZXI6Okp1bXBMaXN0
JiBmYWlsCiAgICAgLy8gT3RoZXJ3aXNlIHdlIG5lZWQgdG8gYXBwbHkgc2V0TGFzdENoaWxkU3Rh
dGUoKSBvbiB0aGUgUmVuZGVyU3R5bGUuCiAgICAgZmFpbHVyZUNhc2VzLmFwcGVuZChtX2Fzc2Vt
Ymxlci5icmFuY2hUZXN0MzIoQXNzZW1ibGVyOjpOb25aZXJvLCBpc0xhc3RDaGlsZFJlZ2lzdGVy
KSk7CiAKLSAgICBpZiAoc2hvdWxkVXNlUmVuZGVyU3R5bGVGcm9tQ2hlY2tpbmdDb250ZXh0KG1f
c2VsZWN0b3JDb250ZXh0LCBmcmFnbWVudCkpCisgICAgaWYgKGZyYWdtZW50TWF0Y2hlc1RoZVJp
Z2h0bW9zdEVsZW1lbnQobV9zZWxlY3RvckNvbnRleHQsIGZyYWdtZW50KSkKICAgICAgICAgYWRk
RmxhZ3NUb0VsZW1lbnRTdHlsZUZyb21Db250ZXh0KGNoZWNraW5nQ29udGV4dCwgUmVuZGVyU3R5
bGU6Ok5vbkluaGVyaXRlZEZsYWdzOjpzZXRMYXN0Q2hpbGRTdGF0ZUZsYWdzKCkpOwogICAgIGVs
c2UgewogICAgICAgICBGdW5jdGlvbkNhbGwgZnVuY3Rpb25DYWxsKG1fYXNzZW1ibGVyLCBtX3Jl
Z2lzdGVyQWxsb2NhdG9yLCBtX3N0YWNrQWxsb2NhdG9yLCBtX2Z1bmN0aW9uQ2FsbHMpOwpAQCAt
Mjc4NSw3ICsyNzgyLDcgQEAgdm9pZCBTZWxlY3RvckNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlRWxl
bWVudElzT25seUNoaWxkKEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWwKICAgICAvLyBPdGhlcndp
c2Ugd2UgbmVlZCB0byBhcHBseSBzZXRMYXN0Q2hpbGRTdGF0ZSgpIG9uIHRoZSBSZW5kZXJTdHls
ZS4KICAgICBmYWlsdXJlQ2FzZXMuYXBwZW5kKG1fYXNzZW1ibGVyLmJyYW5jaFRlc3QzMihBc3Nl
bWJsZXI6Ok5vblplcm8sIGlzT25seUNoaWxkUmVnaXN0ZXIpKTsKIAotICAgIGlmIChzaG91bGRV
c2VSZW5kZXJTdHlsZUZyb21DaGVja2luZ0NvbnRleHQobV9zZWxlY3RvckNvbnRleHQsIGZyYWdt
ZW50KSkKKyAgICBpZiAoZnJhZ21lbnRNYXRjaGVzVGhlUmlnaHRtb3N0RWxlbWVudChtX3NlbGVj
dG9yQ29udGV4dCwgZnJhZ21lbnQpKQogICAgICAgICBhZGRGbGFnc1RvRWxlbWVudFN0eWxlRnJv
bUNvbnRleHQoY2hlY2tpbmdDb250ZXh0LCBSZW5kZXJTdHlsZTo6Tm9uSW5oZXJpdGVkRmxhZ3M6
OnNldEZpcnN0Q2hpbGRTdGF0ZUZsYWdzKCkgfCBSZW5kZXJTdHlsZTo6Tm9uSW5oZXJpdGVkRmxh
Z3M6OnNldExhc3RDaGlsZFN0YXRlRmxhZ3MoKSk7CiAgICAgZWxzZSB7CiAgICAgICAgIEZ1bmN0
aW9uQ2FsbCBmdW5jdGlvbkNhbGwobV9hc3NlbWJsZXIsIG1fcmVnaXN0ZXJBbGxvY2F0b3IsIG1f
c3RhY2tBbGxvY2F0b3IsIG1fZnVuY3Rpb25DYWxscyk7CkBAIC0yOTU1LDcgKzI5NTIsNyBAQCB2
b2lkIFNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVFbGVtZW50SXNOdGhDaGlsZChBc3Nl
bWJsZXI6Okp1bXBMaXN0JiBmYWlsdQogICAgICAgICBmdW5jdGlvbkNhbGwuc2V0T25lQXJndW1l
bnQocGFyZW50RWxlbWVudCk7CiAgICAgICAgIGZ1bmN0aW9uQ2FsbC5jYWxsKCk7CiAKLSAgICAg
ICAgaWYgKHNob3VsZFVzZVJlbmRlclN0eWxlRnJvbUNoZWNraW5nQ29udGV4dChtX3NlbGVjdG9y
Q29udGV4dCwgZnJhZ21lbnQpKSB7CisgICAgICAgIGlmIChmcmFnbWVudE1hdGNoZXNUaGVSaWdo
dG1vc3RFbGVtZW50KG1fc2VsZWN0b3JDb250ZXh0LCBmcmFnbWVudCkpIHsKICAgICAgICAgICAg
IGFkZEZsYWdzVG9FbGVtZW50U3R5bGVGcm9tQ29udGV4dChjaGVja2luZ0NvbnRleHQsIFJlbmRl
clN0eWxlOjpOb25Jbmhlcml0ZWRGbGFnczo6ZmxhZ0lzVW5pcXVlKCkpOwogCiAgICAgICAgICAg
ICBBc3NlbWJsZXI6OlJlZ2lzdGVySUQgZWxlbWVudEFkZHJlc3MgPSBlbGVtZW50QWRkcmVzc1Jl
Z2lzdGVyOwpAQCAtMzAzNiw3ICszMDMzLDcgQEAgdm9pZCBTZWxlY3RvckNvZGVHZW5lcmF0b3I6
OmdlbmVyYXRlRWxlbWVudEhhc1BzZXVkb0VsZW1lbnQoQXNzZW1ibGVyOjpKdW1wTGlzdCYKICAg
ICBBU1NFUlQoZnJhZ21lbnQucHNldWRvRWxlbWVudFNlbGVjdG9yKTsKICAgICBBU1NFUlRfV0lU
SF9NRVNTQUdFKG1fc2VsZWN0b3JDb250ZXh0ICE9IFNlbGVjdG9yQ29udGV4dDo6UXVlcnlTZWxl
Y3RvciwgIldoZW4gdGhlIGZyYWdtZW50IGhhcyBwc2V1ZG8gZWxlbWVudCwgdGhlIHNlbGVjdG9y
IGJlY29tZXMgQ2Fubm90TWF0Y2hBbnl0aGluZyBmb3IgUXVlcnlTZWxlY3RvciBhbmQgdGhpcyB0
ZXN0IGZ1bmN0aW9uIGlzIG5vdCBjYWxsZWQuIik7CiAKLSAgICBpZiAoIXNob3VsZFVzZVJlbmRl
clN0eWxlRnJvbUNoZWNraW5nQ29udGV4dChtX3NlbGVjdG9yQ29udGV4dCwgZnJhZ21lbnQpKSB7
CisgICAgaWYgKCFmcmFnbWVudE1hdGNoZXNUaGVSaWdodG1vc3RFbGVtZW50KG1fc2VsZWN0b3JD
b250ZXh0LCBmcmFnbWVudCkpIHsKICAgICAgICAgTG9jYWxSZWdpc3RlciBjaGVja2luZ0NvbnRl
eHQobV9yZWdpc3RlckFsbG9jYXRvcik7CiAgICAgICAgIGxvYWRDaGVja2luZ0NvbnRleHQoY2hl
Y2tpbmdDb250ZXh0KTsKICAgICAgICAgZmFpbHVyZUNhc2VzLmFwcGVuZChicmFuY2hPblJlc29s
dmluZ01vZGVXaXRoQ2hlY2tpbmdDb250ZXh0KEFzc2VtYmxlcjo6RXF1YWwsIFNlbGVjdG9yQ2hl
Y2tlcjo6TW9kZTo6UmVzb2x2aW5nU3R5bGUsIGNoZWNraW5nQ29udGV4dCkpOwpAQCAtMzA1MCw3
ICszMDQ3LDcgQEAgdm9pZCBTZWxlY3RvckNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlUmVxdWVzdGVk
UHNldWRvRWxlbWVudEVxdWFsc1RvU2VsZWN0b3JQc2V1ZG8KICAgICAvLyBNYWtlIHN1cmUgdGhh
dCB0aGUgcmVxdWVzdGVkIHBzZXVkb0lkIGVxdWFscyB0byB0aGUgcHNldWRvIGVsZW1lbnQgb2Yg
dGhlIHJpZ2h0bW9zdCBmcmFnbWVudC4KICAgICAvLyBJZiB0aGUgcmlnaHRtb3N0IGZyYWdtZW50
IGRvZXNuJ3QgaGF2ZSBhIHBzZXVkbyBlbGVtZW50LCB0aGUgcmVxdWVzdGVkIHBzZXVkb0lkIG5l
ZWQgdG8gYmUgTk9QU0VVRE8gdG8gc3VjY2VlZCB0aGUgbWF0Y2hpbmcuCiAgICAgLy8gT3RoZXJ3
aXNlLCBpZiB0aGUgcmVxdWVzdGVkIHBzZXVkb0lkIGlzIG5vdCBOT1BTRVVETywgdGhlIHJlcXVl
c3RlZCBwc2V1ZG9JZCBuZWVkIHRvIGVxdWFsIHRvIHRoZSBwc2V1ZG8gZWxlbWVudCBvZiB0aGUg
cmlnaHRtb3N0IGZyYWdtZW50LgotICAgIGlmIChzaG91bGRVc2VSZW5kZXJTdHlsZUZyb21DaGVj
a2luZ0NvbnRleHQobV9zZWxlY3RvckNvbnRleHQsIGZyYWdtZW50KSkgeworICAgIGlmIChmcmFn
bWVudE1hdGNoZXNUaGVSaWdodG1vc3RFbGVtZW50KG1fc2VsZWN0b3JDb250ZXh0LCBmcmFnbWVu
dCkpIHsKICAgICAgICAgaWYgKCFmcmFnbWVudC5wc2V1ZG9FbGVtZW50U2VsZWN0b3IpCiAgICAg
ICAgICAgICBmYWlsdXJlQ2FzZXMuYXBwZW5kKG1fYXNzZW1ibGVyLmJyYW5jaDgoQXNzZW1ibGVy
OjpOb3RFcXVhbCwgQXNzZW1ibGVyOjpBZGRyZXNzKGNoZWNraW5nQ29udGV4dCwgT0JKRUNUX09G
RlNFVE9GKENoZWNraW5nQ29udGV4dCwgcHNldWRvSWQpKSwgQXNzZW1ibGVyOjpUcnVzdGVkSW1t
MzIoTk9QU0VVRE8pKSk7CiAgICAgICAgIGVsc2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4
IDhlNzViODIwZjVjOGU0MWUzMWZlZDg4ODA5ZGFjNmZmYmFjYmQ4MTEuLmJlYjNlMDJjMTlmMTIz
YmNhZWIxZGMwOTZhZDNiMDliMWM0MGM1ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTE1
NjYsNiArMTU2NiwxMSBAQCBzdGF0aWMgdm9pZCBjaGVja0ZvckVtcHR5U3R5bGVDaGFuZ2UoRWxl
bWVudCYgZWxlbWVudCkKICAgICAgICAgaWYgKCFzdHlsZSB8fCAoIXN0eWxlLT5lbXB0eVN0YXRl
KCkgfHwgZWxlbWVudC5oYXNDaGlsZE5vZGVzKCkpKQogICAgICAgICAgICAgZWxlbWVudC5zZXRO
ZWVkc1N0eWxlUmVjYWxjKCk7CiAgICAgfQorCisgICAgaWYgKGVsZW1lbnQuc3R5bGVPZlNpYmxp
bmdzQWZmZWN0ZWRCeUVtcHR5KCkpIHsKKyAgICAgICAgaWYgKEVsZW1lbnQqIHBhcmVudCA9IGVs
ZW1lbnQucGFyZW50RWxlbWVudCgpKQorICAgICAgICAgICAgcGFyZW50LT5zZXROZWVkc1N0eWxl
UmVjYWxjKCk7CisgICAgfQogfQogCiBlbnVtIFNpYmxpbmdDaGVja1R5cGUgeyBGaW5pc2hlZFBh
cnNpbmdDaGlsZHJlbiwgU2libGluZ0VsZW1lbnRSZW1vdmVkLCBPdGhlciB9OwpAQCAtMjEzMiw2
ICsyMTM3LDExIEBAIHZvaWQgRWxlbWVudDo6c2V0U3R5bGVBZmZlY3RlZEJ5RW1wdHkoKQogICAg
IGVuc3VyZUVsZW1lbnRSYXJlRGF0YSgpLnNldFN0eWxlQWZmZWN0ZWRCeUVtcHR5KHRydWUpOwog
fQogCit2b2lkIEVsZW1lbnQ6OnNldFN0eWxlT2ZTaWJsaW5nc0FmZmVjdGVkQnlFbXB0eSgpCit7
CisgICAgZW5zdXJlRWxlbWVudFJhcmVEYXRhKCkuc2V0U3R5bGVPZlNpYmxpbmdzQWZmZWN0ZWRC
eUVtcHR5KHRydWUpOworfQorCiB2b2lkIEVsZW1lbnQ6OnNldENoaWxkcmVuQWZmZWN0ZWRCeUFj
dGl2ZSgpCiB7CiAgICAgZW5zdXJlRWxlbWVudFJhcmVEYXRhKCkuc2V0Q2hpbGRyZW5BZmZlY3Rl
ZEJ5QWN0aXZlKHRydWUpOwpAQCAtMjE3OSw2ICsyMTg5LDEyIEBAIGJvb2wgRWxlbWVudDo6cmFy
ZURhdGFTdHlsZUFmZmVjdGVkQnlFbXB0eSgpIGNvbnN0CiAgICAgcmV0dXJuIGVsZW1lbnRSYXJl
RGF0YSgpLT5zdHlsZUFmZmVjdGVkQnlFbXB0eSgpOwogfQogCitib29sIEVsZW1lbnQ6OnJhcmVE
YXRhU3R5bGVPZlNpYmxpbmdzQWZmZWN0ZWRCeUVtcHR5KCkgY29uc3QKK3sKKyAgICBBU1NFUlQo
aGFzUmFyZURhdGEoKSk7CisgICAgcmV0dXJuIGVsZW1lbnRSYXJlRGF0YSgpLT5zdHlsZU9mU2li
bGluZ3NBZmZlY3RlZEJ5RW1wdHkoKTsKK30KKwogYm9vbCBFbGVtZW50OjpyYXJlRGF0YUNoaWxk
cmVuQWZmZWN0ZWRCeUFjdGl2ZSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGhhc1JhcmVEYXRhKCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmgKaW5kZXggYmM1ZDhiYjBkNzU0MzY0MmUyNTE0MDVmYzcwNGUxYTI4
NTQ2OWRlYS4uNmJhNmIzMGZhNTdmNjRhODFiOGIzNWEzYTJlNTMyYWI2ZmJmMTAwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5oCkBAIC0zNTcsNiArMzU3LDcgQEAgcHVibGljOgogCiAgICAgLy8gTWV0aG9k
cyBmb3IgaW5kaWNhdGluZyB0aGUgc3R5bGUgaXMgYWZmZWN0ZWQgYnkgZHluYW1pYyB1cGRhdGVz
IChlLmcuLCBjaGlsZHJlbiBjaGFuZ2luZywgb3VyIHBvc2l0aW9uIGNoYW5naW5nIGluIG91ciBz
aWJsaW5nIGxpc3QsIGV0Yy4pCiAgICAgYm9vbCBzdHlsZUFmZmVjdGVkQnlFbXB0eSgpIGNvbnN0
IHsgcmV0dXJuIGhhc1JhcmVEYXRhKCkgJiYgcmFyZURhdGFTdHlsZUFmZmVjdGVkQnlFbXB0eSgp
OyB9CisgICAgYm9vbCBzdHlsZU9mU2libGluZ3NBZmZlY3RlZEJ5RW1wdHkoKSBjb25zdCB7IHJl
dHVybiBoYXNSYXJlRGF0YSgpICYmIHJhcmVEYXRhU3R5bGVPZlNpYmxpbmdzQWZmZWN0ZWRCeUVt
cHR5KCk7IH0KICAgICBib29sIGNoaWxkcmVuQWZmZWN0ZWRCeUhvdmVyKCkgY29uc3QgeyByZXR1
cm4gZ2V0RmxhZyhDaGlsZHJlbkFmZmVjdGVkQnlIb3ZlclJ1bGVzRmxhZyk7IH0KICAgICBib29s
IGNoaWxkcmVuQWZmZWN0ZWRCeUFjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIGhhc1JhcmVEYXRhKCkg
JiYgcmFyZURhdGFDaGlsZHJlbkFmZmVjdGVkQnlBY3RpdmUoKTsgfQogICAgIGJvb2wgY2hpbGRy
ZW5BZmZlY3RlZEJ5RHJhZygpIGNvbnN0IHsgcmV0dXJuIGhhc1JhcmVEYXRhKCkgJiYgcmFyZURh
dGFDaGlsZHJlbkFmZmVjdGVkQnlEcmFnKCk7IH0KQEAgLTM3MSw2ICszNzIsNyBAQCBwdWJsaWM6
CiAgICAgYm9vbCBoYXNGbGFnc1NldER1cmluZ1N0eWxpbmdPZkNoaWxkcmVuKCkgY29uc3Q7CiAK
ICAgICB2b2lkIHNldFN0eWxlQWZmZWN0ZWRCeUVtcHR5KCk7CisgICAgdm9pZCBzZXRTdHlsZU9m
U2libGluZ3NBZmZlY3RlZEJ5RW1wdHkoKTsKICAgICB2b2lkIHNldENoaWxkcmVuQWZmZWN0ZWRC
eUhvdmVyKCkgeyBzZXRGbGFnKENoaWxkcmVuQWZmZWN0ZWRCeUhvdmVyUnVsZXNGbGFnKTsgfQog
ICAgIHZvaWQgc2V0Q2hpbGRyZW5BZmZlY3RlZEJ5QWN0aXZlKCk7CiAgICAgdm9pZCBzZXRDaGls
ZHJlbkFmZmVjdGVkQnlEcmFnKCk7CkBAIC02NDYsNiArNjQ4LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIHJlbW92ZVNoYWRvd1Jvb3QoKTsKIAogICAgIGJvb2wgcmFyZURhdGFTdHlsZUFmZmVjdGVk
QnlFbXB0eSgpIGNvbnN0OworICAgIGJvb2wgcmFyZURhdGFTdHlsZU9mU2libGluZ3NBZmZlY3Rl
ZEJ5RW1wdHkoKSBjb25zdDsKICAgICBib29sIHJhcmVEYXRhQ2hpbGRyZW5BZmZlY3RlZEJ5SG92
ZXIoKSBjb25zdDsKICAgICBib29sIHJhcmVEYXRhQ2hpbGRyZW5BZmZlY3RlZEJ5QWN0aXZlKCkg
Y29uc3Q7CiAgICAgYm9vbCByYXJlRGF0YUNoaWxkcmVuQWZmZWN0ZWRCeURyYWcoKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAppbmRleCBmZGY5NWEzMTRjZjRjODA4MDVk
NjExMjFkYjYxMWNkNTZmZTkyMjY3Li4wNTViN2ZkNTEyZWYzM2NiNjFmZDIxYjZkNjQ0ODNkZWJl
YzJiNTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCkBAIC02MCw2ICs2MCw5
IEBAIHB1YmxpYzoKICAgICBib29sIHN0eWxlQWZmZWN0ZWRCeUVtcHR5KCkgY29uc3QgeyByZXR1
cm4gbV9zdHlsZUFmZmVjdGVkQnlFbXB0eTsgfQogICAgIHZvaWQgc2V0U3R5bGVBZmZlY3RlZEJ5
RW1wdHkoYm9vbCB2YWx1ZSkgeyBtX3N0eWxlQWZmZWN0ZWRCeUVtcHR5ID0gdmFsdWU7IH0KIAor
ICAgIGJvb2wgc3R5bGVPZlNpYmxpbmdzQWZmZWN0ZWRCeUVtcHR5KCkgY29uc3QgeyByZXR1cm4g
bV9zdHlsZU9mU2libGluZ3NBZmZlY3RlZEJ5RW1wdHk7IH0KKyAgICB2b2lkIHNldFN0eWxlT2ZT
aWJsaW5nc0FmZmVjdGVkQnlFbXB0eShib29sIHZhbHVlKSB7IG1fc3R5bGVPZlNpYmxpbmdzQWZm
ZWN0ZWRCeUVtcHR5ID0gdmFsdWU7IH0KKwogICAgIFJlZ2lvbk92ZXJzZXRTdGF0ZSByZWdpb25P
dmVyc2V0U3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3JlZ2lvbk92ZXJzZXRTdGF0ZTsgfQogICAg
IHZvaWQgc2V0UmVnaW9uT3ZlcnNldFN0YXRlKFJlZ2lvbk92ZXJzZXRTdGF0ZSBzdGF0ZSkgeyBt
X3JlZ2lvbk92ZXJzZXRTdGF0ZSA9IHN0YXRlOyB9CiAKQEAgLTEyMSw2ICsxMjQsNyBAQCBwcml2
YXRlOgogICAgIHVuc2lnbmVkIG1fdGFiSW5kZXhXYXNTZXRFeHBsaWNpdGx5IDogMTsKICAgICB1
bnNpZ25lZCBtX25lZWRzRm9jdXNBcHBlYXJhbmNlVXBkYXRlU29vbkFmdGVyQXR0YWNoIDogMTsK
ICAgICB1bnNpZ25lZCBtX3N0eWxlQWZmZWN0ZWRCeUVtcHR5IDogMTsKKyAgICB1bnNpZ25lZCBt
X3N0eWxlT2ZTaWJsaW5nc0FmZmVjdGVkQnlFbXB0eSA6IDE7CiAjaWYgRU5BQkxFKEZVTExTQ1JF
RU5fQVBJKQogICAgIHVuc2lnbmVkIG1fY29udGFpbnNGdWxsU2NyZWVuRWxlbWVudCA6IDE7CiAj
ZW5kaWYKQEAgLTE2NSw2ICsxNjksNyBAQCBpbmxpbmUgRWxlbWVudFJhcmVEYXRhOjpFbGVtZW50
UmFyZURhdGEoUmVuZGVyRWxlbWVudCogcmVuZGVyZXIpCiAgICAgLCBtX3RhYkluZGV4V2FzU2V0
RXhwbGljaXRseShmYWxzZSkKICAgICAsIG1fbmVlZHNGb2N1c0FwcGVhcmFuY2VVcGRhdGVTb29u
QWZ0ZXJBdHRhY2goZmFsc2UpCiAgICAgLCBtX3N0eWxlQWZmZWN0ZWRCeUVtcHR5KGZhbHNlKQor
ICAgICwgbV9zdHlsZU9mU2libGluZ3NBZmZlY3RlZEJ5RW1wdHkoZmFsc2UpCiAjaWYgRU5BQkxF
KEZVTExTQ1JFRU5fQVBJKQogICAgICwgbV9jb250YWluc0Z1bGxTY3JlZW5FbGVtZW50KGZhbHNl
KQogI2VuZGlmCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggYTllNDNhOTMyNTcyMGU2MDI1OGVjMTY5ODJmYWEzNjQ1MDIwMjBj
OC4uZDg2NWM1OGYxZGVhNDRiYzdhMTg5YzUzNzJkOTkyNzUzZDdjYTdkMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIxIEBACisyMDE0LTA4LTE1ICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0
Lm9yZz4KKworICAgICAgICBUaGUgc3R5bGUgaXMgbm90IHVwZGF0ZWQgY29ycmVjdGx5IHdoZW4g
dGhlIHBzZXVkbyBjbGFzcyA6ZW1wdHkgaXMgYXBwbGllZCBvbiBhbnl0aGluZyBidXQgdGhlIHJp
Z2h0bW9zdCBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMzU5OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGZhc3QvY3NzL3BzZXVkby1lbGVtZW50LXVwZGF0ZXMtb24tZW1wdHktZXhwZWN0
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvcHNldWRvLWVsZW1lbnQtdXBkYXRl
cy1vbi1lbXB0eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3NlbGVjdG9ycy9lbXB0eS1h
ZGphY2VudC1zdHlsZS11cGRhdGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qvc2VsZWN0
b3JzL2VtcHR5LWFkamFjZW50LXN0eWxlLXVwZGF0ZS5odG1sOgorICAgICAgICAqIGZhc3Qvc2Vs
ZWN0b3JzL2VtcHR5LXN0eWxlLXVwZGF0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9z
ZWxlY3RvcnMvZW1wdHktc3R5bGUtdXBkYXRlLmh0bWw6CisgICAgICAgICogZmFzdC9zZWxlY3Rv
cnMvbm90LWVtcHR5LWFkamFjZW50LXN0eWxlLXVwZGF0ZS1leHBlY3RlZC50eHQ6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2VtcHR5LWFkamFjZW50LXN0eWxlLXVwZGF0
ZS1leHBlY3RlZC50eHQuCisgICAgICAgICogZmFzdC9zZWxlY3RvcnMvbm90LWVtcHR5LWFkamFj
ZW50LXN0eWxlLXVwZGF0ZS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L3NlbGVj
dG9ycy9lbXB0eS1hZGphY2VudC1zdHlsZS11cGRhdGUuaHRtbC4KKyAgICAgICAgKiBmYXN0L3Nl
bGVjdG9ycy9ub3QtZW1wdHktc3R5bGUtdXBkYXRlLWV4cGVjdGVkLnR4dDogQ29waWVkIGZyb20g
TGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvZW1wdHktc3R5bGUtdXBkYXRlLWV4cGVjdGVkLnR4
dC4KKyAgICAgICAgKiBmYXN0L3NlbGVjdG9ycy9ub3QtZW1wdHktc3R5bGUtdXBkYXRlLmh0bWw6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2VtcHR5LXN0eWxlLXVwZGF0
ZS5odG1sLgorCiAyMDE0LTA4LTE0ICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBDU1MgSklUOiBjb21waWxlIHRoZSA6ZW1wdHkgcHNldWRvIGNsYXNz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tZWxlbWVudC11cGRhdGVz
LW9uLWVtcHR5LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8tZWxl
bWVudC11cGRhdGVzLW9uLWVtcHR5LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWYwMjIxNDFj
ODA0ZDhjNDhhNzNiMWE2NzE3ZTk2NmRlODJkMTc0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzL3BzZXVkby1lbGVtZW50LXVwZGF0ZXMtb24tZW1wdHktZXhwZWN0ZWQu
aHRtbApAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
ICAgPHN0eWxlPgorICAgICAgICAudGFyZ2V0OjpiZWZvcmUgeworICAgICAgICAgICAgYmFja2dy
b3VuZC1jb2xvcjogZ3JlZW47CisgICAgICAgICAgICBjb250ZW50OiAiUGFzcyEiOworICAgICAg
ICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxwPlRoaXMgdGVzdHMgcHNl
dWRvIGVsZW1lbnRzIGFyZSBzdHlsZWQgcHJvcGVybHkuIElmIHRoZSB0ZXN0IHN1Y2NlZWQsIHlv
dSBzaG91bGQgc2VlIDYgbGluZXMgd2l0aCAiUGFzcyEiIG92ZXIgYSBncmVlbiBiYWNrZ3JvdW5k
LjwvcD4KKyAgICA8dGVzdDE+CisgICAgICAgIDxkaXYgY2xhc3M9InRhcmdldCI+PC9kaXY+Cisg
ICAgPC90ZXN0MT4KKworICAgIDx0ZXN0Mj4KKyAgICAgICAgPGRpdj48L2Rpdj4KKyAgICAgICAg
PGRpdiBjbGFzcz0idGFyZ2V0Ij48L2Rpdj4KKyAgICA8L3Rlc3QyPgorCisgICAgPHRlc3QzPgor
ICAgICAgICA8ZGl2PjwvZGl2PgorICAgICAgICA8ZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFz
cz0idGFyZ2V0Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC90ZXN0Mz4KKworICAgIDx0
ZXN0ND4KKyAgICAgICAgPGRpdiBjbGFzcz0idGFyZ2V0Ij48L2Rpdj4KKyAgICA8L3Rlc3Q0Pgor
CisgICAgPHRlc3Q1PgorICAgICAgICA8bm90ZW1wdHk+PC9ub3RlbXB0eT4KKyAgICAgICAgPGRp
diBjbGFzcz0idGFyZ2V0Ij48L2Rpdj4KKyAgICA8L3Rlc3Q1PgorCisgICAgPHRlc3Q2PgorICAg
ICAgICA8bm90ZW1wdHk+PC9ub3RlbXB0eT4KKyAgICAgICAgPGRpdj4KKyAgICAgICAgICAgIDxk
aXYgY2xhc3M9InRhcmdldCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvdGVzdDY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1ZG8t
ZWxlbWVudC11cGRhdGVzLW9uLWVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wc2V1
ZG8tZWxlbWVudC11cGRhdGVzLW9uLWVtcHR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjdmODhmZmY4NmY2
MmIyZTUyN2NlMmY4MzE3ZWRlMzQwMWQ5OTQzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzL3BzZXVkby1lbGVtZW50LXVwZGF0ZXMtb24tZW1wdHkuaHRtbApAQCAtMCww
ICsxLDgyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgor
ICAgICAgICB0ZXN0MSA+IDplbXB0eTo6YmVmb3JlIHsKKyAgICAgICAgICAgIGJhY2tncm91bmQt
Y29sb3I6IGdyZWVuOworICAgICAgICAgICAgY29udGVudDogIlBhc3MhIjsKKyAgICAgICAgfQor
CisgICAgICAgIHRlc3QyID4gOmVtcHR5ICsgOjpiZWZvcmUgeworICAgICAgICAgICAgYmFja2dy
b3VuZC1jb2xvcjogZ3JlZW47CisgICAgICAgICAgICBjb250ZW50OiAiUGFzcyEiOworICAgICAg
ICB9CisKKyAgICAgICAgdGVzdDMgPiA6ZW1wdHkgKyAqID4gOjpiZWZvcmUgeworICAgICAgICAg
ICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgICAgICAgICBjb250ZW50OiAiUGFzcyEi
OworICAgICAgICB9CisKKyAgICAgICAgdGVzdDQgPiA6bm90KDplbXB0eSk6OmJlZm9yZSB7Cisg
ICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICAgICAgICAgIGNvbnRlbnQ6
ICJQYXNzISI7CisgICAgICAgIH0KKworICAgICAgICB0ZXN0NSA+IDpub3QoOmVtcHR5KSArIDo6
YmVmb3JlIHsKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICAgICAgICAg
ICAgY29udGVudDogIlBhc3MhIjsKKyAgICAgICAgfQorCisgICAgICAgIHRlc3Q2ID4gOm5vdCg6
ZW1wdHkpICsgKiA+IDo6YmVmb3JlIHsKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdy
ZWVuOworICAgICAgICAgICAgY29udGVudDogIlBhc3MhIjsKKyAgICAgICAgfQorICAgIDwvc3R5
bGU+CisgICAgPHNjcmlwdD4KKyAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQn
LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHNjcmF0Y2ggPSBkb2N1bWVudC5kb2N1bWVudEVs
ZW1lbnQub2Zmc2V0VG9wOworICAgICAgICAgICAgdmFyIGNoaWxkcmVuID0gZG9jdW1lbnQucXVl
cnlTZWxlY3RvckFsbCgnY2hpbGQnKTsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
Y2hpbGRyZW4ubGVuZ3RoOyArK2kpCisgICAgICAgICAgICAgICAgY2hpbGRyZW5baV0ucGFyZW50
Tm9kZS5yZW1vdmVDaGlsZChjaGlsZHJlbltpXSk7CisKKyAgICAgICAgICAgIHZhciBjaGlsZHJl
biA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ25vdGVtcHR5Jyk7CisgICAgICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgICAg
IGNoaWxkcmVuW2ldLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIgIikpOwor
ICAgICAgICB9KTsKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxwPlRoaXMg
dGVzdHMgcHNldWRvIGVsZW1lbnRzIGFyZSBzdHlsZWQgcHJvcGVybHkuIElmIHRoZSB0ZXN0IHN1
Y2NlZWQsIHlvdSBzaG91bGQgc2VlIDYgbGluZXMgd2l0aCAiUGFzcyEiIG92ZXIgYSBncmVlbiBi
YWNrZ3JvdW5kLjwvcD4KKyAgICA8dGVzdDE+CisgICAgICAgIDxkaXY+PGNoaWxkPjwvY2hpbGQ+
PC9kaXY+CisgICAgPC90ZXN0MT4KKworICAgIDx0ZXN0Mj4KKyAgICAgICAgPGRpdj48Y2hpbGQ+
PC9jaGlsZD48L2Rpdj4KKyAgICAgICAgPGRpdj48L2Rpdj4KKyAgICA8L3Rlc3QyPgorCisgICAg
PHRlc3QzPgorICAgICAgICA8ZGl2PjxjaGlsZD48L2NoaWxkPjwvZGl2PgorICAgICAgICA8ZGl2
PgorICAgICAgICAgICAgPGRpdj48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC90ZXN0Mz4K
KworICAgIDx0ZXN0ND4KKyAgICAgICAgPG5vdGVtcHR5Pjwvbm90ZW1wdHk+CisgICAgPC90ZXN0
ND4KKworICAgIDx0ZXN0NT4KKyAgICAgICAgPG5vdGVtcHR5Pjwvbm90ZW1wdHk+CisgICAgICAg
IDxkaXY+PC9kaXY+CisgICAgPC90ZXN0NT4KKworICAgIDx0ZXN0Nj4KKyAgICAgICAgPG5vdGVt
cHR5Pjwvbm90ZW1wdHk+CisgICAgICAgIDxkaXY+CisgICAgICAgICAgICA8ZGl2PjwvZGl2Pgor
ICAgICAgICA8L2Rpdj4KKyAgICA8L3Rlc3Q2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvZW1wdHktYWRqYWNlbnQtc3R5bGUtdXBkYXRl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2VtcHR5LWFkamFjZW50
LXN0eWxlLXVwZGF0ZS1leHBlY3RlZC50eHQKaW5kZXggM2NmZmJhMDkwNzJjYjg0NzNjYmIxMmJk
MmY2N2M5MWUzN2NhMDkwZC4uMDM4NTYwMTcyMWExZmM4M2E0Y2EwM2Q5NWNhYzlmNmMyZDI2YzM5
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvZW1wdHktYWRqYWNlbnQt
c3R5bGUtdXBkYXRlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9y
cy9lbXB0eS1hZGphY2VudC1zdHlsZS11cGRhdGUtZXhwZWN0ZWQudHh0CkBAIC0zLDI0ICszLDI0
IEBAIFRlc3QgdGhlIHN0eWxlIHdpdGggYSA6ZW1wdHkgcHNldWRvIGNsYXNzIHVzZWQgZm9yIGEg
c2libGluZyBvZiB0aGUgc3R5bGVkIGVsZW1lCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAK
IAotSW5pdGlhbCBzdGF0ZSBpcyBlbXRweS4KK0luaXRpYWwgc3RhdGUgaXMgZW1wdHkuCiBQQVNT
IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldC13aXRoLXJl
bmRlcmVyIikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDEsIDIsIDMpIgogUEFTUyBnZXRDb21w
dXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQtd2l0aG91dC1yZW5kZXJl
ciIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigxLCAyLCAzKSIKIEFkZGluZyBhIGNvbW1lbnQg
ZG9lcyBub3QgY2hhbmdlIHRoZSA6ZW1wdHkgc3RhdGUuCiBQQVNTIGdldENvbXB1dGVkU3R5bGUo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldC13aXRoLXJlbmRlcmVyIikpLmJhY2tncm91
bmRDb2xvciBpcyAicmdiKDEsIDIsIDMpIgogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQtd2l0aG91dC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29s
b3IgaXMgInJnYigxLCAyLCAzKSIKIEFkZCBhbiBlbGVtZW50IGFzIGNoaWxkIG1ha2UgdXBkYXRl
cyA6ZW1wdHkuCi1GQUlMIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRhcmdldC13aXRoLXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvciBzaG91bGQgYmUgcmdiKDI1
NSwgMjU1LCAyNTUpLiBXYXMgcmdiKDEsIDIsIDMpLgotRkFJTCBnZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQtd2l0aG91dC1yZW5kZXJlciIpKS5iYWNrZ3Jv
dW5kQ29sb3Igc2hvdWxkIGJlIHJnYigyNTUsIDI1NSwgMjU1KS4gV2FzIHJnYigxLCAyLCAzKS4K
K1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0LXdp
dGgtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQ
QVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldC13aXRo
b3V0LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDI1NSwgMjU1LCAyNTUpIgog
QWRkaW5nIGFuIGVtcHR5IHRleHQgbm9kZSwgdGhpcyBpcyBzdGlsbCBub3QgZW1wdHkgYmVjYXVz
ZSBvZiB0aGUgZWxlbWVudC4KLUZBSUwgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGFyZ2V0LXdpdGgtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yIHNob3VsZCBi
ZSByZ2IoMjU1LCAyNTUsIDI1NSkuIFdhcyByZ2IoMSwgMiwgMykuCi1GQUlMIGdldENvbXB1dGVk
U3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldC13aXRob3V0LXJlbmRlcmVyIikp
LmJhY2tncm91bmRDb2xvciBzaG91bGQgYmUgcmdiKDI1NSwgMjU1LCAyNTUpLiBXYXMgcmdiKDEs
IDIsIDMpLgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
YXJnZXQtd2l0aC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigyNTUsIDI1NSwg
MjU1KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFy
Z2V0LXdpdGhvdXQtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUs
IDI1NSkiCiBSZW1vdmluZyB0aGUgZWxlbWVudHMgcHJldmlvdXNseSBhZGRlZCBzaG91bGQgcmVz
dG9yZSB0aGUgOmVtcHR5IHN0YXRlLgogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0YXJnZXQtd2l0aC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMg
InJnYigxLCAyLCAzKSIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGFyZ2V0LXdpdGhvdXQtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2Io
MSwgMiwgMykiCiBBZGRpbmcgYSBub24gZW1wdHkgdGV4dCBub2RlIG1ha2VzIHRoZSBzdGF0ZSBu
b24gZW1wdHkuCi1GQUlMIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRhcmdldC13aXRoLXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvciBzaG91bGQgYmUgcmdiKDI1
NSwgMjU1LCAyNTUpLiBXYXMgcmdiKDEsIDIsIDMpLgotRkFJTCBnZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQtd2l0aG91dC1yZW5kZXJlciIpKS5iYWNrZ3Jv
dW5kQ29sb3Igc2hvdWxkIGJlIHJnYigyNTUsIDI1NSwgMjU1KS4gV2FzIHJnYigxLCAyLCAzKS4K
K1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0LXdp
dGgtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitQ
QVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldC13aXRo
b3V0LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDI1NSwgMjU1LCAyNTUpIgog
UmVtb3ZpbmcgdGhlIGxhc3QgdGV4dCBjaGlsZCwgYmFjayB0byBiZWluZyBlbXB0eS4KIFBBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0LXdpdGgtcmVu
ZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMSwgMiwgMykiCiBQQVNTIGdldENvbXB1
dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldC13aXRob3V0LXJlbmRlcmVy
IikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDEsIDIsIDMpIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9zZWxlY3RvcnMvZW1wdHktYWRqYWNlbnQtc3R5bGUtdXBkYXRlLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9lbXB0eS1hZGphY2VudC1zdHlsZS11cGRhdGUuaHRt
bAppbmRleCAyZTY2Y2ZjOTc0MGYxMDY1MzI4MjFhNzlmN2NlMjg3YmIyYjE3ZDk5Li5hZWIxOWMw
NTk2YTZhMTJlZjdlOGZhMTliZTgzY2ZhZWQ3MmNhMjY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L3NlbGVjdG9ycy9lbXB0eS1hZGphY2VudC1zdHlsZS11cGRhdGUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9lbXB0eS1hZGphY2VudC1zdHlsZS11cGRhdGUuaHRt
bApAQCAtNiw3ICs2LDcgQEAKIHRhcmdldCB7CiAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7
CiB9Ci10ZXN0Y2FzZTplbXB0eSt0YXJnZXQgewordGVzdGNhc2U6ZW1wdHkgKyB0YXJnZXQgewog
ICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxLCAyLCAzKTsKIH0KIDwvc3R5bGU+CkBAIC0yNyw3
ICsyNyw3IEBAIGRlc2NyaXB0aW9uKCdUZXN0IHRoZSBzdHlsZSB3aXRoIGEgOmVtcHR5IHBzZXVk
byBjbGFzcyB1c2VkIGZvciBhIHNpYmxpbmcgb2YgdGhlCiB2YXIgdGVzdENhc2VXaXRoUmVuZGVy
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndpdGgtcmVuZGVyZXIiKTsKIHZhciB0ZXN0Q2Fz
ZVdpdGhvdXRSZW5kZXJlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3aXRob3V0LXJlbmRl
cmVyIik7CiAKLWRlYnVnKCJJbml0aWFsIHN0YXRlIGlzIGVtdHB5LiIpOworZGVidWcoIkluaXRp
YWwgc3RhdGUgaXMgZW1wdHkuIik7CiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldENvbXB1dGVk
U3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldC13aXRoLXJlbmRlcmVyIikpLmJh
Y2tncm91bmRDb2xvcicsICdyZ2IoMSwgMiwgMyknKTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygn
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0LXdpdGhvdXQt
cmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yJywgJ3JnYigxLCAyLCAzKScpOwogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9lbXB0eS1zdHlsZS11cGRhdGUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvZW1wdHktc3R5bGUtdXBkYXRlLWV4
cGVjdGVkLnR4dAppbmRleCA1OGJiZDRiYjNiOWI2N2ZmMDdkZTZmMzJjMzJmNTZmMzE1YzVhMTI0
Li4zZTZiYjAyYTZiNjVhNDM5ZDZjYjlhM2ZkZmQ3ZTdjMzc5MDhkMjdjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9lbXB0eS1zdHlsZS11cGRhdGUtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2VtcHR5LXN0eWxlLXVwZGF0ZS1leHBl
Y3RlZC50eHQKQEAgLTMsNyArMyw3IEBAIFRlc3QgdGhlIHN0eWxlIHVwZGF0ZSB3aXRoIHRoZSA6
ZW1wdHkgcHNldWRvIGNsYXNzLgogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLUluaXRp
YWwgc3RhdGUgaXMgZW10cHkuCitJbml0aWFsIHN0YXRlIGlzIGVtcHR5LgogUEFTUyBnZXRDb21w
dXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3aXRoLXJlbmRlcmVyIikpLmJhY2tn
cm91bmRDb2xvciBpcyAicmdiKDEsIDIsIDMpIgogUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ3aXRob3V0LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvciBp
cyAicmdiKDEsIDIsIDMpIgogQWRkaW5nIGEgY29tbWVudCBkb2VzIG5vdCBjaGFuZ2UgdGhlIDpl
bXB0eSBzdGF0ZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2VtcHR5
LXN0eWxlLXVwZGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvZW1wdHktc3R5
bGUtdXBkYXRlLmh0bWwKaW5kZXggZTAyNzVmMWE1MDE5NGMyZDhkNTMzNzBlMDk3Mjc2MDFkYWY2
M2E3YS4uNWZiMTdhMzhhMDM3MzNmMzdjMWJmNTQ2NWYxN2QxNmMwNjExZTc3ZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvZW1wdHktc3R5bGUtdXBkYXRlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvZW1wdHktc3R5bGUtdXBkYXRlLmh0bWwKQEAg
LTI1LDcgKzI1LDcgQEAgZGVzY3JpcHRpb24oJ1Rlc3QgdGhlIHN0eWxlIHVwZGF0ZSB3aXRoIHRo
ZSA6ZW1wdHkgcHNldWRvIGNsYXNzLicpOwogdmFyIHRlc3RDYXNlV2l0aFJlbmRlciA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ3aXRoLXJlbmRlcmVyIik7CiB2YXIgdGVzdENhc2VXaXRob3V0
UmVuZGVyZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aG91dC1yZW5kZXJlciIpOwog
Ci1kZWJ1ZygiSW5pdGlhbCBzdGF0ZSBpcyBlbXRweS4iKTsKK2RlYnVnKCJJbml0aWFsIHN0YXRl
IGlzIGVtcHR5LiIpOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3aXRoLXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvcics
ICdyZ2IoMSwgMiwgMyknKTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29tcHV0ZWRTdHls
ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aG91dC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5k
Q29sb3InLCAncmdiKDEsIDIsIDMpJyk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
c2VsZWN0b3JzL25vdC1lbXB0eS1hZGphY2VudC1zdHlsZS11cGRhdGUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvbm90LWVtcHR5LWFkamFjZW50LXN0eWxlLXVwZGF0
ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDM4NTYwMTcyMWExZmM4M2E0Y2EwM2Q5NWNhYzlm
NmMyZDI2YzM5OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3Jz
L25vdC1lbXB0eS1hZGphY2VudC1zdHlsZS11cGRhdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzAgQEAKK1Rlc3QgdGhlIHN0eWxlIHdpdGggYSA6ZW1wdHkgcHNldWRvIGNsYXNzIHVzZWQgZm9y
IGEgc2libGluZyBvZiB0aGUgc3R5bGVkIGVsZW1lbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitJbml0aWFsIHN0YXRlIGlzIGVtcHR5LgorUEFTUyBnZXRDb21wdXRlZFN0eWxl
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQtd2l0aC1yZW5kZXJlciIpKS5iYWNrZ3Jv
dW5kQ29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0LXdpdGhvdXQtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENv
bG9yIGlzICJyZ2IoMSwgMiwgMykiCitBZGRpbmcgYSBjb21tZW50IGRvZXMgbm90IGNoYW5nZSB0
aGUgOmVtcHR5IHN0YXRlLgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0YXJnZXQtd2l0aC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigx
LCAyLCAzKSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGFyZ2V0LXdpdGhvdXQtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMSwgMiwg
MykiCitBZGQgYW4gZWxlbWVudCBhcyBjaGlsZCBtYWtlIHVwZGF0ZXMgOmVtcHR5LgorUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQtd2l0aC1yZW5k
ZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigyNTUsIDI1NSwgMjU1KSIKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0LXdpdGhvdXQtcmVu
ZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAyNTUsIDI1NSkiCitBZGRpbmcg
YW4gZW1wdHkgdGV4dCBub2RlLCB0aGlzIGlzIHN0aWxsIG5vdCBlbXB0eSBiZWNhdXNlIG9mIHRo
ZSBlbGVtZW50LgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0YXJnZXQtd2l0aC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigyNTUsIDI1
NSwgMjU1KSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dGFyZ2V0LXdpdGhvdXQtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAy
NTUsIDI1NSkiCitSZW1vdmluZyB0aGUgZWxlbWVudHMgcHJldmlvdXNseSBhZGRlZCBzaG91bGQg
cmVzdG9yZSB0aGUgOmVtcHR5IHN0YXRlLgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQtd2l0aC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3Ig
aXMgInJnYigxLCAyLCAzKSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGFyZ2V0LXdpdGhvdXQtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yIGlzICJy
Z2IoMSwgMiwgMykiCitBZGRpbmcgYSBub24gZW1wdHkgdGV4dCBub2RlIG1ha2VzIHRoZSBzdGF0
ZSBub24gZW1wdHkuCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRhcmdldC13aXRoLXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDI1NSwg
MjU1LCAyNTUpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0YXJnZXQtd2l0aG91dC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigyNTUs
IDI1NSwgMjU1KSIKK1JlbW92aW5nIHRoZSBsYXN0IHRleHQgY2hpbGQsIGJhY2sgdG8gYmVpbmcg
ZW1wdHkuCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRh
cmdldC13aXRoLXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDEsIDIsIDMpIgor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQtd2l0
aG91dC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9ub3QtZW1wdHktYWRqYWNlbnQtc3R5bGUtdXBk
YXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9ub3QtZW1wdHktYWRqYWNlbnQt
c3R5bGUtdXBkYXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmEzMTZmNzhkZTliZjE3ZGUwMDVkMDQwZjFi
ZjFkN2I0MTIyYmM4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0
b3JzL25vdC1lbXB0eS1hZGphY2VudC1zdHlsZS11cGRhdGUuaHRtbApAQCAtMCwwICsxLDczIEBA
Cis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK3RhcmdldCB7CisgICAg
YmFja2dyb3VuZC1jb2xvcjogcmdiKDEsIDIsIDMpOworfQordGVzdGNhc2U6bm90KDplbXB0eSkg
KyB0YXJnZXQgeworICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorICAgIDxkaXY+CisgICAgICAgIDx0ZXN0Y2FzZSBpZD0id2l0aC1yZW5k
ZXJlciI+PC90ZXN0Y2FzZT4KKyAgICAgICAgPHRhcmdldCBpZD0idGFyZ2V0LXdpdGgtcmVuZGVy
ZXIiPjwvdGFyZ2V0PgorICAgIDwvZGl2PgorICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6bm9uZTsi
PgorICAgICAgICA8dGVzdGNhc2UgaWQ9IndpdGhvdXQtcmVuZGVyZXIiPjwvdGVzdGNhc2U+Cisg
ICAgICAgIDx0YXJnZXQgaWQ9InRhcmdldC13aXRob3V0LXJlbmRlcmVyIj48L3RhcmdldD4KKyAg
ICA8L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdCB0aGUgc3R5bGUg
d2l0aCBhIDplbXB0eSBwc2V1ZG8gY2xhc3MgdXNlZCBmb3IgYSBzaWJsaW5nIG9mIHRoZSBzdHls
ZWQgZWxlbWVudC4nKTsKKwordmFyIHRlc3RDYXNlV2l0aFJlbmRlciA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ3aXRoLXJlbmRlcmVyIik7Cit2YXIgdGVzdENhc2VXaXRob3V0UmVuZGVyZXIg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aG91dC1yZW5kZXJlciIpOworCitkZWJ1Zygi
SW5pdGlhbCBzdGF0ZSBpcyBlbXB0eS4iKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29t
cHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0LXdpdGgtcmVuZGVyZXIi
KSkuYmFja2dyb3VuZENvbG9yJywgJ3JnYigxLCAyLCAzKScpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQtd2l0
aG91dC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDEsIDIsIDMpJyk7CisKK2Rl
YnVnKCJBZGRpbmcgYSBjb21tZW50IGRvZXMgbm90IGNoYW5nZSB0aGUgOmVtcHR5IHN0YXRlLiIp
OwordGVzdENhc2VXaXRoUmVuZGVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQo
IldlYktpdCEiKSk7Cit0ZXN0Q2FzZVdpdGhvdXRSZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVDb21tZW50KCJXZWJLaXQhIikpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRD
b21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQtd2l0aC1yZW5kZXJl
ciIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDEsIDIsIDMpJyk7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldC13
aXRob3V0LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvcicsICdyZ2IoMSwgMiwgMyknKTsKKwor
ZGVidWcoIkFkZCBhbiBlbGVtZW50IGFzIGNoaWxkIG1ha2UgdXBkYXRlcyA6ZW1wdHkuIik7Cit2
YXIgZWxlbWVudEZvckNhc2VXaXRoUmVuZGVyZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKK3ZhciBlbGVtZW50Rm9yQ2FzZVdpdGhvdXRSZW5kZXJlciA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpOwordGVzdENhc2VXaXRoUmVuZGVyLmFwcGVuZENoaWxkKGVsZW1lbnRG
b3JDYXNlV2l0aFJlbmRlcmVyKTsKK3Rlc3RDYXNlV2l0aG91dFJlbmRlcmVyLmFwcGVuZENoaWxk
KGVsZW1lbnRGb3JDYXNlV2l0aG91dFJlbmRlcmVyKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0LXdpdGgtcmVu
ZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yJywgJ3JnYigyNTUsIDI1NSwgMjU1KScpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0YXJnZXQtd2l0aG91dC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDI1NSwg
MjU1LCAyNTUpJyk7CisKK2RlYnVnKCJBZGRpbmcgYW4gZW1wdHkgdGV4dCBub2RlLCB0aGlzIGlz
IHN0aWxsIG5vdCBlbXB0eSBiZWNhdXNlIG9mIHRoZSBlbGVtZW50LiIpOwordGVzdENhc2VXaXRo
UmVuZGVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCcnKSk7Cit0ZXN0Q2Fz
ZVdpdGhvdXRSZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnJykp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0YXJnZXQtd2l0aC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdi
KDI1NSwgMjU1LCAyNTUpJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldENvbXB1dGVkU3R5
bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldC13aXRob3V0LXJlbmRlcmVyIikpLmJh
Y2tncm91bmRDb2xvcicsICdyZ2IoMjU1LCAyNTUsIDI1NSknKTsKKworZGVidWcoIlJlbW92aW5n
IHRoZSBlbGVtZW50cyBwcmV2aW91c2x5IGFkZGVkIHNob3VsZCByZXN0b3JlIHRoZSA6ZW1wdHkg
c3RhdGUuIik7Cit0ZXN0Q2FzZVdpdGhSZW5kZXIucmVtb3ZlQ2hpbGQoZWxlbWVudEZvckNhc2VX
aXRoUmVuZGVyZXIpOwordGVzdENhc2VXaXRob3V0UmVuZGVyZXIucmVtb3ZlQ2hpbGQoZWxlbWVu
dEZvckNhc2VXaXRob3V0UmVuZGVyZXIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21w
dXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQtd2l0aC1yZW5kZXJlciIp
KS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDEsIDIsIDMpJyk7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldC13aXRo
b3V0LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvcicsICdyZ2IoMSwgMiwgMyknKTsKKworZGVi
dWcoIkFkZGluZyBhIG5vbiBlbXB0eSB0ZXh0IG5vZGUgbWFrZXMgdGhlIHN0YXRlIG5vbiBlbXB0
eS4iKTsKK3Rlc3RDYXNlV2l0aFJlbmRlci5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0
Tm9kZSgnV2ViS2l0IScpKTsKK3Rlc3RDYXNlV2l0aG91dFJlbmRlcmVyLmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZVRleHROb2RlKCdXZWJLaXQhJykpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQtd2l0aC1y
ZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDI1NSwgMjU1LCAyNTUpJyk7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRhcmdldC13aXRob3V0LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvcicsICdyZ2IoMjU1
LCAyNTUsIDI1NSknKTsKKworZGVidWcoIlJlbW92aW5nIHRoZSBsYXN0IHRleHQgY2hpbGQsIGJh
Y2sgdG8gYmVpbmcgZW1wdHkuIik7Cit0ZXN0Q2FzZVdpdGhSZW5kZXIucmVtb3ZlQ2hpbGQodGVz
dENhc2VXaXRoUmVuZGVyLmxhc3RDaGlsZCk7Cit0ZXN0Q2FzZVdpdGhvdXRSZW5kZXJlci5yZW1v
dmVDaGlsZCh0ZXN0Q2FzZVdpdGhvdXRSZW5kZXJlci5sYXN0Q2hpbGQpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJn
ZXQtd2l0aC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDEsIDIsIDMpJyk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRhcmdldC13aXRob3V0LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvcicsICdyZ2Io
MSwgMiwgMyknKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9zZWxlY3RvcnMvbm90LWVtcHR5LXN0eWxlLXVwZGF0ZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9ub3QtZW1wdHktc3R5bGUtdXBkYXRlLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zZTZiYjAyYTZiNjVhNDM5ZDZjYjlhM2ZkZmQ3ZTdjMzc5MDhkMjdjCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvbm90LWVtcHR5LXN0
eWxlLXVwZGF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMCBAQAorVGVzdCB0aGUgc3R5bGUg
dXBkYXRlIHdpdGggdGhlIDplbXB0eSBwc2V1ZG8gY2xhc3MuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitJbml0aWFsIHN0YXRlIGlzIGVtcHR5LgorUEFTUyBnZXRDb21wdXRlZFN0
eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3aXRoLXJlbmRlcmVyIikpLmJhY2tncm91bmRD
b2xvciBpcyAicmdiKDEsIDIsIDMpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ3aXRob3V0LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvciBpcyAicmdi
KDEsIDIsIDMpIgorQWRkaW5nIGEgY29tbWVudCBkb2VzIG5vdCBjaGFuZ2UgdGhlIDplbXB0eSBz
dGF0ZS4KK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0
aC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigxLCAyLCAzKSIKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aG91dC1yZW5kZXJlciIp
KS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigxLCAyLCAzKSIKK0FkZCBhbiBlbGVtZW50IGFzIGNo
aWxkIG1ha2UgdXBkYXRlcyA6ZW1wdHkuCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoIndpdGgtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2Io
MjU1LCAyNTUsIDI1NSkiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoIndpdGhvdXQtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yIGlzICJyZ2IoMjU1LCAy
NTUsIDI1NSkiCitBZGRpbmcgYW4gZW1wdHkgdGV4dCBub2RlLCB0aGlzIGlzIHN0aWxsIG5vdCBl
bXB0eSBiZWNhdXNlIG9mIHRoZSBlbGVtZW50LgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ3aXRoLXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvciBpcyAi
cmdiKDI1NSwgMjU1LCAyNTUpIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ3aXRob3V0LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvciBpcyAicmdiKDI1
NSwgMjU1LCAyNTUpIgorUmVtb3ZpbmcgdGhlIGVsZW1lbnRzIHByZXZpb3VzbHkgYWRkZWQgc2hv
dWxkIHJlc3RvcmUgdGhlIDplbXB0eSBzdGF0ZS4KK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMg
InJnYigxLCAyLCAzKSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgid2l0aG91dC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigxLCAyLCAz
KSIKK0FkZGluZyBhIG5vbiBlbXB0eSB0ZXh0IG5vZGUgbWFrZXMgdGhlIHN0YXRlIG5vbiBlbXB0
eS4KK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aC1y
ZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigyNTUsIDI1NSwgMjU1KSIKK1BBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aG91dC1yZW5kZXJl
ciIpKS5iYWNrZ3JvdW5kQ29sb3IgaXMgInJnYigyNTUsIDI1NSwgMjU1KSIKK1JlbW92aW5nIHRo
ZSBsYXN0IHRleHQgY2hpbGQsIGJhY2sgdG8gYmVpbmcgZW1wdHkuCitQQVNTIGdldENvbXB1dGVk
U3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndpdGgtcmVuZGVyZXIiKSkuYmFja2dyb3Vu
ZENvbG9yIGlzICJyZ2IoMSwgMiwgMykiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoIndpdGhvdXQtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yIGlzICJy
Z2IoMSwgMiwgMykiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvbm90LWVtcHR5
LXN0eWxlLXVwZGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvbm90LWVtcHR5
LXN0eWxlLXVwZGF0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzOTYyNzJkOTIzMmY5MDQzZWExYWVhY2Fk
M2VlMGE3ZTM1MTcxYzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVj
dG9ycy9ub3QtZW1wdHktc3R5bGUtdXBkYXRlLmh0bWwKQEAgLTAsMCArMSw3MSBAQAorPCFkb2N0
eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+Cit0ZXN0Y2FzZSB7CisgICAgYmFja2dy
b3VuZC1jb2xvcjogcmdiKDEsIDIsIDMpOworfQordGVzdGNhc2U6bm90KDplbXB0eSkgeworICAg
IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
ICAgIDxkaXY+CisgICAgICAgIDx0ZXN0Y2FzZSBpZD0id2l0aC1yZW5kZXJlciI+PC90ZXN0Y2Fz
ZT4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KKyAgICAgICAg
PHRlc3RjYXNlIGlkPSJ3aXRob3V0LXJlbmRlcmVyIj48L3Rlc3RjYXNlPgorICAgIDwvZGl2Pgor
PC9ib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHRoZSBzdHlsZSB1cGRhdGUgd2l0
aCB0aGUgOmVtcHR5IHBzZXVkbyBjbGFzcy4nKTsKKwordmFyIHRlc3RDYXNlV2l0aFJlbmRlciA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3aXRoLXJlbmRlcmVyIik7Cit2YXIgdGVzdENhc2VX
aXRob3V0UmVuZGVyZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aG91dC1yZW5kZXJl
ciIpOworCitkZWJ1ZygiSW5pdGlhbCBzdGF0ZSBpcyBlbXB0eS4iKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygnZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aC1y
ZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDEsIDIsIDMpJyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndp
dGhvdXQtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yJywgJ3JnYigxLCAyLCAzKScpOworCitk
ZWJ1ZygiQWRkaW5nIGEgY29tbWVudCBkb2VzIG5vdCBjaGFuZ2UgdGhlIDplbXB0eSBzdGF0ZS4i
KTsKK3Rlc3RDYXNlV2l0aFJlbmRlci5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVDb21tZW50
KCJXZWJLaXQhIikpOwordGVzdENhc2VXaXRob3V0UmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlQ29tbWVudCgiV2ViS2l0ISIpKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0
Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aC1yZW5kZXJlciIpKS5i
YWNrZ3JvdW5kQ29sb3InLCAncmdiKDEsIDIsIDMpJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
J2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndpdGhvdXQtcmVuZGVy
ZXIiKSkuYmFja2dyb3VuZENvbG9yJywgJ3JnYigxLCAyLCAzKScpOworCitkZWJ1ZygiQWRkIGFu
IGVsZW1lbnQgYXMgY2hpbGQgbWFrZSB1cGRhdGVzIDplbXB0eS4iKTsKK3ZhciBlbGVtZW50Rm9y
Q2FzZVdpdGhSZW5kZXJlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwordmFyIGVs
ZW1lbnRGb3JDYXNlV2l0aG91dFJlbmRlcmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2
Jyk7Cit0ZXN0Q2FzZVdpdGhSZW5kZXIuYXBwZW5kQ2hpbGQoZWxlbWVudEZvckNhc2VXaXRoUmVu
ZGVyZXIpOwordGVzdENhc2VXaXRob3V0UmVuZGVyZXIuYXBwZW5kQ2hpbGQoZWxlbWVudEZvckNh
c2VXaXRob3V0UmVuZGVyZXIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0
eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3aXRoLXJlbmRlcmVyIikpLmJhY2tncm91bmRD
b2xvcicsICdyZ2IoMjU1LCAyNTUsIDI1NSknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0
Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aG91dC1yZW5kZXJlciIp
KS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDI1NSwgMjU1LCAyNTUpJyk7CisKK2RlYnVnKCJBZGRp
bmcgYW4gZW1wdHkgdGV4dCBub2RlLCB0aGlzIGlzIHN0aWxsIG5vdCBlbXB0eSBiZWNhdXNlIG9m
IHRoZSBlbGVtZW50LiIpOwordGVzdENhc2VXaXRoUmVuZGVyLmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZVRleHROb2RlKCcnKSk7Cit0ZXN0Q2FzZVdpdGhvdXRSZW5kZXJlci5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnJykpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3aXRoLXJlbmRlcmVyIikp
LmJhY2tncm91bmRDb2xvcicsICdyZ2IoMjU1LCAyNTUsIDI1NSknKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygnZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aG91
dC1yZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDI1NSwgMjU1LCAyNTUpJyk7CisK
K2RlYnVnKCJSZW1vdmluZyB0aGUgZWxlbWVudHMgcHJldmlvdXNseSBhZGRlZCBzaG91bGQgcmVz
dG9yZSB0aGUgOmVtcHR5IHN0YXRlLiIpOwordGVzdENhc2VXaXRoUmVuZGVyLnJlbW92ZUNoaWxk
KGVsZW1lbnRGb3JDYXNlV2l0aFJlbmRlcmVyKTsKK3Rlc3RDYXNlV2l0aG91dFJlbmRlcmVyLnJl
bW92ZUNoaWxkKGVsZW1lbnRGb3JDYXNlV2l0aG91dFJlbmRlcmVyKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygnZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aC1y
ZW5kZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDEsIDIsIDMpJyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndp
dGhvdXQtcmVuZGVyZXIiKSkuYmFja2dyb3VuZENvbG9yJywgJ3JnYigxLCAyLCAzKScpOworCitk
ZWJ1ZygiQWRkaW5nIGEgbm9uIGVtcHR5IHRleHQgbm9kZSBtYWtlcyB0aGUgc3RhdGUgbm9uIGVt
cHR5LiIpOwordGVzdENhc2VXaXRoUmVuZGVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKCdXZWJLaXQhJykpOwordGVzdENhc2VXaXRob3V0UmVuZGVyZXIuYXBwZW5kQ2hpbGQo
ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJ1dlYktpdCEnKSk7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndpdGgtcmVuZGVy
ZXIiKSkuYmFja2dyb3VuZENvbG9yJywgJ3JnYigyNTUsIDI1NSwgMjU1KScpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3
aXRob3V0LXJlbmRlcmVyIikpLmJhY2tncm91bmRDb2xvcicsICdyZ2IoMjU1LCAyNTUsIDI1NSkn
KTsKKworZGVidWcoIlJlbW92aW5nIHRoZSBsYXN0IHRleHQgY2hpbGQsIGJhY2sgdG8gYmVpbmcg
ZW1wdHkuIik7Cit0ZXN0Q2FzZVdpdGhSZW5kZXIucmVtb3ZlQ2hpbGQodGVzdENhc2VXaXRoUmVu
ZGVyLmxhc3RDaGlsZCk7Cit0ZXN0Q2FzZVdpdGhvdXRSZW5kZXJlci5yZW1vdmVDaGlsZCh0ZXN0
Q2FzZVdpdGhvdXRSZW5kZXJlci5sYXN0Q2hpbGQpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3aXRoLXJlbmRlcmVyIikp
LmJhY2tncm91bmRDb2xvcicsICdyZ2IoMSwgMiwgMyknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aG91dC1yZW5k
ZXJlciIpKS5iYWNrZ3JvdW5kQ29sb3InLCAncmdiKDEsIDIsIDMpJyk7Cis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
aHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>