<?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>111187</bug_id>
          
          <creation_ts>2013-03-01 08:47:20 -0800</creation_ts>
          <short_desc>AX: Upstream iOS Accessibility layout tests</short_desc>
          <delta_ts>2013-03-01 14:24:06 -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>Accessibility</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="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>jdiggs</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>845211</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-03-01 08:47:20 -0800</bug_when>
    <thetext>Upstream the layout tests for accessibility</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845217</commentid>
    <comment_count>1</comment_count>
      <attachid>190975</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-03-01 08:59:31 -0800</bug_when>
    <thetext>Created attachment 190975
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845218</commentid>
    <comment_count>2</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-03-01 08:59:44 -0800</bug_when>
    <thetext>Adding david to help with review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845465</commentid>
    <comment_count>3</comment_count>
      <attachid>190975</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2013-03-01 13:31:12 -0800</bug_when>
    <thetext>Comment on attachment 190975
patch

r=me

We&apos;ll add support for the iphone-simulator platform when we upstream changes to build-webkit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845501</commentid>
    <comment_count>4</comment_count>
      <attachid>190975</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-01 14:24:03 -0800</bug_when>
    <thetext>Comment on attachment 190975
patch

Clearing flags on attachment: 190975

Committed r144504: &lt;http://trac.webkit.org/changeset/144504&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845502</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-01 14:24:06 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190975</attachid>
            <date>2013-03-01 08:59:31 -0800</date>
            <delta_ts>2013-03-01 14:24:03 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>89078</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE0NDQ2MCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDgxIEBACisyMDEzLTAzLTAxICBDaHJpcyBGbGVpemFjaCAg
PGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFVwc3RyZWFtIGlPUyBBY2Nlc3Np
YmlsaXR5IGxheW91dCB0ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTExMTg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVXBzdHJlYW0gdGhlIGxhdGVzdCBpT1MgQWNjZXNzaWJpbGl0eSBsYXlvdXQg
dGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHk6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9hY2Nlc3Np
YmlsaXR5LWFyaWEtdGFibGUtY2hpbGRyZW4tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS1h
cmlhLXRhYmxlLWNoaWxkcmVuLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lwaG9u
ZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWNyYXNoLWluLWF4Y29udGFp
bmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaXBob25lLXNpbXVs
YXRvci9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktY3Jhc2gtaW4tYXhjb250YWluZXIuaHRt
bDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmls
aXR5L2FjY2Vzc2liaWxpdHktaGludC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWhpbnQu
aHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3Np
YmlsaXR5L2FyaWEtcHJlc3NlZC1zdGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9hcmlhLXByZXNzZWQtc3Rh
dGUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nl
c3NpYmlsaXR5L2NlbnRlcnBvaW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2NlbnRlcnBvaW50Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9k
b20tZm9jdXMtZmlyZXMtb24tY29ycmVjdC1lbGVtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2RvbS1mb2N1
cy1maXJlcy1vbi1jb3JyZWN0LWVsZW1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2ZvY3VzLWNoYW5nZS1ub3RpZmljYXRp
b25zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaXBob25lLXNpbXVs
YXRvci9hY2Nlc3NpYmlsaXR5L2ZvY3VzLWNoYW5nZS1ub3RpZmljYXRpb25zLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9oZWFk
ZXItZWxlbWVudHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pcGhv
bmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvaGVhZGVyLWVsZW1lbnRzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9pZGVudGlm
aWVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaXBob25lLXNpbXVs
YXRvci9hY2Nlc3NpYmlsaXR5L2lkZW50aWZpZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2ludGVybmFsLWxpbmstZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vz
c2liaWxpdHkvaW50ZXJuYWwtbGluay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9p
cGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvbGluay13aXRoLWltYWdlcy10ZXh0LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nl
c3NpYmlsaXR5L2xpbmstd2l0aC1pbWFnZXMtdGV4dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvbGluay13aXRoLW9ubHktaW1h
Z2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pcGhvbmUtc2ltdWxh
dG9yL2FjY2Vzc2liaWxpdHkvbGluay13aXRoLW9ubHktaW1hZ2UuaHRtbDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L21hdGgtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vz
c2liaWxpdHkvbWF0aC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pcGhvbmUtc2lt
dWxhdG9yL2FjY2Vzc2liaWxpdHkvbWl4ZWQtY2hlY2tib3hlcy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9taXhl
ZC1jaGVja2JveGVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lwaG9uZS1zaW11
bGF0b3IvYWNjZXNzaWJpbGl0eS9uby1jaGlsZC1saW5rLWhlYWRlci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9u
by1jaGlsZC1saW5rLWhlYWRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pcGhv
bmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvbm9uLWNvbnRpZ3VvdXMtbGluay1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJp
bGl0eS9ub24tY29udGlndW91cy1saW5rLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9wYXNzd29yZC12YWx1ZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJp
bGl0eS9wYXNzd29yZC12YWx1ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pcGhv
bmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvcGxhY2Vob2xkZXItdmFsdWUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxp
dHkvcGxhY2Vob2xkZXItdmFsdWUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaXBo
b25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3BvcHVwLWJ1dHRvbi12YWx1ZS1sYWJlbC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNj
ZXNzaWJpbGl0eS9wb3B1cC1idXR0b24tdmFsdWUtbGFiZWwuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3JhZGlvLWJ1dHRvbi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3Iv
YWNjZXNzaWJpbGl0eS9yYWRpby1idXR0b24uaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3NlY3VyZS10ZXh0LWZpZWxkLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nl
c3NpYmlsaXR5L3NlY3VyZS10ZXh0LWZpZWxkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9zZWxlY3RlZC1idXR0b25zLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nl
c3NpYmlsaXR5L3NlbGVjdGVkLWJ1dHRvbnMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3NlbGVjdGVkLXRleHQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2li
aWxpdHkvc2VsZWN0ZWQtdGV4dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pcGhv
bmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvdGFiLXJvbGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvdGFiLXJv
bGUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nl
c3NpYmlsaXR5L3RhYmxlLWNlbGwtZm9yLXJvdy1jb2wtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvdGFibGUtY2Vs
bC1mb3Itcm93LWNvbC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pcGhvbmUtc2lt
dWxhdG9yL2FjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1yYW5nZXMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvdGFi
bGUtY2VsbC1yYW5nZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaXBob25lLXNp
bXVsYXRvci9hY2Nlc3NpYmlsaXR5L3RhYmxlcy1saXN0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS90YWJsZXMt
bGlzdHMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9h
Y2Nlc3NpYmlsaXR5L3RleHQtbGluZS1uby1pZ25vcmVkLWVsZW1lbnRzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5
L3RleHQtbGluZS1uby1pZ25vcmVkLWVsZW1lbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS90ZXh0LW1hcmtlci1saXN0LWl0
ZW0tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pcGhvbmUtc2ltdWxh
dG9yL2FjY2Vzc2liaWxpdHkvdGV4dC1tYXJrZXItbGlzdC1pdGVtLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS90ZXh0LW1hcmtl
ci12YWxpZGF0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaXBo
b25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyLXZhbGlkYXRpb24uaHRtbDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5
L3RleHQtcm9sZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lwaG9u
ZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS90ZXh0LXJvbGUuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3RleHRmaWVsZC1pbi1h
eHZhbHVlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaXBob25lLXNp
bXVsYXRvci9hY2Nlc3NpYmlsaXR5L3RleHRmaWVsZC1pbi1heHZhbHVlLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS91cmwtdGVz
dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lwaG9uZS1zaW11bGF0
b3IvYWNjZXNzaWJpbGl0eS91cmwtdGVzdC5odG1sOiBBZGRlZC4KKwogMjAxMy0wMy0wMSAgw4Fk
w6FtIEthbGxhaSAgPGthZGFtQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBbUXRdIFVucmV2
aWV3ZWQgZ2FyZGVuaW5nLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVs
YXRvci9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktYXJpYS10YWJsZS1jaGlsZHJlbi1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVs
YXRvci9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktYXJpYS10YWJsZS1jaGlsZHJlbi1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2lt
dWxhdG9yL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS1hcmlhLXRhYmxlLWNoaWxkcmVuLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE2IEBACit0ZXN0MQordGVzdDIK
K3Rlc3QzCit0ZXN0MQordGVzdDIKK3Rlc3QzCitUaGlzIG1ha2VzIHN1cmUgdGhhdCBpZiBhbiBB
UklBIHRhYmxlIGlzIHVzZWQsIHRoZSB0YWJsZSdzIGNoaWxkcmVuIGRvZXMgTk9UIGluY2x1ZGUg
dGhlIGNvbHVtbiBoZWFkZXJzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyBncmlkLmNoaWxkcmVuQ291bnQgaXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1z
aW11bGF0b3IvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWFyaWEtdGFibGUtY2hpbGRyZW4u
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9y
L2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS1hcmlhLXRhYmxlLWNoaWxkcmVuLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vz
c2liaWxpdHkvYWNjZXNzaWJpbGl0eS1hcmlhLXRhYmxlLWNoaWxkcmVuLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0OCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKworPGRpdiByb2xlPSJncmlkIiB0YWJpbmRleD0i
MCIgaWQ9ImdyaWQiPgorCis8ZGl2IHJvbGU9ImNvbHVtbmhlYWRlciIgYXJpYS1sYWJlbD0idGVz
dDEiPnRlc3QxPC9kaXY+Cis8ZGl2IHJvbGU9ImNvbHVtbmhlYWRlciIgYXJpYS1sYWJlbD0idGVz
dDIiPnRlc3QyPC9kaXY+Cis8ZGl2IHJvbGU9ImNvbHVtbmhlYWRlciIgYXJpYS1sYWJlbD0idGVz
dDMiPnRlc3QzPC9kaXY+CisKKzxkaXYgcm9sZT0icm93Ij4KKyAgIDxkaXYgcm9sZT0iZ3JpZGNl
bGwiPnRlc3QxPC9kaXY+CisgICA8ZGl2IHJvbGU9ImdyaWRjZWxsIj50ZXN0MjwvZGl2PgorICAg
PGRpdiByb2xlPSJncmlkY2VsbCI+dGVzdDM8L2Rpdj4KKzwvZGl2PgorCis8L2Rpdj4KKworPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlw
dD4KKworICAgIGRlc2NyaXB0aW9uKCJUaGlzIG1ha2VzIHN1cmUgdGhhdCBpZiBhbiBBUklBIHRh
YmxlIGlzIHVzZWQsIHRoZSB0YWJsZSdzIGNoaWxkcmVuIGRvZXMgTk9UIGluY2x1ZGUgdGhlIGNv
bHVtbiBoZWFkZXJzLiIpOworCisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cikgeworCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJncmlkIikuZm9jdXMoKTsK
KyAgICAgICAgdmFyIGdyaWQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVu
dDsKKworICAgICAgICAvLyBXZSBzaG91bGQgaGF2ZSAxIGNoaWxkLCBmb3IgdGhlIHJvdy4gQ29s
dW1uIGhlYWRlcnMgc2hvdWxkIG5vdCBiZSBleHBvc2VkIGFzIGNoaWxkcmVuIG9uIGlPUy4KKyAg
ICAgICAgc2hvdWxkQmUoImdyaWQuY2hpbGRyZW5Db3VudCIsICIxIik7CisgICAgfQorCisgICAg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRv
ci9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktY3Jhc2gtaW4tYXhjb250YWluZXItZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0
b3IvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWNyYXNoLWluLWF4Y29udGFpbmVyLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11
bGF0b3IvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWNyYXNoLWluLWF4Y29udGFpbmVyLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExIEBACitUaGlzIG1ha2VzIHN1
cmUgdGhhdCB3ZSBkb24ndCBjcmFzaCB3aGVuIGFza2luZyBmb3IgdGhlIHBhcmVudCBlbGVtZW50
IG9mIGFuIG9iamVjdCB0aGF0IGhhcyBubyBkb2N1bWVudCgpIGJlY2F1c2UgaXRzIHBhcmVudCB3
YXMgZGV0YWNoZWQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbGluay5p
cGhvbmVMYWJlbCBpcyAnQVhMYWJlbDogeWVsbG93JworUEFTUyBsaW5rLnBhcmVudEVsZW1lbnQo
KS5pcGhvbmVMYWJlbCBpcyAnQVhMYWJlbDogJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9u
ZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWNyYXNoLWluLWF4Y29udGFp
bmVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVs
YXRvci9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktY3Jhc2gtaW4tYXhjb250YWluZXIuaHRt
bAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3Iv
YWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LWNyYXNoLWluLWF4Y29udGFpbmVyLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw0NCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKworPGltZyBzcmM9InJlc291cmNlcy9j
YWtlLnBuZyIgdXNlbWFwPSIjbWFwIiBpZD0iYmFja0ltZyIgYWx0PSIiIHdpZHRoPSIyMjUiIGhl
aWdodD0iMjA2Ij4KKworPG1hcCBuYW1lPSJtYXAiIGFyaWEtbGFiZWxsZWRieT0icGFwZXJjb2xv
ciI+CisgICAgICAgIDxhcmVhIHNoYXBlPSJyZWN0IiB0YWJpbmRleD0iMCIgYWx0PSJ5ZWxsb3ci
IGhyZWY9IiMiIGNvb3Jkcz0iMTksMjgsNDYsNTIiIGlkPSJ5ZWxsb3ciPgorICAgICAgICA8YXJl
YSBzaGFwZT0icmVjdCIgdGFiaW5kZXg9IjAiIGFsdD0ib3JhbmdlIiBocmVmPSIjIiBjb29yZHM9
IjU4LDI4LDg1LDUyIiBpZD0ib3JhbmdlIj4KKzwvbWFwPgorCis8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorCisgICAgZGVzY3Jp
cHRpb24oIlRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlIGRvbid0IGNyYXNoIHdoZW4gYXNraW5nIGZv
ciB0aGUgcGFyZW50IGVsZW1lbnQgb2YgYW4gb2JqZWN0IHRoYXQgaGFzIG5vIGRvY3VtZW50KCkg
YmVjYXVzZSBpdHMgcGFyZW50IHdhcyBkZXRhY2hlZCIpOworCisgICAgaWYgKHdpbmRvdy5hY2Nl
c3NpYmlsaXR5Q29udHJvbGxlcikgeworCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJib2R5IikuZm9jdXMoKTsKKyAgICAgICAgdmFyIGxpbmsgPSBhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5mb2N1c2VkRWxlbWVudC5jaGlsZEF0SW5kZXgoMCkuY2hpbGRBdEluZGV4KDApOworICAg
ICAgICBzaG91bGRCZSgibGluay5pcGhvbmVMYWJlbCIsICInQVhMYWJlbDogeWVsbG93JyIpOwor
CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJiYWNrSW1nIikucGFyZW50Tm9kZS5y
ZW1vdmVDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmFja0ltZyIpKTsKKworICAgICAg
ICAvLyBTaG91bGQgbm90IGNyYXNoIGhlcmUgd2hlbiBhc2tpbmcgZm9yIHBhcmVudEVsZW1lbnQg
KGV2ZW4gdGhvdWdoIGl0IHdhcyByZW1vdmVkKS4KKyAgICAgICAgc2hvdWxkQmUoImxpbmsucGFy
ZW50RWxlbWVudCgpLmlwaG9uZUxhYmVsIiwgIidBWExhYmVsOiAnIik7CisgICAgfQorCisgICAg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRv
ci9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktaGludC1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5
L2FjY2Vzc2liaWxpdHktaGludC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0
eS1oaW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExIEBACitsaW5r
IGxhYmVsCitUaGlzIG1ha2VzIHN1cmUgdGhhdCB0aGUgdGl0bGUgYXR0cmlidXRlIGlzIHVzZWQg
YXMgYWNjZXNzaWJpbGl0eUhpbnQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgbGluay5pcGhvbmVIaW50IGlzICdBWEhpbnQ6IFRoaXMgaXMgYSBoaW50JworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5
LWhpbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2lt
dWxhdG9yL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS1oaW50Lmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkv
YWNjZXNzaWJpbGl0eS1oaW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNCBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gZmFsc2U7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5
Ij4KKworPGEgdGFiaW5kZXg9MCBpZD0ibGluayIgaHJlZj0iI2hlcmUiIHRpdGxlPSJUaGlzIGlz
IGEgaGludCI+bGluayBsYWJlbDwvYT4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KKworICAgIGRlc2NyaXB0aW9uKCJUaGlz
IG1ha2VzIHN1cmUgdGhhdCB0aGUgdGl0bGUgYXR0cmlidXRlIGlzIHVzZWQgYXMgYWNjZXNzaWJp
bGl0eUhpbnQiKTsKKworICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsK
KworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGluayIpLmZvY3VzKCk7CisgICAg
ICAgIHZhciBsaW5rID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7Cisg
ICAgICAgIHNob3VsZEJlKCJsaW5rLmlwaG9uZUhpbnQiLCAiJ0FYSGludDogVGhpcyBpcyBhIGhp
bnQnIik7CisgICAgfQorCisgICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0
PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2FyaWEtcHJlc3NlZC1zdGF0ZS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNp
bXVsYXRvci9hY2Nlc3NpYmlsaXR5L2FyaWEtcHJlc3NlZC1zdGF0ZS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vz
c2liaWxpdHkvYXJpYS1wcmVzc2VkLXN0YXRlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDEyIEBACitidXR0b24gMQorYnV0dG9uIDIKK1RoaXMgdGVzdCB0aGF0cyBhcmlh
LXByZXNzZWQgY2hhbmdlcyB0aGUgdHJhaXRzIHJldHVybmVkIGJ5IGJ1dHRvbnMKKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgYnRuMS5pcGhvbmVUcmFpdHMgIT0gYnRuMi5p
cGhvbmVUcmFpdHMgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0
b3IvYWNjZXNzaWJpbGl0eS9hcmlhLXByZXNzZWQtc3RhdGUuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvYXJpYS1w
cmVzc2VkLXN0YXRlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
cGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvYXJpYS1wcmVzc2VkLXN0YXRlLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw0MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7CitpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgaWQ9ImJ1dHRvbjEiIHRhYmluZGV4PTAgcm9sZT0i
YnV0dG9uIiBhcmlhLXByZXNzZWQ9InRydWUiPmJ1dHRvbiAxPC9kaXY+Cis8ZGl2IGlkPSJidXR0
b24yIiB0YWJpbmRleD0wIHJvbGU9ImJ1dHRvbiIgYXJpYS1wcmVzc2VkPSJmYWxzZSI+YnV0dG9u
IDI8L2Rpdj4KKworCis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorCis8c2NyaXB0PgorCisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB0aGF0cyBh
cmlhLXByZXNzZWQgY2hhbmdlcyB0aGUgdHJhaXRzIHJldHVybmVkIGJ5IGJ1dHRvbnMiKTsKKwor
ICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKworICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiYnV0dG9uMSIpLmZvY3VzKCk7CisgICAgICAgIHZhciBidG4x
ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJ1dHRvbjIiKS5mb2N1cygpOworICAgICAgICB2YXIgYnRu
MiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworIAorICAgICAgICBz
aG91bGRCZSgiYnRuMS5pcGhvbmVUcmFpdHMgIT0gYnRuMi5pcGhvbmVUcmFpdHMiLCAidHJ1ZSIp
OworICAgIH0KKworICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKwor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2NlbnRlcnBvaW50LWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2Fj
Y2Vzc2liaWxpdHkvY2VudGVycG9pbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2NlbnRlcnBv
aW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE2IEBACitibGFoICAg
CisKKworVGhpcyB0ZXN0cyB0aGF0IHRoZSBjZW50ZXIgcG9pbnQgZm9yIGEgY2hlY2tib3ggd2l0
aCBhIGxhYmVsIGlzIG5vdCB0aGUgc2FtZSBhcyB0aGUgbWlkIHBvaW50IG9mIHRoZSBmcmFtZSAo
YmVjYXVzZSB0aGUgZnJhbWUgaW5jbHVkZXMgdGhlIGJvdW5kcyBvZiB0aGUgbGFiZWwpCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTICh4ICsgdy8yKSA9PSBjbGlja1BvaW50
WCBpcyBmYWxzZQorUEFTUyAoeSArIGgvMikgPT0gY2xpY2tQb2ludFkgaXMgZmFsc2UKK1BBU1Mg
KHggKyB3LzIpID09IGNsaWNrUG9pbnRYIGlzIHRydWUKK1BBU1MgKHkgKyBoLzIpID09IGNsaWNr
UG9pbnRZIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2Fj
Y2Vzc2liaWxpdHkvY2VudGVycG9pbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvY2VudGVycG9pbnQuaHRtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNj
ZXNzaWJpbGl0eS9jZW50ZXJwb2ludC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjkg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCis8bGFi
ZWwgZm9yPSJjaGVjazEiPmJsYWg8L2xhYmVsPgorCis8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlk
PSJjaGVjazEiPgorCis8YnI+PGJyPgorCis8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjaGVj
azIiPgorCis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorCis8c2NyaXB0PgorCisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCB0aGUgY2Vu
dGVyIHBvaW50IGZvciBhIGNoZWNrYm94IHdpdGggYSBsYWJlbCBpcyBub3QgdGhlIHNhbWUgYXMg
dGhlIG1pZCBwb2ludCBvZiB0aGUgZnJhbWUgKGJlY2F1c2UgdGhlIGZyYW1lIGluY2x1ZGVzIHRo
ZSBib3VuZHMgb2YgdGhlIGxhYmVsKSIpOworCisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5
Q29udHJvbGxlcikgeworCisgICAgICAgIC8vIE1ha2Ugc3VyZSBhIGNoZWNrYm94IHdpdGggYSBs
YWJlbCBET0VTIE5PVCBoYXZlIHRoZSBzYW1lIGNlbnRlciBwb2ludCBhcyB0aGUgZnJhbWUKKyAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoZWNrMSIpLmZvY3VzKCk7CisgICAgICAg
IHZhciBwYXNzID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAg
ICAgICAgdmFyIGNsaWNrUG9pbnRYID0gcGFzcy5jbGlja1BvaW50WDsKKyAgICAgICAgdmFyIGNs
aWNrUG9pbnRZID0gcGFzcy5jbGlja1BvaW50WTsKKworICAgICAgICB2YXIgeCA9IHBhc3MueDsK
KyAgICAgICAgdmFyIHkgPSBwYXNzLnk7CisgICAgICAgIHZhciB3ID0gcGFzcy53aWR0aDsKKyAg
ICAgICAgdmFyIGggPSBwYXNzLmhlaWdodDsKKworICAgICAgICBzaG91bGRCZUZhbHNlKCIoeCAr
IHcvMikgPT0gY2xpY2tQb2ludFgiKTsKKyAgICAgICAgc2hvdWxkQmVGYWxzZSgiKHkgKyBoLzIp
ID09IGNsaWNrUG9pbnRZIik7CisKKyAgICAgICAgLy8gTm93IG1ha2Ugc3VyZSBhIGNoZWNrYm94
IHdpdGhvdXQgYSBsYWJlbCBET0VTIGhhdmUgdGhlIHNhbWUgY2VudGVycG9pbnQgYXMgdGhlIGZy
YW1lCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGVjazIiKS5mb2N1cygpOwor
ICAgICAgICBwYXNzID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisK
KyAgICAgICAgdmFyIGNsaWNrUG9pbnRYID0gcGFzcy5jbGlja1BvaW50WDsKKyAgICAgICAgdmFy
IGNsaWNrUG9pbnRZID0gcGFzcy5jbGlja1BvaW50WTsKKworICAgICAgICB2YXIgeCA9IHBhc3Mu
eDsKKyAgICAgICAgdmFyIHkgPSBwYXNzLnk7CisgICAgICAgIHZhciB3ID0gcGFzcy53aWR0aDsK
KyAgICAgICAgdmFyIGggPSBwYXNzLmhlaWdodDsKKworICAgICAgICBzaG91bGRCZVRydWUoIih4
ICsgdy8yKSA9PSBjbGlja1BvaW50WCIpOworICAgICAgICBzaG91bGRCZVRydWUoIih5ICsgaC8y
KSA9PSBjbGlja1BvaW50WSIpOworICAgIH0KKworICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2RvbS1m
b2N1cy1maXJlcy1vbi1jb3JyZWN0LWVsZW1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9kb20t
Zm9jdXMtZmlyZXMtb24tY29ycmVjdC1lbGVtZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9k
b20tZm9jdXMtZmlyZXMtb24tY29ycmVjdC1lbGVtZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDE2IEBACitsaW5rMQoraGVhZGluZzEKKworVGhpcyB0ZXN0cyB0aGF0
IGFjY2Vzc2liaWxpdHlFbGVtZW50RGlkQmVjb21lRm9jdXNlZCB3aWxsIGJlIHByb3BhZ2F0ZWQg
dG8gdGhlIGNvcnJlY3QgcGFyZW50IGFuZCBjYXVzZSBET00gZm9jdXMgdG8gZmlyZSBvbiB0aGUg
Y29ycmVjdCBlbGVtZW50cy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
dGV4dEluc2lkZUxpbmsuaXBob25lTGFiZWwgaXMgJ0FYTGFiZWw6IGxpbmsxJworUEFTUyBhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5jaGlsZEF0SW5kZXgoMCkuaXNFcXVh
bCh0ZXh0SW5zaWRlTGluaykgaXMgdHJ1ZQorUEFTUyB0ZXh0SW5zaWRlSGVhZGluZy5pcGhvbmVM
YWJlbCBpcyAnQVhMYWJlbDogaGVhZGluZzEnCitQQVNTIGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmZvY3VzZWRFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5pc0VxdWFsKHRleHRJbnNpZGVIZWFkaW5n
KSBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3Np
YmlsaXR5L2RvbS1mb2N1cy1maXJlcy1vbi1jb3JyZWN0LWVsZW1lbnQuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkv
ZG9tLWZvY3VzLWZpcmVzLW9uLWNvcnJlY3QtZWxlbWVudC5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2RvbS1m
b2N1cy1maXJlcy1vbi1jb3JyZWN0LWVsZW1lbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDUyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKwor
Cis8YSBpZD0ibGluazEiIGhyZWY9IiMiPmxpbmsxPC9hPgorCis8aDEgaWQ9ImhlYWRpbmcxIiB0
YWJpbmRleD0wPmhlYWRpbmcxPC9oMT4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KKworICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3RzIHRoYXQgYWNjZXNzaWJpbGl0eUVsZW1lbnREaWRCZWNvbWVGb2N1c2VkIHdpbGwgYmUg
cHJvcGFnYXRlZCB0byB0aGUgY29ycmVjdCBwYXJlbnQgYW5kIGNhdXNlIERPTSBmb2N1cyB0byBm
aXJlIG9uIHRoZSBjb3JyZWN0IGVsZW1lbnRzLiIpOworCisKKyAgICBpZiAod2luZG93LmFjY2Vz
c2liaWxpdHlDb250cm9sbGVyKSB7CisKKyAgICAgICAgdmFyIGJvZHkgPSBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5yb290RWxlbWVudDsKKworICAgICAgICAvLyBHZXQgYWNjZXNzIHRvIHRoZSB0
ZXh0IGluc2lkZSB0aGUgbGluay4KKyAgICAgICAgdmFyIHRleHRJbnNpZGVMaW5rID0gYm9keS5j
aGlsZEF0SW5kZXgoMCkuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgwKTsKKyAgICAgICAg
c2hvdWxkQmUoInRleHRJbnNpZGVMaW5rLmlwaG9uZUxhYmVsIiwgIidBWExhYmVsOiBsaW5rMSci
KTsKKworICAgICAgICAvLyBTaW11bGF0ZSBWb2ljZU92ZXIgZm9jdXMgb250byB0aGUgZWxlbWVu
dC4KKyAgICAgICAgdGV4dEluc2lkZUxpbmsuYXNzaXN0aXZlVGVjaG5vbG9neVNpbXVsYXRlZEZv
Y3VzKCk7CisKKyAgICAgICAgLy8gVGhlIG5ldyBmb2N1c2VkIGVsZW1lbnQgc2hvdWxkIG5vdyBi
ZSB0aGUgbGluayBpdHNlbGYuCisgICAgICAgIHNob3VsZEJlVHJ1ZSgiYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuY2hpbGRBdEluZGV4KDApLmlzRXF1YWwodGV4dEluc2lk
ZUxpbmspIik7CisKKyAgICAgICAgLy8gUmVwZWF0IGZvciB0ZXh0IGluc2lkZSBsaW5rIGluc2lk
ZSBoZWFkaW5nLgorCisgICAgICAgIC8vIEdldCBhY2Nlc3MgdG8gdGhlIHRleHQgaW5zaWRlIHRo
ZSBsaW5rLgorICAgICAgICB2YXIgdGV4dEluc2lkZUhlYWRpbmcgPSBib2R5LmNoaWxkQXRJbmRl
eCgxKS5jaGlsZEF0SW5kZXgoMCk7CisgICAgICAgIHNob3VsZEJlKCJ0ZXh0SW5zaWRlSGVhZGlu
Zy5pcGhvbmVMYWJlbCIsICInQVhMYWJlbDogaGVhZGluZzEnIik7CisKKyAgICAgICAgLy8gU2lt
dWxhdGUgVm9pY2VPdmVyIGZvY3VzIG9udG8gdGhlIGVsZW1lbnQuCisgICAgICAgIHRleHRJbnNp
ZGVIZWFkaW5nLmFzc2lzdGl2ZVRlY2hub2xvZ3lTaW11bGF0ZWRGb2N1cygpOworCisgICAgICAg
IC8vIFRoZSBuZXcgZm9jdXNlZCBlbGVtZW50IHNob3VsZCBub3cgYmUgdGhlIGxpbmsgaXRzZWxm
LgorICAgICAgICBzaG91bGRCZVRydWUoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRF
bGVtZW50LmNoaWxkQXRJbmRleCgwKS5pc0VxdWFsKHRleHRJbnNpZGVIZWFkaW5nKSIpOworICAg
IH0KKworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2ZvY3VzLWNo
YW5nZS1ub3RpZmljYXRpb25zLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvZm9jdXMtY2hhbmdlLW5v
dGlmaWNhdGlvbnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2ZvY3VzLWNoYW5nZS1ub3RpZmlj
YXRpb25zLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0IEBACitIMQor
CitIMgorCitUaGlzIHRlc3RzIHRoYXQgbm90aWZpY2F0aW9ucyBhcmUgZmlyZWQgZm9yIGZvY3Vz
IGNoYW5nZXMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgYWRkZWROb3Rp
ZmljYXRpb24gaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3Iv
YWNjZXNzaWJpbGl0eS9mb2N1cy1jaGFuZ2Utbm90aWZpY2F0aW9ucy5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9m
b2N1cy1jaGFuZ2Utbm90aWZpY2F0aW9ucy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2ZvY3VzLWNoYW5nZS1u
b3RpZmljYXRpb25zLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NiBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdD4KK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBm
YWxzZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKwor
PGgxIHRhYmluZGV4PTAgaWQ9ImgxIj5IMTwvaDE+Cis8aDIgdGFiaW5kZXg9MCBpZD0iaDIiPkgy
PC9oMj4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKworPHNjcmlwdD4KKworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgbm90aWZp
Y2F0aW9ucyBhcmUgZmlyZWQgZm9yIGZvY3VzIGNoYW5nZXMiKTsKKworICAgIHZhciBmb2N1c0No
YW5nZUNvdW50ID0gMDsKKyAgICB2YXIgcm9vdEVsZW1lbnQgPSAwOworICAgIGZ1bmN0aW9uIGZv
Y3VzQ2FsbGJhY2sobm90aWZpY2F0aW9uKSB7CisgICAgICAgIGlmIChub3RpZmljYXRpb24gPT0g
IkFYRm9jdXNDaGFuZ2VkIikgeworICAgICAgICAgICAgZm9jdXNDaGFuZ2VDb3VudCsrOworCisg
ICAgICAgICAgICAvLyBXZSBzaG91bGQgZ2V0IGEgdG90YWwgb2YgMiBmb2N1cyBjaGFuZ2VzLgor
ICAgICAgICAgICAgaWYgKGZvY3VzQ2hhbmdlQ291bnQgPT0gMikgeworICAgICAgICAgICAgICAg
cm9vdEVsZW1lbnQucmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKTsKKyAgICAgICAgICAgICAg
IHdpbmRvdy50ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgIH0KKworICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAg
ICAgICAgLy8gTWFrZSBzdXJlIEFYIGdldHMgdHVybmVkIG9uLgorICAgICAgICByb290RWxlbWVu
dCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLnJvb3RFbGVtZW50OworICAgICAgICB3aW5kb3cu
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisKKyAgICAgICAgdmFyIGFkZGVkTm90aWZpY2F0
aW9uID0gcm9vdEVsZW1lbnQuYWRkTm90aWZpY2F0aW9uTGlzdGVuZXIoZm9jdXNDYWxsYmFjayk7
CisgICAgICAgIHNob3VsZEJlKCJhZGRlZE5vdGlmaWNhdGlvbiIsICJ0cnVlIik7CisKKyAgICAg
ICAgLy8gU3dpdGNoIGZvY3VzIGZyb20gaDEuCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJoMiIpLmZvY3VzKCk7CisgICAgICAgIC8vIENhdXNlIGZvY3VzIGNoYW5nZSB0byBiZSBz
ZW50IHRvIGgxLgorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaDEiKS5mb2N1cygp
OworCisgICAgfQorCisgICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0Pgor
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9oZWFkZXItZWxlbWVudHMtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3Iv
YWNjZXNzaWJpbGl0eS9oZWFkZXItZWxlbWVudHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2hl
YWRlci1lbGVtZW50cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBA
QAorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgYXNraW5nIGZvciB0aGUgaGVhZGVyIGVsZW1lbnQgZm9y
IGEgY2VsbCwgd2lsbCByZXR1cm4gdGhlIGhlYWRlciBlbGVtZW50CisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIGJ1dHRvbi5oZWFkZXJFbGVtZW50QXRJbmRleCgwKS5pc0Vx
dWFsKGhlYWRlcikgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCitoZWFkZXIgMQloZWFkZXIgMgloZWFkZXIgMworY2VsbCAxCWNlbGwgMglj
ZWxsIDMKK2NlbGwgNAljZWxsIDUJY2VsbAorNgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2hlYWRlci1lbGVtZW50cy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJp
bGl0eS9oZWFkZXItZWxlbWVudHMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9oZWFkZXItZWxlbWVudHMuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsK
K2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworPHRhYmxlIGJvcmRlcj0xPgorPHRyPjx0aD5oZWFk
ZXIgMTwvdGg+PHRoPmhlYWRlciAyPC90aD48dGggdGFiaW5kZXg9MCBpZD0iaGVhZGVyIj5oZWFk
ZXIgMzwvdGg+PC90cj4KKzx0cj48dGQ+Y2VsbCAxPC90ZD48dGQ+Y2VsbCAyPC90ZD48dGQ+Y2Vs
bCAzPC90ZD48L3RyPgorPHRyPjx0ZD5jZWxsIDQ8L3RkPjx0ZD5jZWxsIDU8L3RkPjx0ZD5jZWxs
IDxkaXYgcm9sZT0iYnV0dG9uIiBpZD0iYnV0dG9uIiB0YWJpbmRleD0wPjY8L2Rpdj48L3RkPjwv
dHI+CisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisKKzxzY3JpcHQ+CisKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IG1ha2VzIHN1cmUgYXNr
aW5nIGZvciB0aGUgaGVhZGVyIGVsZW1lbnQgZm9yIGEgY2VsbCwgd2lsbCByZXR1cm4gdGhlIGhl
YWRlciBlbGVtZW50Iik7CisKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVy
KSB7CisKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJ1dHRvbiIpLmZvY3VzKCk7
CisgICAgICAgIHZhciBidXR0b24gPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxl
bWVudDsKKworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGVhZGVyIikuZm9jdXMo
KTsKKyAgICAgICAgdmFyIGhlYWRlciA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRF
bGVtZW50OworICAgICAgICBzaG91bGRCZVRydWUoImJ1dHRvbi5oZWFkZXJFbGVtZW50QXRJbmRl
eCgwKS5pc0VxdWFsKGhlYWRlcikiKTsKKyAgICB9CisKKyAgICBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CisKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9p
ZGVudGlmaWVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvaWRlbnRpZmllci1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2Fj
Y2Vzc2liaWxpdHkvaWRlbnRpZmllci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxMSBAQAorYnV0dG9uIDEKK1RoaXMgdGVzdHMgdGhhdCBpZCBtYXBzIHRvIEFYSWRlbnRp
ZmllciBjb3JyZWN0bHkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgYnV0
dG9uMS5pcGhvbmVJZGVudGlmaWVyIGlzICdBWElkZW50aWZpZXI6IGJ1dHRvbjEnCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2lkZW50aWZpZXIu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9y
L2FjY2Vzc2liaWxpdHkvaWRlbnRpZmllci5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2lkZW50aWZpZXIuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsK
K2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiB0YWJpbmRleD0iMCIgaWQ9ImJ1dHRvbjEi
IHJvbGU9ImJ1dHRvbiIgYXJpYS1zZWxlY3RlZD0idHJ1ZSI+YnV0dG9uIDE8L2Rpdj4KKworPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlw
dD4KKworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgaWQgbWFwcyB0byBBWElkZW50
aWZpZXIgY29ycmVjdGx5Iik7CisKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9s
bGVyKSB7CisKKyAgICAgICAgLy8gTWFrZSBzdXJlIGEgY2hlY2tib3ggd2l0aCBhIGxhYmVsIERP
RVMgTk9UIGhhdmUgdGhlIHNhbWUgY2VudGVyIHBvaW50IGFzIHRoZSBmcmFtZQorICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnV0dG9uMSIpLmZvY3VzKCk7CisgICAgICAgIHZhciBi
dXR0b24xID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisgICAgICAg
IHNob3VsZEJlKCJidXR0b24xLmlwaG9uZUlkZW50aWZpZXIiLCAiJ0FYSWRlbnRpZmllcjogYnV0
dG9uMSciKTsKKyAgICB9CisKKyAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CisKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9pbnRlcm5hbC1saW5rLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2lt
dWxhdG9yL2FjY2Vzc2liaWxpdHkvaW50ZXJuYWwtbGluay1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxp
dHkvaW50ZXJuYWwtbGluay1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
OCBAQAorTmFtZSAKKworCisKKworCisKK0xpbmtlZCBFbGVtZW50CitUaGlzIHRlc3QgdGhhdHMg
aW50ZXJuYWwgbGlua3MgcmV0dXJuIHRoZWlyIGxpbmtlZCBlbGVtZW50cworCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUEFTUyBsaW5rLmxpbmtlZEVsZW1lbnQoKS5pcGhvbmVMYWJl
bCBpcyAnQVhMYWJlbDogTGlua2VkIEVsZW1lbnQnCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBo
b25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2ludGVybmFsLWxpbmsuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkv
aW50ZXJuYWwtbGluay5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2ludGVybmFsLWxpbmsuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKK2lmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKworPGEgaHJlZj0iI25hbWUxIiBpZD0ibmFtZSI+TmFtZTwvYT4KKwor
PEJSPjxCUj48QlI+PEJSPgorPEJSPjxCUj48QlI+Cis8YSBuYW1lPSJuYW1lMSI+TGlua2VkIEVs
ZW1lbnQ8L2E+CisKKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKworPHNjcmlwdD4KKworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdGhhdHMg
aW50ZXJuYWwgbGlua3MgcmV0dXJuIHRoZWlyIGxpbmtlZCBlbGVtZW50cyIpOworCisgICAgaWYg
KHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworCisgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJuYW1lIikuZm9jdXMoKTsKKyAgICAgICAgdmFyIGxpbmsgPSBhY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKKyAgICAgICAgc2hvdWxkQmUoImxpbmsu
bGlua2VkRWxlbWVudCgpLmlwaG9uZUxhYmVsIiwgIidBWExhYmVsOiBMaW5rZWQgRWxlbWVudCci
KTsKKyAgICB9CisKKyAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisK
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9saW5rLXdpdGgtaW1hZ2VzLXRleHQt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1z
aW11bGF0b3IvYWNjZXNzaWJpbGl0eS9saW5rLXdpdGgtaW1hZ2VzLXRleHQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9h
Y2Nlc3NpYmlsaXR5L2xpbmstd2l0aC1pbWFnZXMtdGV4dC1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwxMiBAQAorICBpUGhvbmVGcm9tICQ5OQorVGhpcyB0ZXN0IG1ha2Vz
IHN1cmUgdGhhdCBhIGxpbmsgd2l0aCBpbWFnZXMgYW5kIHRleHQgYXBwZWFycyBhcyBhIGxpbmsu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG9iai5pcGhvbmVJc0VsZW1l
bnQgaXMgdHJ1ZQorUEFTUyBvYmouaXBob25lTGFiZWwgaXMgJ0FYTGFiZWw6ICAgaVBob25lRnJv
bSAkOTknCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmls
aXR5L2xpbmstd2l0aC1pbWFnZXMtdGV4dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9saW5rLXdpdGgtaW1hZ2Vz
LXRleHQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1z
aW11bGF0b3IvYWNjZXNzaWJpbGl0eS9saW5rLXdpdGgtaW1hZ2VzLXRleHQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDQxIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKK2lmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKworPGEgaHJlZj0ic3RvcmUuaHRtbCI+Cis8c3Bhbj4KKzxpbWcgc3Jj
PSJpbWFnZS5naWYiIHdpZHRoPTEwMCBoZWlnaHQ9MTAwIGFsdD0iIj4KKzxzdHJvbmc+aVBob25l
PC9zdHJvbmc+RnJvbSAkOTk8L3NwYW4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKKzwvYT4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KKworICAgIGRlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGEgbGluayB3aXRoIGltYWdlcyBhbmQgdGV4dCBhcHBl
YXJzIGFzIGEgbGluay4iKTsKKworICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIpIHsKKworICAgICAgICB2YXIgb2JqID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVs
ZW1lbnQuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgwKTsKKyAgICAgICAgc2hvdWxkQmUo
Im9iai5pcGhvbmVJc0VsZW1lbnQiLCAidHJ1ZSIpOworICAgICAgICBzaG91bGRCZSgib2JqLmlw
aG9uZUxhYmVsIiwgIidBWExhYmVsOiAgIGlQaG9uZUZyb20gJDk5JyIpOworICAgIH0KKworICAg
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwv
Ym9keT4KKzwvaHRtbD4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVs
YXRvci9hY2Nlc3NpYmlsaXR5L2xpbmstd2l0aC1vbmx5LWltYWdlLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2li
aWxpdHkvbGluay13aXRoLW9ubHktaW1hZ2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2xpbmst
d2l0aC1vbmx5LWltYWdlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEy
IEBACisgCitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGEgbGluayB3aXRoIG9ubHkgYW4gaW1h
Z2Ugd2lsbCByZXBvcnQgdGhlIGNvcnJlY3QgbGFiZWwuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitQQVNTIG9iai5pcGhvbmVJc0VsZW1lbnQgaXMgdHJ1ZQorUEFTUyBvYmouaXBo
b25lTGFiZWwgaXMgJ0FYTGFiZWw6IEhlbGxvIFdvcmxkJworUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9saW5rLXdpdGgtb25seS1pbWFnZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNj
ZXNzaWJpbGl0eS9saW5rLXdpdGgtb25seS1pbWFnZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2xpbmstd2l0
aC1vbmx5LWltYWdlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOSBAQAorPCFET0NU
WVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gZmFsc2U7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKzxhIGhyZWY9InN0b3Jl
Lmh0bWwiPgorPGltZyBzcmM9ImltYWdlLmdpZiIgd2lkdGg9MTAwIGhlaWdodD0xMDAgYWx0PSJI
ZWxsbyBXb3JsZCI+Cis8L2E+CisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IG1ha2VzIHN1cmUgdGhhdCBhIGxpbmsgd2l0aCBvbmx5IGFuIGltYWdlIHdpbGwgcmVwb3J0IHRo
ZSBjb3JyZWN0IGxhYmVsLiIpOworCisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJv
bGxlcikgeworCisgICAgICAgIHZhciBvYmogPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5yb290
RWxlbWVudC5jaGlsZEF0SW5kZXgoMCkuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgwKTsK
KyAgICAgICAgc2hvdWxkQmUoIm9iai5pcGhvbmVJc0VsZW1lbnQiLCAidHJ1ZSIpOworICAgICAg
ICBzaG91bGRCZSgib2JqLmlwaG9uZUxhYmVsIiwgIidBWExhYmVsOiBIZWxsbyBXb3JsZCciKTsK
KyAgICB9CisKKyAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9tYXRoLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxp
dHkvbWF0aC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvbWF0aC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzMyBAQAorUmFtYW4gc2NhdHRlcmluZyBzdHVkeSBvZiB0aGUg
CitGZQorMQoreAorQ28KK3gKK1NiCisyCisgYW5kIAorMAoreAorMQorIHNpbmdsZSBjcnlzdGFs
cy4KK1RoaXMgdGVzdCB0aGUgbWF0aCByb2xlIHR5cGUgd2lsbCBiZSBhbiBhY2Nlc3NpYmlsaXR5
IGVsZW1lbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGdyb3VwLmNo
aWxkcmVuQ291bnQgaXMgNQorUEFTUyBncm91cC5jaGlsZEF0SW5kZXgoMCkuaXBob25lTGFiZWwg
aXMgJ0FYTGFiZWw6IFJhbWFuIHNjYXR0ZXJpbmcgc3R1ZHkgb2YgdGhlICcKK1BBU1MgZ3JvdXAu
Y2hpbGRBdEluZGV4KDEpLmlwaG9uZUxhYmVsIGlzICdBWExhYmVsOiAgRiBlIHN1YiAxICBtaW51
cyB4LCBlbmQgc3Vic2NyaXB0LiBDIG8gc3ViIHgsIFMgYiBzdWIgMicKK1BBU1MgZ3JvdXAuY2hp
bGRBdEluZGV4KDIpLmlwaG9uZUxhYmVsIGlzICdBWExhYmVsOiBhbmQgJworUEFTUyBncm91cC5j
aGlsZEF0SW5kZXgoMykuaXBob25lTGFiZWwgaXMgJ0FYTGFiZWw6ICAgb3BlbiwgMCAgbGVzcyB0
aGFuIG9yIGVxdWFsIHRvIHggIGxlc3MgdGhhbiBvciBlcXVhbCB0byAxLCAgY2xvc2UnCitQQVNT
IGdyb3VwLmNoaWxkQXRJbmRleCg0KS5pcGhvbmVMYWJlbCBpcyAnQVhMYWJlbDogc2luZ2xlIGNy
eXN0YWxzLicKK1BBU1MgZ3JvdXAuY2hpbGRBdEluZGV4KDApLmlwaG9uZUlzRWxlbWVudCBpcyB0
cnVlCitQQVNTIGdyb3VwLmNoaWxkQXRJbmRleCgxKS5pcGhvbmVJc0VsZW1lbnQgaXMgdHJ1ZQor
UEFTUyBncm91cC5jaGlsZEF0SW5kZXgoMikuaXBob25lSXNFbGVtZW50IGlzIHRydWUKK1BBU1Mg
Z3JvdXAuY2hpbGRBdEluZGV4KDMpLmlwaG9uZUlzRWxlbWVudCBpcyB0cnVlCitQQVNTIGdyb3Vw
LmNoaWxkQXRJbmRleCg0KS5pcGhvbmVJc0VsZW1lbnQgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9tYXRoLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5
L21hdGguaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1z
aW11bGF0b3IvYWNjZXNzaWJpbGl0eS9tYXRoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw5NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2
YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKwor
PGRpdiBjbGFzcz0iY29udGVudHMiIGlkPSJncm91cCIgdGFiaW5kZXg9IjAiPgorICAgICAgUmFt
YW4gc2NhdHRlcmluZyBzdHVkeSBvZiB0aGUgIAorICAgICAgPHNwYW4gcm9sZT0ibWF0aCIgYXJp
YS1sYWJlbD0iIEYgZSBzdWIgMSAgbWludXMgeCwgZW5kIHN1YnNjcmlwdC4gQyBvIHN1YiB4LCBT
IGIgc3ViIDIiPgorICAgICAgICA8bWF0aCBhbHR0ZXh0PSIgRiBlIHN1YiAxICBtaW51cyB4LCBl
bmQgc3Vic2NyaXB0LiBDIG8gc3ViIHgsIFMgYiBzdWIgMiIgYXJpYS1oaWRkZW49InRydWUiPgor
ICAgICAgICAgIDxtcm93PgorICAgICAgICAgICAgPG1zdWI+CisgICAgICAgICAgICAgIDxtcm93
PgorICAgICAgICAgICAgICAgIDxtdGV4dD5GZTwvbXRleHQ+CisgICAgICAgICAgICAgIDwvbXJv
dz4KKyAgICAgICAgICAgICAgPG1yb3c+CisgICAgICAgICAgICAgICAgPG1uPjE8L21uPgorICAg
ICAgICAgICAgICAgIDxtbz4mI3gyMjEyOzwvbW8+CisgICAgICAgICAgICAgICAgPG1pPng8L21p
PgorICAgICAgICAgICAgICA8L21yb3c+CisgICAgICAgICAgICA8L21zdWI+CisgICAgICAgICAg
ICA8bXN1Yj4KKyAgICAgICAgICAgICAgPG1yb3c+CisgICAgICAgICAgICAgICAgPG10ZXh0PkNv
PC9tdGV4dD4KKyAgICAgICAgICAgICAgPC9tcm93PgorICAgICAgICAgICAgICA8bWk+eDwvbWk+
CisgICAgICAgICAgICA8L21zdWI+CisgICAgICAgICAgICA8bXN1Yj4KKyAgICAgICAgICAgICAg
PG1yb3c+CisgICAgICAgICAgICAgICAgPG10ZXh0PlNiPC9tdGV4dD4KKyAgICAgICAgICAgICAg
PC9tcm93PgorICAgICAgICAgICAgICA8bW4+MjwvbW4+CisgICAgICAgICAgICA8L21zdWI+Cisg
ICAgICAgICAgPC9tcm93PgorICAgICAgICA8L21hdGg+CisgICAgICA8L3NwYW4+CisgICAgICBh
bmQgCisgICAgICA8c3BhbiByb2xlPSJtYXRoIiBhcmlhLWxhYmVsPSIgIG9wZW4sIDAgIGxlc3Mg
dGhhbiBvciBlcXVhbCB0byB4ICBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMSwgIGNsb3NlIj4KKyAg
ICAgICAgPG1hdGggcm9sZT0icHJlc2VudGF0aW9uIiBhbHR0ZXh0PSIgIG9wZW4sIDAgIGxlc3Mg
dGhhbiBvciBlcXVhbCB0byB4ICBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMSwgIGNsb3NlIiBhcmlh
LWhpZGRlbj0idHJ1ZSI+CisgICAgICAgICAgPG1yb3c+CisgICAgICAgICAgICA8bXJvdz4KKyAg
ICAgICAgICAgICAgPG1vPig8L21vPgorICAgICAgICAgICAgICA8bXJvdz4KKyAgICAgICAgICAg
ICAgICA8bW4+MDwvbW4+CisgICAgICAgICAgICAgICAgPG1vPiYjeDIyNjQ7PC9tbz4KKyAgICAg
ICAgICAgICAgICA8bWk+eDwvbWk+CisgICAgICAgICAgICAgICAgPG1vPiYjeDIyNjQ7PC9tbz4K
KyAgICAgICAgICAgICAgICA8bW4+MTwvbW4+CisgICAgICAgICAgICAgIDwvbXJvdz4KKyAgICAg
ICAgICAgICAgPG1vPik8L21vPgorICAgICAgICAgICAgPC9tcm93PgorICAgICAgICAgIDwvbXJv
dz4KKyAgICAgICAgPC9tYXRoPgorICAgICAgPC9zcGFuPgorICAgICAgc2luZ2xlIGNyeXN0YWxz
LgorICAgIDwvZGl2PgorICAKKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KKworICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB0
aGUgbWF0aCByb2xlIHR5cGUgd2lsbCBiZSBhbiBhY2Nlc3NpYmlsaXR5IGVsZW1lbnQuIik7CisK
KyAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKworICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJncm91cCIpLmZvY3VzKCk7CisgICAgICAgdmFyIGdyb3VwID0g
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisgICAgICAgc2hvdWxkQmUo
Imdyb3VwLmNoaWxkcmVuQ291bnQiLCAiNSIpOworICAgICAgIHNob3VsZEJlKCJncm91cC5jaGls
ZEF0SW5kZXgoMCkuaXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6IFJhbWFuIHNjYXR0ZXJpbmcgc3R1
ZHkgb2YgdGhlICciKTsKKyAgICAgICBzaG91bGRCZSgiZ3JvdXAuY2hpbGRBdEluZGV4KDEpLmlw
aG9uZUxhYmVsIiwgIidBWExhYmVsOiAgRiBlIHN1YiAxICBtaW51cyB4LCBlbmQgc3Vic2NyaXB0
LiBDIG8gc3ViIHgsIFMgYiBzdWIgMiciKTsKKyAgICAgICBzaG91bGRCZSgiZ3JvdXAuY2hpbGRB
dEluZGV4KDIpLmlwaG9uZUxhYmVsIiwgIidBWExhYmVsOiBhbmQgJyIpOworICAgICAgIHNob3Vs
ZEJlKCJncm91cC5jaGlsZEF0SW5kZXgoMykuaXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6ICAgb3Bl
biwgMCAgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHggIGxlc3MgdGhhbiBvciBlcXVhbCB0byAxLCAg
Y2xvc2UnIik7CisgICAgICAgc2hvdWxkQmUoImdyb3VwLmNoaWxkQXRJbmRleCg0KS5pcGhvbmVM
YWJlbCIsICInQVhMYWJlbDogc2luZ2xlIGNyeXN0YWxzLiciKTsKKworICAgICAgIHNob3VsZEJl
VHJ1ZSgiZ3JvdXAuY2hpbGRBdEluZGV4KDApLmlwaG9uZUlzRWxlbWVudCIpOworICAgICAgIHNo
b3VsZEJlVHJ1ZSgiZ3JvdXAuY2hpbGRBdEluZGV4KDEpLmlwaG9uZUlzRWxlbWVudCIpOworICAg
ICAgIHNob3VsZEJlVHJ1ZSgiZ3JvdXAuY2hpbGRBdEluZGV4KDIpLmlwaG9uZUlzRWxlbWVudCIp
OworICAgICAgIHNob3VsZEJlVHJ1ZSgiZ3JvdXAuY2hpbGRBdEluZGV4KDMpLmlwaG9uZUlzRWxl
bWVudCIpOworICAgICAgIHNob3VsZEJlVHJ1ZSgiZ3JvdXAuY2hpbGRBdEluZGV4KDQpLmlwaG9u
ZUlzRWxlbWVudCIpOworICAgfQorCisgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9z
Y3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvbWl4ZWQtY2hlY2tib3hl
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25l
LXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L21peGVkLWNoZWNrYm94ZXMtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nl
c3NpYmlsaXR5L21peGVkLWNoZWNrYm94ZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMTkgQEAKKzEKKzEKKzEKKworCitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGEg
Y2hlY2tib3ggKEFSSUEgb3Igb3RoZXJ3aXNlKSByZXR1cm5zIGl0cyBzdGF0dXMgdGhyb3VnaCBh
Y2Nlc3NpYmlsaXR5VmFsdWUKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuaXBob25lVmFsdWUgaXMgJ0FY
VmFsdWU6IDAnCitQQVNTIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50Lmlw
aG9uZVZhbHVlIGlzICdBWFZhbHVlOiAxJworUEFTUyBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5m
b2N1c2VkRWxlbWVudC5pcGhvbmVWYWx1ZSBpcyAnQVhWYWx1ZTogMicKK1BBU1MgYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuaXBob25lVmFsdWUgaXMgJ0FYVmFsdWU6IDEn
CitQQVNTIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LmlwaG9uZVZhbHVl
IGlzICdBWFZhbHVlOiAwJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3Iv
YWNjZXNzaWJpbGl0eS9taXhlZC1jaGVja2JveGVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L21peGVkLWNoZWNr
Ym94ZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1z
aW11bGF0b3IvYWNjZXNzaWJpbGl0eS9taXhlZC1jaGVja2JveGVzLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw1NSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQ+Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7CitpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+CisKKworPGRpdiBpZD0iY2hlY2sxIiB0YWJpbmRleD0wIHJvbGU9ImNoZWNrYm94
IiBhcmlhLWNoZWNrZWQ9ImZhbHNlIj4xPC9kaXY+Cis8ZGl2IGlkPSJjaGVjazIiIHRhYmluZGV4
PTAgcm9sZT0iY2hlY2tib3giIGFyaWEtY2hlY2tlZD0idHJ1ZSI+MTwvZGl2PgorPGRpdiBpZD0i
Y2hlY2szIiB0YWJpbmRleD0wIHJvbGU9ImNoZWNrYm94IiBhcmlhLWNoZWNrZWQ9Im1peGVkIj4x
PC9kaXY+CisKKzxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNoZWNrNCIgY2hlY2tlZD48YnI+
Cis8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjaGVjazUiPjxicj4KKworCis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorCisg
ICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgYSBjaGVja2JveCAoQVJJ
QSBvciBvdGhlcndpc2UpIHJldHVybnMgaXRzIHN0YXR1cyB0aHJvdWdoIGFjY2Vzc2liaWxpdHlW
YWx1ZSIpOworCisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworCisg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGVjazEiKS5mb2N1cygpOworICAgICAg
ICBzaG91bGRCZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuaXBob25l
VmFsdWUiLCAiJ0FYVmFsdWU6IDAnIik7CisKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNoZWNrMiIpLmZvY3VzKCk7CisgICAgICAgIHNob3VsZEJlKCJhY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5mb2N1c2VkRWxlbWVudC5pcGhvbmVWYWx1ZSIsICInQVhWYWx1ZTogMSciKTsKKwor
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hlY2szIikuZm9jdXMoKTsKKyAgICAg
ICAgc2hvdWxkQmUoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LmlwaG9u
ZVZhbHVlIiwgIidBWFZhbHVlOiAyJyIpOworCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjaGVjazQiKS5mb2N1cygpOworICAgICAgICBzaG91bGRCZSgiYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuaXBob25lVmFsdWUiLCAiJ0FYVmFsdWU6IDEnIik7CisK
KyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoZWNrNSIpLmZvY3VzKCk7CisgICAg
ICAgIHNob3VsZEJlKCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5pcGhv
bmVWYWx1ZSIsICInQVhWYWx1ZTogMCciKTsKKyAgICB9CisKKyAgICBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CisK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0
eS9uby1jaGlsZC1saW5rLWhlYWRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L25vLWNoaWxkLWxp
bmstaGVhZGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9uby1jaGlsZC1saW5rLWhlYWRlci1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACitBTEVSVDogVGVzdHMg
cGFzc2VkCisKKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9h
Y2Nlc3NpYmlsaXR5L25vLWNoaWxkLWxpbmstaGVhZGVyLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L25vLWNoaWxk
LWxpbmstaGVhZGVyLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
cGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvbm8tY2hpbGQtbGluay1oZWFkZXIuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworPGEgaHJlZj0iIyIgdGl0bGU9IkxJTksiPjxpbWcg
YWx0PSIiIHNyYz0iZW1wdHkucG5nIiB3aWR0aD0xMDAgaGVpZ2h0PTEwMD48L2E+CisKKzxkaXYg
cm9sZT0iaGVhZGluZyIgYXJpYS1sYWJlbD0iSEVBRElORyIgc3R5bGU9J2JvcmRlcjoxcHggc29s
aWQgYmxhY2s7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7Jz48L2Rpdj4KKworCis8c2NyaXB0
PgorCisgICAgLy9kZXNjcmlwdGlvbigiVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBsaW5rcyBv
ciBoZWFkZXJzIHRoYXQgZG9uJ3QgaGF2ZSBjaGlsZHJlbiBzdGlsbCBhcHBlYXIgaW4gYWNjZXNz
aWJpbGl0eS4gVGhlIGxpbmsgZG9lc24ndCBoYXZlIGNoaWxkcmVuIGJlY2F1c2UgdGhlIGltYWdl
IGFzIGEgemVybyBsZW5ndGggYWx0IHRhZy4iKTsKKworICAgIGlmICh3aW5kb3cuYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIpIHsKKworICAgICAgICB2YXIgb2JqID0gYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIucm9vdEVsZW1lbnQuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgwKTsKKyAgICAg
ICAgdmFyIHN1Y2NlZWRlZCA9IG9iai5pcGhvbmVJc0VsZW1lbnQgJiYgb2JqLmlwaG9uZUxhYmVs
ID09ICJBWExhYmVsOiBMSU5LIjsKKworICAgICAgICAvLyAgc2hvdWxkQmUoInN1Y2NlZWRlZCIs
ICJ0cnVlIik7CisgICAgICAgIHZhciBmYWlsZWQgPSBmYWxzZTsKKyAgICAgICAgaWYgKCFzdWNj
ZWVkZWQpIHsKKyAgICAgICAgICAgIGZhaWxlZCA9IHRydWU7CisgICAgICAgIH0KKworICAgICAg
ICBvYmogPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5yb290RWxlbWVudC5jaGlsZEF0SW5kZXgo
MSk7CisgICAgICAgIHN1Y2NlZWRlZCA9IG9iai5pcGhvbmVJc0VsZW1lbnQgJiYgb2JqLmlwaG9u
ZUxhYmVsID09ICJBWExhYmVsOiBIRUFESU5HIjsKKyAgICAgICAgLy8gIHNob3VsZEJlKCJzdWNj
ZWVkZWQiLCAidHJ1ZSIpOworCisgICAgICAgIGlmICghc3VjY2VlZGVkKSB7CisgICAgICAgICAg
IGZhaWxlZCA9IHRydWU7CisgICAgICAgIH0KKworICAgICAgICBpZiAoZmFpbGVkKQorICAgICAg
ICAgICAgYWxlcnQoIlRlc3RzIGZhaWxlZCIpOworICAgICAgICBlbHNlCisgICAgICAgICAgIGFs
ZXJ0KCJUZXN0cyBwYXNzZWQiKTsKKworICAgIH0KKworICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Cis8L3NjcmlwdD4KKworCis8L2JvZHk+Cis8L2h0bWw+CisKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9ub24tY29udGlndW91
cy1saW5rLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
cGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvbm9uLWNvbnRpZ3VvdXMtbGluay1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxh
dG9yL2FjY2Vzc2liaWxpdHkvbm9uLWNvbnRpZ3VvdXMtbGluay1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyIEBACitBTEVSVDogVGVzdHMgcGFzc2VkCitUaGlzIGlzIGEg
bGluayB0aGF0IHdvdWxkIG5vcm1hbGx5IGFwcGVhciBhcyBtdWx0aXBsZSBlbGVtZW50cy4KSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9u
b24tY29udGlndW91cy1saW5rLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L25vbi1jb250aWd1b3VzLWxpbmsuaHRt
bAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3Iv
YWNjZXNzaWJpbGl0eS9ub24tY29udGlndW91cy1saW5rLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw0NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+CisKKzxhIGhyZWY9IiMiPlRoaXMgaXMgYSBsaW5rIHRoYXQgPGI+d291bGQ8L2I+IG5v
cm1hbGx5IGFwcGVhciA8Yj5hcyBtdWx0aXBsZTwvYj4gZWxlbWVudHM8L2E+LgorCis8c2NyaXB0
PgorCisgICAgLy9kZXNjcmlwdGlvbigiVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBvbmx5IG9u
ZSBlbGVtZW50IGlzIHJldHVybmVkIGZvciB0aGUgbGluayBvYmplY3QsIGluc3RlYWQgb2YgbWFu
eSBlbGVtZW50cyB0aGF0IGFyZSBhbGwgbGlua3MuIik7CisKKyAgICBpZiAod2luZG93LmFjY2Vz
c2liaWxpdHlDb250cm9sbGVyKSB7CisKKyAgICAgICAgdmFyIG9iaiA9IGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLnJvb3RFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCk7Cisg
ICAgICAgIHZhciBzdWNjZWVkZWQgPSBvYmouaXBob25lTGFiZWwgPT0gIkFYTGFiZWw6IFRoaXMg
aXMgYSBsaW5rIHRoYXQgd291bGQgbm9ybWFsbHkgYXBwZWFyIGFzIG11bHRpcGxlIGVsZW1lbnRz
IjsKKyAgICAgICAgLy8gIHNob3VsZEJlKCJzdWNjZWVkZWQiLCAidHJ1ZSIpOworICAgICAgICB2
YXIgZmFpbGVkID0gZmFsc2U7CisgICAgICAgIGlmICghc3VjY2VlZGVkKSB7CisgICAgICAgICAg
ICBmYWlsZWQgPSB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgc3VjY2VlZGVkID0gb2JqLmlw
aG9uZUlzRWxlbWVudDsKKyAgICAgICAgLy8gIHNob3VsZEJlKCJzdWNjZWVkZWQiLCAidHJ1ZSIp
OworCisgICAgICAgIGlmICghc3VjY2VlZGVkKSB7CisgICAgICAgICAgIGZhaWxlZCA9IHRydWU7
CisgICAgICAgIH0KKworICAgICAgICBpZiAoZmFpbGVkKQorICAgICAgICAgICAgYWxlcnQoIlRl
c3RzIGZhaWxlZCIpOworICAgICAgICBlbHNlCisgICAgICAgICAgIGFsZXJ0KCJUZXN0cyBwYXNz
ZWQiKTsKKworICAgIH0KKworICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Njcmlw
dD4KKworCis8L2JvZHk+Cis8L2h0bWw+CisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lw
aG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9wYXNzd29yZC12YWx1ZS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nl
c3NpYmlsaXR5L3Bhc3N3b3JkLXZhbHVlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9wYXNzd29y
ZC12YWx1ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMiBAQAorCitU
aGlzIHRlc3QgdGhhdCBhIHBhc3N3b3JkIGZpZWxkIHJldHVybnMgYSBzdHJpbmcgb2YgZXF1YWwg
bGVuZ3RoIHRvIHRoZSBwYXNzd29yZCwgYnV0IG5vdCB0aGUgYWN0dWFsIHBhc3N3b3JkCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHBhc3MuaXBob25lVmFsdWUubGVuZ3Ro
IGlzIHBhc3N3b3JkLmxlbmd0aCArIGF4VmFsdWUubGVuZ3RoCitQQVNTIHBhc3MuaXBob25lVmFs
dWUgPT0gcGFzc3dvcmQgaXMgZmFsc2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2lt
dWxhdG9yL2FjY2Vzc2liaWxpdHkvcGFzc3dvcmQtdmFsdWUuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvcGFzc3dv
cmQtdmFsdWUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9u
ZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9wYXNzd29yZC12YWx1ZS5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOworaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorCis8aW5wdXQgdHlwZT0icGFzc3dvcmQiIGlkPSJwYXNzIiB2YWx1ZT0iYXNk
ZmFzZGYiPgorCisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisKKzxzY3JpcHQ+CisKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHRoYXQgYSBw
YXNzd29yZCBmaWVsZCByZXR1cm5zIGEgc3RyaW5nIG9mIGVxdWFsIGxlbmd0aCB0byB0aGUgcGFz
c3dvcmQsIGJ1dCBub3QgdGhlIGFjdHVhbCBwYXNzd29yZCIpOworCisgICAgaWYgKHdpbmRvdy5h
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworCisgICAgICAgIHZhciBwYXNzd29yZCA9ICJIZWxs
byBXb3JsZCI7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXNzIikuZm9jdXMo
KTsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3MiKS52YWx1ZSA9IHBhc3N3
b3JkOworICAgICAgICB2YXIgcGFzcyA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRF
bGVtZW50OworCisgICAgICAgIHZhciBheFZhbHVlID0gIkFYVmFsdWU6ICI7CisgICAgICAgIHNo
b3VsZEJlKCJwYXNzLmlwaG9uZVZhbHVlLmxlbmd0aCIsICJwYXNzd29yZC5sZW5ndGggKyBheFZh
bHVlLmxlbmd0aCIpOworICAgICAgICBzaG91bGRCZUZhbHNlKCJwYXNzLmlwaG9uZVZhbHVlID09
IHBhc3N3b3JkIik7CisgICAgfQorCisgICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwv
c2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgorCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvcGxhY2Vob2xkZXIt
dmFsdWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lw
aG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9wbGFjZWhvbGRlci12YWx1ZS1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9y
L2FjY2Vzc2liaWxpdHkvcGxhY2Vob2xkZXItdmFsdWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMTIgQEAKKworVGhpcyB0ZXN0IHRoYXQgYSB0ZXh0IGZpZWxkIHdpdGgg
YSBwbGFjZSBob2xkZXIgcmV0dXJucyB0aGUgcGxhY2Vob2xkZXIgYXMgZXhwZWN0ZWQuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHBhc3Muc3RyaW5nQXR0cmlidXRlVmFs
dWUoJ0FYUGxhY2Vob2xkZXJWYWx1ZScpIGlzICdwbGFjZScKK1BBU1MgcGFzcy5pcGhvbmVWYWx1
ZSBpcyAnQVhWYWx1ZTogdmFsJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0
b3IvYWNjZXNzaWJpbGl0eS9wbGFjZWhvbGRlci12YWx1ZS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9wbGFjZWhv
bGRlci12YWx1ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBo
b25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3BsYWNlaG9sZGVyLXZhbHVlLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7CitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+CisKKzxpbnB1dCB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0icGxhY2Ui
IGlkPSJwYXNzIiB2YWx1ZT0ndmFsJz4KKworCis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorCisgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCB0aGF0IGEgdGV4dCBmaWVsZCB3aXRoIGEgcGxhY2UgaG9sZGVyIHJldHVybnMgdGhl
IHBsYWNlaG9sZGVyIGFzIGV4cGVjdGVkLiIpOworCisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmls
aXR5Q29udHJvbGxlcikgeworCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXNz
IikuZm9jdXMoKTsKKyAgICAgICAgdmFyIHBhc3MgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5m
b2N1c2VkRWxlbWVudDsKKworICAgICAgICBzaG91bGRCZSgicGFzcy5zdHJpbmdBdHRyaWJ1dGVW
YWx1ZSgnQVhQbGFjZWhvbGRlclZhbHVlJykiLCAiJ3BsYWNlJyIpOworICAgICAgICBzaG91bGRC
ZSgicGFzcy5pcGhvbmVWYWx1ZSIsICInQVhWYWx1ZTogdmFsJyIpOworICAgIH0KKworICAgIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9k
eT4KKzwvaHRtbD4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRv
ci9hY2Nlc3NpYmlsaXR5L3BvcHVwLWJ1dHRvbi12YWx1ZS1sYWJlbC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3Np
YmlsaXR5L3BvcHVwLWJ1dHRvbi12YWx1ZS1sYWJlbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkv
cG9wdXAtYnV0dG9uLXZhbHVlLWxhYmVsLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDE0IEBACisgIAorVGhpcyB0ZXN0cyB0aGF0IGEgcG9wdXAgYnV0dG9uIHdpbGwgcmV0
dXJuIHRoZSBzZWxlY3RlZCBpdGVtIHRocm91Z2ggaXRzIHZhbHVlIGF0dHJpYnV0ZSBpbnN0ZWFk
IG9mIGl0cyBsYWJlbCBhdHRyaWJ1dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIHBhc3MuaXBob25lVmFsdWUgaXMgJ0FYVmFsdWU6IGl0ZW0gMScKK1BBU1MgcGFzcy5p
cGhvbmVMYWJlbCBpcyAnQVhMYWJlbDogJworUEFTUyBwYXNzLmlwaG9uZVZhbHVlIGlzICdBWFZh
bHVlOiBpdGVtIDInCitQQVNTIHBhc3MuaXBob25lTGFiZWwgaXMgJ0FYTGFiZWw6IFBvcHVwJwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9wb3B1
cC1idXR0b24tdmFsdWUtbGFiZWwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvcG9wdXAtYnV0dG9uLXZhbHVlLWxh
YmVsLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2lt
dWxhdG9yL2FjY2Vzc2liaWxpdHkvcG9wdXAtYnV0dG9uLXZhbHVlLWxhYmVsLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw1NSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7CitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+CisKKzxzZWxlY3QgaWQ9InBvcCI+Cis8b3B0aW9uPml0ZW0gMTwvb3B0
aW9uPgorPG9wdGlvbj5pdGVtIDI8L29wdGlvbj4KKzwvc2VsZWN0PgorCis8c2VsZWN0IGlkPSJw
b3AyIiBhcmlhLWxhYmVsPSJQb3B1cCI+Cis8b3B0aW9uPml0ZW0gMTwvb3B0aW9uPgorPG9wdGlv
biBzZWxlY3RlZD5pdGVtIDI8L29wdGlvbj4KKzwvc2VsZWN0PgorCis8cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorCisgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBhIHBvcHVwIGJ1dHRvbiB3aWxsIHJldHVybiB0aGUg
c2VsZWN0ZWQgaXRlbSB0aHJvdWdoIGl0cyB2YWx1ZSBhdHRyaWJ1dGUgaW5zdGVhZCBvZiBpdHMg
bGFiZWwgYXR0cmlidXRlLiIpOworCisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJv
bGxlcikgeworCisgICAgICAgIC8vIENoZWNrIHRoZSBmaXJzdCBwb3B1cCBidXR0b24uCisgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwb3AiKS5mb2N1cygpOworICAgICAgICB2YXIg
cGFzcyA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworCisgICAgICAg
IHNob3VsZEJlKCJwYXNzLmlwaG9uZVZhbHVlIiwgIidBWFZhbHVlOiBpdGVtIDEnIik7CisgICAg
ICAgIHNob3VsZEJlKCJwYXNzLmlwaG9uZUxhYmVsIiwgIidBWExhYmVsOiAnIik7CisKKyAgICAg
ICAgLy8gQ2hlY2sgdGhlIHNlY29uZCBwb3B1cCBidXR0b24uCisgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwb3AyIikuZm9jdXMoKTsKKyAgICAgICAgcGFzcyA9IGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworCisgICAgICAgIHNob3VsZEJlKCJwYXNzLmlw
aG9uZVZhbHVlIiwgIidBWFZhbHVlOiBpdGVtIDInIik7CisgICAgICAgIHNob3VsZEJlKCJwYXNz
LmlwaG9uZUxhYmVsIiwgIidBWExhYmVsOiBQb3B1cCciKTsKKyAgICB9CisKKyAgICBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8
L2h0bWw+CisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNj
ZXNzaWJpbGl0eS9yYWRpby1idXR0b24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9yYWRpby1idXR0
b24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBo
b25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3JhZGlvLWJ1dHRvbi1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwxNyBAQAorICAgCitUaGlzIHRlc3RzIHRoYXQgcmFkaW8g
YnV0dG9ucyBhcmUgZXhwb3NlZCBhcyBkaXN0aW5jdCB0eXBlcyBmcm9tIGNoZWNrYm94ZXMsIHRo
YXQgdGhleSBjYW4gcmVwb3J0IHRoZSByaWdodCB2YWx1ZSB3aGV0aGVyIGl0J3MgY2hlY2tlZCwg
YW5kIHRoZXkgY2FuIHJlcG9ydCB0aGV5J3JlIHBhcnQgb2YgYSBncm91cC4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY2hlY2tib3guaXBob25lVHJhaXRzICE9IHJhZGlv
MS5pcGhvbmVUcmFpdHMgaXMgdHJ1ZQorUEFTUyByYWRpbzEuaXBob25lVmFsdWUgaXMgJ0FYVmFs
dWU6IDEnCitQQVNTIHJhZGlvMi5pcGhvbmVWYWx1ZSBpcyAnQVhWYWx1ZTogMCcKK1BBU1MgcmFk
aW8zLmlwaG9uZVZhbHVlIGlzICdBWFZhbHVlOiAwJworUEFTUyByYWRpbzEucm93SW5kZXhSYW5n
ZSgpIGlzICd7MCwgM30nCitQQVNTIHJhZGlvMi5yb3dJbmRleFJhbmdlKCkgaXMgJ3sxLCAzfScK
K1BBU1MgcmFkaW8zLnJvd0luZGV4UmFuZ2UoKSBpcyAnezIsIDN9JworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9yYWRpby1idXR0b24uaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vz
c2liaWxpdHkvcmFkaW8tYnV0dG9uLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvcmFkaW8tYnV0dG9uLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBpZD0iYm9keSI+CisKKzxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImNoZWNrYm94
Ij4KKzxpbnB1dCBpZD0icmFkaW8xIiB0eXBlPSJyYWRpbyIgY2hlY2tlZCBuYW1lPSJncm91cCI+
Cis8aW5wdXQgaWQ9InJhZGlvMiIgdHlwZT0icmFkaW8iIG5hbWU9Imdyb3VwIj4KKzxpbnB1dCBp
ZD0icmFkaW8zIiB0eXBlPSJyYWRpbyIgbmFtZT0iZ3JvdXAiPgorCis8cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorCisgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCByYWRpbyBidXR0b25zIGFyZSBleHBvc2VkIGFzIGRp
c3RpbmN0IHR5cGVzIGZyb20gY2hlY2tib3hlcywgdGhhdCB0aGV5IGNhbiByZXBvcnQgdGhlIHJp
Z2h0IHZhbHVlIHdoZXRoZXIgaXQncyBjaGVja2VkLCBhbmQgdGhleSBjYW4gcmVwb3J0IHRoZXkn
cmUgcGFydCBvZiBhIGdyb3VwLiIpOworCisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcikgeworCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGVja2JveCIp
LmZvY3VzKCk7CisgICAgICAgIHZhciBjaGVja2JveCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmZvY3VzZWRFbGVtZW50OworCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyYWRp
bzEiKS5mb2N1cygpOworICAgICAgICB2YXIgcmFkaW8xID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJh
ZGlvMiIpLmZvY3VzKCk7CisgICAgICAgIHZhciByYWRpbzIgPSBhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5mb2N1c2VkRWxlbWVudDsKKworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cmFkaW8zIikuZm9jdXMoKTsKKyAgICAgICAgdmFyIHJhZGlvMyA9IGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmZvY3VzZWRFbGVtZW50OworCisgICAgICAgIC8vIFZlcmlmeSBjaGVja2JveCBhbmQg
cmFkaW8gaGF2ZSBkaWZmZXJlbnQgdHJhaXRzLgorICAgICAgICBzaG91bGRCZVRydWUoImNoZWNr
Ym94LmlwaG9uZVRyYWl0cyAhPSByYWRpbzEuaXBob25lVHJhaXRzIik7CisKKyAgICAgICAgLy8g
VmVyaWZ5IHRoZSB2YWx1ZSBvZiB0aGUgY2hlY2tlZCByYWRpbyBpdGVtIGlzIGNvcnJlY3QuCisg
ICAgICAgIHNob3VsZEJlKCJyYWRpbzEuaXBob25lVmFsdWUiLCAiJ0FYVmFsdWU6IDEnIik7Cisg
ICAgICAgIHNob3VsZEJlKCJyYWRpbzIuaXBob25lVmFsdWUiLCAiJ0FYVmFsdWU6IDAnIik7Cisg
ICAgICAgIHNob3VsZEJlKCJyYWRpbzMuaXBob25lVmFsdWUiLCAiJ0FYVmFsdWU6IDAnIik7CisK
KyAgICAgICAgLy8gVmVyaWZ5IHRoZSByYWRpbyBidXR0b25zIGFyZSBwYXJ0IG9mIGEgZ3JvdXAu
CisgICAgICAgIHNob3VsZEJlKCJyYWRpbzEucm93SW5kZXhSYW5nZSgpIiwgIid7MCwgM30nIik7
CisgICAgICAgIHNob3VsZEJlKCJyYWRpbzIucm93SW5kZXhSYW5nZSgpIiwgIid7MSwgM30nIik7
CisgICAgICAgIHNob3VsZEJlKCJyYWRpbzMucm93SW5kZXhSYW5nZSgpIiwgIid7MiwgM30nIik7
CisgICAgfQorCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvc2Vj
dXJlLXRleHQtZmllbGQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9zZWN1cmUtdGV4dC1maWVsZC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUt
c2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvc2VjdXJlLXRleHQtZmllbGQtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMiBAQAorQUxFUlQ6IFRlc3RzIHBhc3NlZAorIApJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3Nl
Y3VyZS10ZXh0LWZpZWxkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3NlY3VyZS10ZXh0LWZpZWxkLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vz
c2liaWxpdHkvc2VjdXJlLXRleHQtZmllbGQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQ0IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KworPGlucHV0IHR5cGU9InBhc3N3b3JkIiBpZD0icGFzcyIgc2l6ZT0iMTAiPgorPGlucHV0IHR5
cGU9InRleHQiIGlkPSJ0ZXh0IiBzaXplPSIxMSI+CisKKworPHNjcmlwdD4KKworICAgIC8vZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgYSBwYXNzd29yZCBmaWVsZCBhbmQg
YSB0ZXh0IGZpZWxkIGRvIG5vdCBoYXZlIHRoZSBzYW1lIHRyYWl0cyAoYmVjYXVzZSBwYXNzd29y
ZCBmaWVsZCBoYXMgc2VjdXJlIHRleHQgZmllbGQgdHJhaXRzKSIpOworCisgICAgaWYgKHdpbmRv
dy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworCisgICAgICAgIHZhciBwYXNzZmllbGQgPSBh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5yb290RWxlbWVudC5jaGlsZEF0SW5kZXgoMCkuY2hpbGRB
dEluZGV4KDApOworICAgICAgICB2YXIgdGV4dGZpZWxkID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIucm9vdEVsZW1lbnQuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgxKTsKKyAgICAgICAg
dmFyIHN1Y2NlZWRlZCA9IHBhc3NmaWVsZC5pcGhvbmVUcmFpdHMgIT0gdGV4dGZpZWxkLmlwaG9u
ZVRyYWl0czsKKworICAgICAgICAvLyAgc2hvdWxkQmUoInN1Y2NlZWRlZCIsICJ0cnVlIik7Cisg
ICAgICAgIHZhciBmYWlsZWQgPSBmYWxzZTsKKyAgICAgICAgaWYgKCFzdWNjZWVkZWQpIHsKKyAg
ICAgICAgICAgIGZhaWxlZCA9IHRydWU7CisgICAgICAgIH0KKworICAgICAgICBpZiAoZmFpbGVk
KQorICAgICAgICAgICAgYWxlcnQoIlRlc3RzIGZhaWxlZCIpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgIGFsZXJ0KCJUZXN0cyBwYXNzZWQiKTsKKworICAgIH0KKworICAgIHN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworCis8L2JvZHk+Cis8L2h0bWw+CisKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9zZWxl
Y3RlZC1idXR0b25zLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvc2VsZWN0ZWQtYnV0dG9ucy1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2lt
dWxhdG9yL2FjY2Vzc2liaWxpdHkvc2VsZWN0ZWQtYnV0dG9ucy1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwxNyBAQAorYnV0dG9uIDEKK2J1dHRvbiAyCit0YWIgMQordGFi
IDIKK1RoaXMgdGVzdHMgdGhhdCBhcmlhLXNlbGVjdGVkIGJlaGF2ZXMgYXMgZXhwZWN0ZWQgKGJ5
IHJldHVybmluZyB0aGUgcmlnaHQgdHJhaXRzKSBvbiB0YWJzIGFuZCBidXR0b25zLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBidXR0b24xLmlzU2VsZWN0ZWQgaXMgdHJ1
ZQorUEFTUyBidXR0b24yLmlzU2VsZWN0ZWQgaXMgZmFsc2UKK1BBU1MgdGFiMS5pc1NlbGVjdGVk
IGlzIHRydWUKK1BBU1MgdGFiMi5pc1NlbGVjdGVkIGlzIGZhbHNlCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3NlbGVjdGVkLWJ1dHRvbnMuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2Fj
Y2Vzc2liaWxpdHkvc2VsZWN0ZWQtYnV0dG9ucy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3NlbGVjdGVkLWJ1
dHRvbnMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU0IEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSBmYWxzZTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiB0YWJpbmRleD0iMCIgaWQ9
ImJ1dHRvbjEiIHJvbGU9ImJ1dHRvbiIgYXJpYS1zZWxlY3RlZD0idHJ1ZSI+YnV0dG9uIDE8L2Rp
dj4KKzxkaXYgdGFiaW5kZXg9IjAiIGlkPSJidXR0b24yIiByb2xlPSJidXR0b24iIGFyaWEtc2Vs
ZWN0ZWQ9ImZhbHNlIj5idXR0b24gMjwvZGl2PgorCis8ZGl2IHRhYmluZGV4PSIwIiBpZD0idGFi
MSIgcm9sZT0idGFiIiBhcmlhLXNlbGVjdGVkPSJ0cnVlIj50YWIgMTwvZGl2PgorPGRpdiB0YWJp
bmRleD0iMCIgaWQ9InRhYjIiIHJvbGU9InRhYiIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiPnRhYiAy
PC9kaXY+CisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CisKKzxzY3JpcHQ+CisKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IGFyaWEt
c2VsZWN0ZWQgYmVoYXZlcyBhcyBleHBlY3RlZCAoYnkgcmV0dXJuaW5nIHRoZSByaWdodCB0cmFp
dHMpIG9uIHRhYnMgYW5kIGJ1dHRvbnMuIik7CisKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxp
dHlDb250cm9sbGVyKSB7CisKKyAgICAgICAgLy8gTWFrZSBzdXJlIGEgY2hlY2tib3ggd2l0aCBh
IGxhYmVsIERPRVMgTk9UIGhhdmUgdGhlIHNhbWUgY2VudGVyIHBvaW50IGFzIHRoZSBmcmFtZQor
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnV0dG9uMSIpLmZvY3VzKCk7CisgICAg
ICAgIHZhciBidXR0b24xID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7
CisgICAgICAgIHNob3VsZEJlVHJ1ZSgiYnV0dG9uMS5pc1NlbGVjdGVkIik7CisKKyAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJ1dHRvbjIiKS5mb2N1cygpOworICAgICAgICB2YXIg
YnV0dG9uMiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworICAgICAg
ICBzaG91bGRCZUZhbHNlKCJidXR0b24yLmlzU2VsZWN0ZWQiKTsKKworICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidGFiMSIpLmZvY3VzKCk7CisgICAgICAgIHZhciB0YWIxID0gYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisgICAgICAgIHNob3VsZEJlVHJ1
ZSgidGFiMS5pc1NlbGVjdGVkIik7CisKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRhYjIiKS5mb2N1cygpOworICAgICAgICB2YXIgdGFiMiA9IGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmZvY3VzZWRFbGVtZW50OworICAgICAgICBzaG91bGRCZUZhbHNlKCJ0YWIyLmlzU2VsZWN0
ZWQiKTsKKyAgICB9CisKKyAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+
CisKKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CisKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9zZWxlY3RlZC10ZXh0LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxh
dG9yL2FjY2Vzc2liaWxpdHkvc2VsZWN0ZWQtdGV4dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkv
c2VsZWN0ZWQtdGV4dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBA
QAorVGV4dCBiZWZvcmUKK1RoaXMgaXMgYSB0ZXN0IG9mIFNhZmFyaSB3ZWIgc2VsZWN0aW9uCitU
ZXh0IGFmdGVyCitUaGlzIHRlc3RzIHRoYXQgYWNjZXNzaWJpbGl0eSBjYW4gcHVsbCBvdXQgdGhl
IHNlbGVjdGVkIHRleHQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZm9j
dXNlZEVsZW1lbnQuc3RyaW5nRm9yU2VsZWN0aW9uIGlzICdUaGlzJworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9zZWxlY3RlZC10ZXh0Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nl
c3NpYmlsaXR5L3NlbGVjdGVkLXRleHQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9zZWxlY3RlZC10ZXh0Lmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9lZGl0aW5nL2VkaXRpbmcuanMi
IGxhbmd1YWdlPSJKYXZhU2NyaXB0IiB0eXBlPSJ0ZXh0L0phdmFTY3JpcHQiID48L3NjcmlwdD4K
KzxzY3JpcHQ+Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Cis8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKworVGV4dCBiZWZvcmUKKzxkaXYgdGFiaW5kZXg9MCBp
ZD0iY29udGFpbmVyIj5UaGlzIGlzIGEgdGVzdCBvZiBTYWZhcmkgd2ViIHNlbGVjdGlvbjwvZGl2
PgorVGV4dCBhZnRlcgorCis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorCis8c2NyaXB0PgorCisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhh
dCBhY2Nlc3NpYmlsaXR5IGNhbiBwdWxsIG91dCB0aGUgc2VsZWN0ZWQgdGV4dCIpOworCisgICAg
aWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIikuZm9jdXMoKTsKKyAgICAgICAgc2V0U2VsZWN0aW9u
Q29tbWFuZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJyksIDAsIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKSwgMCk7CisKKyAgICAgICAgdmFyIGZvY3VzZWRF
bGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAgICAg
ICAgLy8gU2VsZWN0OiAiVGhpcyBpcyIKKyAgICAgICAgZm9yICh2YXIgayA9IDA7IGsgPCA3OyBr
KyspIAorICAgICAgICAgICAgZm9jdXNlZEVsZW1lbnQuaW5jcmVhc2VUZXh0U2VsZWN0aW9uKCk7
CisKKyAgICAgICAgLy8gIlVuc2VsZWN0OiAiIGlzIgorICAgICAgICBmb3IgKHZhciBrID0gMDsg
ayA8IDM7IGsrKykgCisgICAgICAgICAgICBmb2N1c2VkRWxlbWVudC5kZWNyZWFzZVRleHRTZWxl
Y3Rpb24oKTsKKworICAgICAgICBzaG91bGRCZSgiZm9jdXNlZEVsZW1lbnQuc3RyaW5nRm9yU2Vs
ZWN0aW9uIiwgIidUaGlzJyIpOworICAgIH0KKworICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS90YWItcm9s
ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25l
LXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3RhYi1yb2xlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0
eS90YWItcm9sZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNSBAQAor
dGFiMQorCitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHJvbGU9J3RhYicgc2hvd3MgdXAgYXMg
YSBkaXN0aW5jdCBlbGVtZW50IGZyb20gYnV0dG9uLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyB0YWIuaXBob25lTGFiZWwgaXMgJ0FYTGFiZWw6IHRhYjEnCitQQVNTIGJ1
dHRvbi5pcGhvbmVUcmFpdHMgIT0gdGFiLmlwaG9uZVRyYWl0cyBpcyB0cnVlCitQQVNTIHRhYi5p
cGhvbmVUcmFpdHMgIT0gMCBpcyB0cnVlCitQQVNTIHRhYi5pc1NlbGVjdGVkIGlzIHRydWUKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvdGFiLXJv
bGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxh
dG9yL2FjY2Vzc2liaWxpdHkvdGFiLXJvbGUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS90YWItcm9sZS5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOwor
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IGlkPSJmYWtlQnV0dG9uIiB0YWJpbmRleD0w
IHJvbGU9InRhYiIgYXJpYS1zZWxlY3RlZD0idHJ1ZSI+dGFiMTwvZGl2PgorCis8aW5wdXQgdHlw
ZT0iYnV0dG9uIiB0YWJpbmRleD0wIGlkPSJyZWFsQnV0dG9uIiB2YWx1ZT0iYnV0dG9uIj4KKwor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNj
cmlwdD4KKworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHJvbGU9
J3RhYicgc2hvd3MgdXAgYXMgYSBkaXN0aW5jdCBlbGVtZW50IGZyb20gYnV0dG9uLiIpOworCisg
ICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworCisgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJmYWtlQnV0dG9uIikuZm9jdXMoKTsKKyAgICAgICAgdmFyIHRh
YiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworICAgICAgICBzaG91
bGRCZSgidGFiLmlwaG9uZUxhYmVsIiwgIidBWExhYmVsOiB0YWIxJyIpOworCisgICAgICAgIC8v
IE5vdyBtYWtlIHN1cmUgaXQgaGFzIHRoZSBzYW1lIHRyYWl0cyBhcyBhIGJ1dHRvbi4KKyAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlYWxCdXR0b24iKS5mb2N1cygpOworICAgICAg
ICB2YXIgYnV0dG9uID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisK
KyAgICAgICAgc2hvdWxkQmVUcnVlKCJidXR0b24uaXBob25lVHJhaXRzICE9IHRhYi5pcGhvbmVU
cmFpdHMiKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJ0YWIuaXBob25lVHJhaXRzICE9IDAiKTsK
KworICAgICAgICBzaG91bGRCZVRydWUoInRhYi5pc1NlbGVjdGVkIik7CisgICAgfQorCisgICAg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9i
b2R5PgorPC9odG1sPgorCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxh
dG9yL2FjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3Itcm93LWNvbC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3Np
YmlsaXR5L3RhYmxlLWNlbGwtZm9yLXJvdy1jb2wtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3Rh
YmxlLWNlbGwtZm9yLXJvdy1jb2wtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTYgQEAKK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgeW91IGNhbiByZXRyaWV2ZSBlbGVt
ZW50cyB3aXRoaW4gYSBjZWxsIGJ5IHRoZWlyIHJvdyBhbmQgY29sdW1uCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIGNlbGwyLmNlbGxGb3JDb2x1bW5BbmRSb3coMiwgMCku
aXNFcXVhbChoZWFkZXIpIGlzIHRydWUKK1BBU1MgaGVhZGVyLmNlbGxGb3JDb2x1bW5BbmRSb3co
MSwgMikuaXNFcXVhbChjZWxsNikgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCitoZWFkZXIgMQloZWFkZXIgMgloZWFkZXIgMworY2VsbCAx
CQorY2VsbAorMgorY2VsbCA0CWNlbGwgNQljZWxsCis2CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3Itcm93LWNv
bC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0
b3IvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZvci1yb3ctY29sLmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkv
dGFibGUtY2VsbC1mb3Itcm93LWNvbC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDkg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCis8dGFi
bGUgYm9yZGVyPTE+Cis8dHI+PHRoPmhlYWRlciAxPC90aD48dGg+aGVhZGVyIDI8L3RoPjx0aCB0
YWJpbmRleD0wIGlkPSJoZWFkZXIiPmhlYWRlciAzPC90aD48L3RyPgorPHRyPjx0ZD5jZWxsIDE8
L3RkPjx0ZCBjb2xzcGFuPTI+PGRpdiByb2xlPSJidXR0b24iIGlkPSJjZWxsMiIgdGFiaW5kZXg9
MD5jZWxsPC9kaXY+IDI8L3RkPjwvdHI+Cis8dHI+PHRkPmNlbGwgNDwvdGQ+PHRkIGlkPSJjZWxs
NSIgdGFiaW5kZXg9MD5jZWxsIDU8L3RkPjx0ZD5jZWxsIDxkaXYgcm9sZT0iYnV0dG9uIiBpZD0i
Y2VsbDYiIHRhYmluZGV4PTA+NjwvZGl2PjwvdGQ+PC90cj4KKworPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KKworICAgIGRlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHlvdSBjYW4gcmV0cmlldmUgZWxlbWVu
dHMgd2l0aGluIGEgY2VsbCBieSB0aGVpciByb3cgYW5kIGNvbHVtbiIpOworCisgICAgaWYgKHdp
bmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworCisgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjZWxsMiIpLmZvY3VzKCk7CisgICAgICAgIHZhciBjZWxsMiA9IGFjY2Vzc2li
aWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworCisgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJoZWFkZXIiKS5mb2N1cygpOworICAgICAgICB2YXIgaGVhZGVyID0gYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAgICAgICAgc2hvdWxkQmVUcnVl
KCJjZWxsMi5jZWxsRm9yQ29sdW1uQW5kUm93KDIsIDApLmlzRXF1YWwoaGVhZGVyKSIpOworCisg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZWxsNSIpLmZvY3VzKCk7CisgICAgICAg
IHZhciBjZWxsNiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworICAg
ICAgICBzaG91bGRCZVRydWUoImhlYWRlci5jZWxsRm9yQ29sdW1uQW5kUm93KDEsIDIpLmlzRXF1
YWwoY2VsbDYpIik7CisKKyAgICB9CisKKyAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0bWw+CisKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxs
LXJhbmdlcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtcmFuZ2VzLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0
b3IvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLXJhbmdlcy1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwxOCBAQAorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBlbGVtZW50
cyB3aXRoaW4gdGFibGVzIGNlbGxzIHJldHVybiB0aGUgY29ycmVjdCByb3csIGNvbCByYW5nZXMK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgY2VsbDIucm93SW5kZXhSYW5n
ZSgpIGlzICd7MSwgMX0nCitQQVNTIGNlbGwyLmNvbHVtbkluZGV4UmFuZ2UoKSBpcyAnezEsIDJ9
JworUEFTUyBjZWxsNi5yb3dJbmRleFJhbmdlKCkgaXMgJ3syLCAxfScKK1BBU1MgY2VsbDYuY29s
dW1uSW5kZXhSYW5nZSgpIGlzICd7MiwgMX0nCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKK2hlYWRlciAxCWhlYWRlciAyCWhlYWRlciAzCitjZWxsIDEJ
CitjZWxsCisyCitjZWxsIDQJY2VsbCA1CWNlbGwKKzYKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLXJhbmdlcy5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNj
ZXNzaWJpbGl0eS90YWJsZS1jZWxsLXJhbmdlcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwt
cmFuZ2VzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gZmFsc2U7CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKzx0YWJsZSBib3JkZXI9MT4KKzx0
cj48dGg+aGVhZGVyIDE8L3RoPjx0aD5oZWFkZXIgMjwvdGg+PHRoIHRhYmluZGV4PTAgaWQ9Imhl
YWRlciI+aGVhZGVyIDM8L3RoPjwvdHI+Cis8dHI+PHRkPmNlbGwgMTwvdGQ+PHRkIGNvbHNwYW49
Mj48ZGl2IHJvbGU9ImJ1dHRvbiIgaWQ9ImNlbGwyIiB0YWJpbmRleD0wPmNlbGw8L2Rpdj4gMjwv
dGQ+PC90cj4KKzx0cj48dGQ+Y2VsbCA0PC90ZD48dGQ+Y2VsbCA1PC90ZD48dGQ+Y2VsbCA8ZGl2
IHJvbGU9ImJ1dHRvbiIgaWQ9ImNlbGw2IiB0YWJpbmRleD0wPjY8L2Rpdj48L3RkPjwvdHI+CisK
KzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxz
Y3JpcHQ+CisKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBlbGVt
ZW50cyB3aXRoaW4gdGFibGVzIGNlbGxzIHJldHVybiB0aGUgY29ycmVjdCByb3csIGNvbCByYW5n
ZXMiKTsKKworICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKworICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2VsbDIiKS5mb2N1cygpOworICAgICAgICB2
YXIgY2VsbDIgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKKyAgICAg
ICAgc2hvdWxkQmUoImNlbGwyLnJvd0luZGV4UmFuZ2UoKSIsICInezEsIDF9JyIpOworICAgICAg
ICBzaG91bGRCZSgiY2VsbDIuY29sdW1uSW5kZXhSYW5nZSgpIiwgIid7MSwgMn0nIik7CisKKyAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNlbGw2IikuZm9jdXMoKTsKKyAgICAgICAg
dmFyIGNlbGw2ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisgICAg
ICAgIHNob3VsZEJlKCJjZWxsNi5yb3dJbmRleFJhbmdlKCkiLCAiJ3syLCAxfSciKTsKKyAgICAg
ICAgc2hvdWxkQmUoImNlbGw2LmNvbHVtbkluZGV4UmFuZ2UoKSIsICInezIsIDF9JyIpOworICAg
IH0KKworICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBo
b25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3RhYmxlcy1saXN0cy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3Np
YmlsaXR5L3RhYmxlcy1saXN0cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvdGFibGVzLWxpc3Rz
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE5IEBACitpdGVtIDEKK2xp
c3QgaXRlbSAxCit0YWJsZSBpdGVtIDEJdGFibGUgaXRlbSAyCXRhYmxlIGl0ZW0gMworbGFuZG1h
cmsgMQorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBpdGVtcyBpbiBsaXN0cywgdGFibGVzIGFu
ZCBsYW5kbWFya3MgaGF2ZSBkaWZmZXJlbnQgdHJhaXRzIG9uIHRoZW0sIGJlY2F1c2UgdGhleSdy
ZSBjb250YWluZWQgaW4gZGlmZmVyZW50IGl0ZW1zLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyBsaXN0SXRlbS5pcGhvbmVUcmFpdHMgIT0gaW5pdGlhbEl0ZW0uaXBob25l
VHJhaXRzIGlzIHRydWUKK1BBU1MgbGlzdEl0ZW0uaXBob25lVHJhaXRzICE9IHRhYmxlSXRlbS5p
cGhvbmVUcmFpdHMgaXMgdHJ1ZQorUEFTUyBsaXN0SXRlbS5pcGhvbmVUcmFpdHMgIT0gbGFuZG1h
cmtJdGVtLmlwaG9uZVRyYWl0cyBpcyB0cnVlCitQQVNTIHRhYmxlSXRlbS5pcGhvbmVUcmFpdHMg
IT0gaW5pdGlhbEl0ZW0uaXBob25lVHJhaXRzIGlzIHRydWUKK1BBU1MgdGFibGVJdGVtLmlwaG9u
ZVRyYWl0cyAhPSBsYW5kbWFya0l0ZW0uaXBob25lVHJhaXRzIGlzIHRydWUKK1BBU1MgbGFuZG1h
cmtJdGVtLmlwaG9uZVRyYWl0cyAhPSBpbml0aWFsSXRlbS5pcGhvbmVUcmFpdHMgaXMgdHJ1ZQor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS90YWJs
ZXMtbGlzdHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUt
c2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvdGFibGVzLWxpc3RzLmh0bWwJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvdGFi
bGVzLWxpc3RzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2MCBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gZmFsc2U7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKworaXRl
bSAxCisKKzxvbD4KKzxsaT5saXN0IGl0ZW0gMTwvbGk+Cis8L29sPgorCis8dGFibGUgYm9yZGVy
PTE+Cis8dHI+PHRkPnRhYmxlIGl0ZW0gMTwvdGQ+Cis8dGQ+dGFibGUgaXRlbSAyPC90ZD4KKzx0
ZD50YWJsZSBpdGVtIDM8L3RkPjwvdHI+Cis8L3RhYmxlPgorCis8ZGl2IHJvbGU9Im1haW4iPgor
PGI+bGFuZG1hcmsgMTwvYj4KKzwvZGl2PgorCis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorCisgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgaXRlbXMgaW4gbGlzdHMsIHRhYmxlcyBhbmQgbGFuZG1h
cmtzIGhhdmUgZGlmZmVyZW50IHRyYWl0cyBvbiB0aGVtLCBiZWNhdXNlIHRoZXkncmUgY29udGFp
bmVkIGluIGRpZmZlcmVudCBpdGVtcy4iKTsKKworICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIpIHsKKworICAgICAgICB2YXIgcm9vdCA9IGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLnJvb3RFbGVtZW50OworICAgICAgIAorICAgICAgICB2YXIgaW5pdGlhbEl0ZW0gPSByb290
LmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCk7CisgICAgICAgIHZhciBsaXN0SXRlbSA9
IHJvb3QuY2hpbGRBdEluZGV4KDEpLmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCk7Cisg
ICAgICAgIHZhciB0YWJsZUl0ZW0gPSByb290LmNoaWxkQXRJbmRleCgyKS5jaGlsZEF0SW5kZXgo
MCk7CisgICAgICAgIHZhciBsYW5kbWFya0l0ZW0gPSByb290LmNoaWxkQXRJbmRleCg1KS5jaGls
ZEF0SW5kZXgoMCkuY2hpbGRBdEluZGV4KDApOworCisgICAgICAgIHNob3VsZEJlKCJsaXN0SXRl
bS5pcGhvbmVUcmFpdHMgIT0gaW5pdGlhbEl0ZW0uaXBob25lVHJhaXRzIiwgInRydWUiKTsKKyAg
ICAgICAgc2hvdWxkQmUoImxpc3RJdGVtLmlwaG9uZVRyYWl0cyAhPSB0YWJsZUl0ZW0uaXBob25l
VHJhaXRzIiwgInRydWUiKTsKKyAgICAgICAgc2hvdWxkQmUoImxpc3RJdGVtLmlwaG9uZVRyYWl0
cyAhPSBsYW5kbWFya0l0ZW0uaXBob25lVHJhaXRzIiwgInRydWUiKTsKKworICAgICAgICBzaG91
bGRCZSgidGFibGVJdGVtLmlwaG9uZVRyYWl0cyAhPSBpbml0aWFsSXRlbS5pcGhvbmVUcmFpdHMi
LCAidHJ1ZSIpOworICAgICAgICBzaG91bGRCZSgidGFibGVJdGVtLmlwaG9uZVRyYWl0cyAhPSBs
YW5kbWFya0l0ZW0uaXBob25lVHJhaXRzIiwgInRydWUiKTsKKworICAgICAgICBzaG91bGRCZSgi
bGFuZG1hcmtJdGVtLmlwaG9uZVRyYWl0cyAhPSBpbml0aWFsSXRlbS5pcGhvbmVUcmFpdHMiLCAi
dHJ1ZSIpOworICAgIH0KKworICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Njcmlw
dD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS90ZXh0LWxpbmUtbm8taWdub3Jl
ZC1lbGVtZW50cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3RleHQtbGluZS1uby1pZ25vcmVkLWVs
ZW1lbnRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS90ZXh0LWxpbmUtbm8taWdub3JlZC1lbGVt
ZW50cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMSBAQAordGV4dCBs
aW5ldGV4dCBsaW5lCitUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IHdoZW4gYXNraW5nIGZvciBhIGxp
bmUgb2YgdGV4dCwgd2UgZG8gbm90IGluY2x1ZGUgb2JqZWN0cyB0aGF0IHNob3VsZCBiZSBpZ25v
cmVkLiBUaGUgaW1hZ2UgaW4gdGhpcyBleGFtcGxlIHNob3VsZCBub3QgYXBwZWFyIHNvIHRoZSBh
cnJheSBvZiBlbGVtZW50cyBzaG91bGQgYmUgc2l6ZSBvZiAyLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyBhcnJheS5sZW5ndGggaXMgMgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS90ZXh0LWxpbmUtbm8taWdub3JlZC1l
bGVtZW50cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1z
aW11bGF0b3IvYWNjZXNzaWJpbGl0eS90ZXh0LWxpbmUtbm8taWdub3JlZC1lbGVtZW50cy5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9h
Y2Nlc3NpYmlsaXR5L3RleHQtbGluZS1uby1pZ25vcmVkLWVsZW1lbnRzLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzNSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dD4KK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKworPGRpdj48YSBocmVmPSIjIj50ZXh0IGxpbmU8
L2E+PGltZyBhbHQ9IiIgd2lkdGg9MSBoZWlnaHQ9MTAgc3JjPSIiPjxhIGhyZWY9IiMiPnRleHQg
bGluZTwvYT48L2Rpdj4KKworCis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorCisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBl
bnN1cmVzIHRoYXQgd2hlbiBhc2tpbmcgZm9yIGEgbGluZSBvZiB0ZXh0LCB3ZSBkbyBub3QgaW5j
bHVkZSBvYmplY3RzIHRoYXQgc2hvdWxkIGJlIGlnbm9yZWQuIFRoZSBpbWFnZSBpbiB0aGlzIGV4
YW1wbGUgc2hvdWxkIG5vdCBhcHBlYXIgc28gdGhlIGFycmF5IG9mIGVsZW1lbnRzIHNob3VsZCBi
ZSBzaXplIG9mIDIuIik7CisKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVy
KSB7CisKKyAgICAgICAgdmFyIG9iaiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLnJvb3RFbGVt
ZW50OworICAgICAgICB2YXIgYXJyYXkgPSBvYmouZWxlbWVudHNGb3JSYW5nZSgwLCAxNik7Cisg
ICAgICAgIHNob3VsZEJlKCJhcnJheS5sZW5ndGgiLCAiMiIpOworICAgIH0KKworICAgIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNj
ZXNzaWJpbGl0eS90ZXh0LW1hcmtlci1saXN0LWl0ZW0tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS90
ZXh0LW1hcmtlci1saXN0LWl0ZW0tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3RleHQtbWFya2Vy
LWxpc3QtaXRlbS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMSBAQAor
aXRlbSAxCitUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IHdoZW4gYXNraW5nIGZvciB0aGUgc3RyaW5n
IGZvciBhIHJhbmdlLCBpdCBpbmNsdWRlcyB0aGUgbGlzdCBpdGVtIG1hcmtlcgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB0ZXh0IGlzICcxLiBpdGVtIDEnCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3RleHQtbWFya2Vy
LWxpc3QtaXRlbS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9u
ZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS90ZXh0LW1hcmtlci1saXN0LWl0ZW0uaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNz
aWJpbGl0eS90ZXh0LW1hcmtlci1saXN0LWl0ZW0uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDM2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0PgordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IGZhbHNlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgaWQ9ImJvZHkiPgorCis8b2w+Cis8bGk+aXRlbSAxPC9saT4KKzwvb2w+CisKKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisK
KyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCB3aGVuIGFza2luZyBmb3Ig
dGhlIHN0cmluZyBmb3IgYSByYW5nZSwgaXQgaW5jbHVkZXMgdGhlIGxpc3QgaXRlbSBtYXJrZXIi
KTsKKworICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKworICAgICAg
ICB2YXIgb2JqID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVsZW1lbnQ7CisgICAgICAg
IHZhciB0ZXh0ID0gb2JqLnN0cmluZ0ZvclJhbmdlKDAsIDYpOworICAgICAgICBzaG91bGRCZSgi
dGV4dCIsICInMS4gaXRlbSAxJyIpOworICAgIH0KKworICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS90ZXh0
LW1hcmtlci12YWxpZGF0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvdGV4dC1tYXJrZXItdmFs
aWRhdGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvdGV4dC1tYXJrZXItdmFsaWRhdGlvbi1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNCBAQAorZWxlbWVudCAxCitl
bGVtZW50IDIKK2VsZW1lbnQgMworZWxlbWVudCA0CitUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IGEg
dGV4dCByYW5nZSBjYW4gYmUgZm91bmQgZm9yIGFuIGVsZW1lbnQgd2l0aGluIGEgd2ViIHBhZ2Uu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHN1Y2NlZWRlZCBpcyB0cnVl
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3Rl
eHQtbWFya2VyLXZhbGlkYXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvdGV4dC1tYXJrZXItdmFsaWRhdGlv
bi5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVs
YXRvci9hY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyLXZhbGlkYXRpb24uaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+CisKKzxkaXY+ZWxlbWVudCAxPC9kaXY+Cis8ZGl2PmVsZW1lbnQgMjwv
ZGl2PgorPGRpdj5lbGVtZW50IDM8L2Rpdj4KKzxkaXY+ZWxlbWVudCA0PC9kaXY+CisKKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+
CisKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBhIHRleHQgcmFuZ2Ug
Y2FuIGJlIGZvdW5kIGZvciBhbiBlbGVtZW50IHdpdGhpbiBhIHdlYiBwYWdlLiAiKTsKKworICAg
IGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKworICAgICAgICB2YXIgb2Jq
ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVsZW1lbnQuY2hpbGRBdEluZGV4KDIpOwor
CisgICAgICAgIHZhciB0ZXh0UG9zID0gb2JqLmlwaG9uZUVsZW1lbnRUZXh0UG9zaXRpb247Cisg
ICAgICAgIHZhciB0ZXh0TGVuID0gb2JqLmlwaG9uZUVsZW1lbnRUZXh0TGVuZ3RoOworCisgICAg
ICAgIHZhciBzdWNjZWVkZWQgPSB0ZXh0UG9zID09IDIwICYmIHRleHRMZW4gPT0gOTsKKyAgICAg
ICAgc2hvdWxkQmUoInN1Y2NlZWRlZCIsICJ0cnVlIik7CisgICAgfQorCisgICAgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9o
dG1sPgorCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vz
c2liaWxpdHkvdGV4dC1yb2xlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvdGV4dC1yb2xlLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11
bGF0b3IvYWNjZXNzaWJpbGl0eS90ZXh0LXJvbGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMTEgQEAKK2hlbGxvIHdvcmxkIHRoaXMgaXMgYSB0ZXN0IG1vcmUgdGVzdAor
VGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCB0aGUgInRleHQiIHJvbGUgd29ya3MgYXMgZXhwZWN0ZWQu
IFRoYXQgaXMsIGl0IGNyZWF0ZXMgYSBzdGF0aWMgdGV4dCBvYmplY3QgdGhhdCBjYW4gYmUgY29u
dHJvbGxlZCB3aXRoIGFyaWEtbGFiZWwuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIHRleHRyb2xlLmlwaG9uZUxhYmVsIGlzICdBWExhYmVsOiBhbGwgYXQgb25jZScKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvdGV4dC1y
b2xlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVs
YXRvci9hY2Nlc3NpYmlsaXR5L3RleHQtcm9sZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaXBob25lLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3RleHQtcm9sZS5o
dG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzggQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKzxzY3JpcHQ+Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Cis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSI+CisKKzxkaXYgaWQ9InRleHRy
b2xlIiB0YWJpbmRleD0wIHJvbGU9InRleHQiIGFyaWEtbGFiZWw9ImFsbCBhdCBvbmNlIj4KKzxi
PmhlbGxvIHdvcmxkPC9iPgorPGk+dGhpcyBpcyBhIHRlc3Q8L2k+Cis8YSBocmVmPSIjIj5tb3Jl
IHRlc3Q8L2E+Cis8L2Rpdj4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KKworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Qg
ZW5zdXJlcyB0aGF0IHRoZSBcInRleHRcIiByb2xlIHdvcmtzIGFzIGV4cGVjdGVkLiBUaGF0IGlz
LCBpdCBjcmVhdGVzIGEgc3RhdGljIHRleHQgb2JqZWN0IHRoYXQgY2FuIGJlIGNvbnRyb2xsZWQg
d2l0aCBhcmlhLWxhYmVsLiIpOworCisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJv
bGxlcikgeworCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXh0cm9sZSIpLmZv
Y3VzKCk7CisgICAgICAgIHZhciB0ZXh0cm9sZSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLnJv
b3RFbGVtZW50LmNoaWxkQXRJbmRleCgwKTsKKyAgICAgICAgc2hvdWxkQmUoInRleHRyb2xlLmlw
aG9uZUxhYmVsIiwgIidBWExhYmVsOiBhbGwgYXQgb25jZSciKTsKKyAgICB9CisKKyAgICBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgorCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2Fj
Y2Vzc2liaWxpdHkvdGV4dGZpZWxkLWluLWF4dmFsdWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS90
ZXh0ZmllbGQtaW4tYXh2YWx1ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvdGV4dGZpZWxkLWlu
LWF4dmFsdWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKKwor
SDEgVGVzdAorCisKKworVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCB0ZXh0ZmllbGRzIHJldHVybiB0
aGVpciBjb250ZW50IGluIGFjY2Vzc2liaWxpdHlWYWx1ZSwgYW5kIGxhYmVsIGluIGF4TGFiZWwu
IExpa2V3aXNlLCBvdGhlciBlbGVtZW50cyBhbmQgdGV4dCBzdGlsbCByZXR1cm4gdGhlaXIgaW5m
byB0aHJvdWdoIGF4TGFiZWwuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IHRleHRmaWVsZC5pcGhvbmVMYWJlbCBpcyAnQVhMYWJlbDogU2VhcmNoJworUEFTUyB0ZXh0Zmll
bGQuaXBob25lVmFsdWUgaXMgJ0FYVmFsdWU6IGhlbGxvJworUEFTUyBoMS5pcGhvbmVMYWJlbCBp
cyAnQVhMYWJlbDogSDEgVGVzdCcKK1BBU1MgaDEuaXBob25lVmFsdWUgaXMgJ0FYVmFsdWU6IDEn
CitQQVNTIGJ1dHRvbi5pcGhvbmVMYWJlbCBpcyAnQVhMYWJlbDogQnV0dG9uIFRpdGxlJworUEFT
UyBidXR0b24uaXBob25lVmFsdWUgaXMgJ0FYVmFsdWU6ICcKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvdGV4dGZpZWxkLWluLWF4dmFsdWUuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2Fj
Y2Vzc2liaWxpdHkvdGV4dGZpZWxkLWluLWF4dmFsdWUuaHRtbAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS90ZXh0Zmll
bGQtaW4tYXh2YWx1ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQ+Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
ZmFsc2U7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9keSI+CisK
KzxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idGV4dGZpZWxkIiBzaXplPSIyMCIgdmFsdWU9ImhlbGxv
IiBhcmlhLWxhYmVsPSJTZWFyY2giIHRhYmluZGV4PSIwIj48QlI+Cis8aDEgdGFiaW5kZXg9IjAi
IGlkPSJoMSI+SDEgVGVzdDwvaDE+PEJSPgorPGlucHV0IHR5cGU9ImJ1dHRvbiIgaWQ9ImJ1dHRv
biIgdmFsdWU9IkJ1dHRvbiBUaXRsZSIgdGFiaW5kZXg9IjAiPgorCisKKzxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisKKyAgICBk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCB0ZXh0ZmllbGRzIHJldHVybiB0aGVp
ciBjb250ZW50IGluIGFjY2Vzc2liaWxpdHlWYWx1ZSwgYW5kIGxhYmVsIGluIGF4TGFiZWwuIExp
a2V3aXNlLCBvdGhlciBlbGVtZW50cyBhbmQgdGV4dCBzdGlsbCByZXR1cm4gdGhlaXIgaW5mbyB0
aHJvdWdoIGF4TGFiZWwuIik7CisKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9s
bGVyKSB7CisKKyAgICAgICAgdmFyIHRleHRmaWVsZCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LnJvb3RFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCk7CisgICAgICAgIHNo
b3VsZEJlKCJ0ZXh0ZmllbGQuaXBob25lTGFiZWwiLCAiJ0FYTGFiZWw6IFNlYXJjaCciKTsKKyAg
ICAgICAgc2hvdWxkQmUoInRleHRmaWVsZC5pcGhvbmVWYWx1ZSIsICInQVhWYWx1ZTogaGVsbG8n
Iik7CisKKyAgICAgICAgdmFyIGgxID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVsZW1l
bnQuY2hpbGRBdEluZGV4KDEpOworICAgICAgICBzaG91bGRCZSgiaDEuaXBob25lTGFiZWwiLCAi
J0FYTGFiZWw6IEgxIFRlc3QnIik7CisgICAgICAgIC8vIFNob3VsZCBiZSAxIGZvciB0aGUgaGVh
ZGluZyBsZXZlbC4KKyAgICAgICAgc2hvdWxkQmUoImgxLmlwaG9uZVZhbHVlIiwgIidBWFZhbHVl
OiAxJyIpOworCisgICAgICAgIHZhciBidXR0b24gPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5y
b290RWxlbWVudC5jaGlsZEF0SW5kZXgoMikuY2hpbGRBdEluZGV4KDApOworICAgICAgICBzaG91
bGRCZSgiYnV0dG9uLmlwaG9uZUxhYmVsIiwgIidBWExhYmVsOiBCdXR0b24gVGl0bGUnIik7Cisg
ICAgICAgIHNob3VsZEJlKCJidXR0b24uaXBob25lVmFsdWUiLCAiJ0FYVmFsdWU6ICciKTsKKyAg
ICB9CisKKyAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgorCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pcGhv
bmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvdXJsLXRlc3QtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0
eS91cmwtdGVzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pcGhvbmUtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvdXJsLXRlc3QtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTUgQEAKKwordGVzdAorCitUaGlzIHRlc3QgZW5z
dXJlcyB0aGF0IHdlIGNhbiByZXRyaWV2ZSBVUkxzIGZvciBhcHByb3ByaWF0ZSBlbGVtZW50cy4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZWxlbWVudC51cmwuaW5kZXhP
ZigndXJsLXRlc3QxLmh0bWwnKSAhPSAtMSBpcyB0cnVlCitQQVNTIGVsZW1lbnQudXJsLmluZGV4
T2YoJ3VybC10ZXN0Mi5odG1sJykgIT0gLTEgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnVybC5pbmRl
eE9mKCd1cmwtdGVzdDMucG5nJykgIT0gLTEgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS91cmwtdGVzdC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lwaG9uZS1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS91
cmwtdGVzdC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaXBob25l
LXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L3VybC10ZXN0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw0MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdD4KK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5IGlkPSJib2R5Ij4KKworPGlucHV0IHR5cGU9ImltYWdlIiBzcmM9InVybC10ZXN0MS5o
dG1sIj48QlI+Cis8YSBocmVmPSIjdXJsLXRlc3QyLmh0bWwiPnRlc3Q8L2E+PEJSPgorPGltZyBz
cmM9InVybC10ZXN0My5wbmciIHdpZHRoPTEwMCBoZWlnaHQ9MTAwIGFsdD0idGVzdCI+PEJSPgor
CisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisK
KzxzY3JpcHQ+CisKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCB3ZSBj
YW4gcmV0cmlldmUgVVJMcyBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuIik7CisKKyAgICBpZiAo
d2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisKKyAgICAgICAgdmFyIGVsZW1lbnQg
PSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5yb290RWxlbWVudC5jaGlsZEF0SW5kZXgoMCkuY2hp
bGRBdEluZGV4KDApOworICAgICAgICBzaG91bGRCZSgiZWxlbWVudC51cmwuaW5kZXhPZigndXJs
LXRlc3QxLmh0bWwnKSAhPSAtMSIsICJ0cnVlIik7CisKKyAgICAgICAgZWxlbWVudCA9IGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLnJvb3RFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5k
ZXgoMSk7CisgICAgICAgIHNob3VsZEJlKCJlbGVtZW50LnVybC5pbmRleE9mKCd1cmwtdGVzdDIu
aHRtbCcpICE9IC0xIiwgInRydWUiKTsKKworICAgICAgICBlbGVtZW50ID0gYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIucm9vdEVsZW1lbnQuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgyKTsK
KyAgICAgICAgc2hvdWxkQmUoImVsZW1lbnQudXJsLmluZGV4T2YoJ3VybC10ZXN0My5wbmcnKSAh
PSAtMSIsICJ0cnVlIik7CisgICAgfQorCisgICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
Kzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>