<?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>189867</bug_id>
          
          <creation_ts>2018-09-21 16:47:38 -0700</creation_ts>
          <short_desc>Add PointerEvent, plus feature flag, plus Web Platform Tests</short_desc>
          <delta_ts>2018-09-22 16:38:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>cdumez</cc>
    
    <cc>dave+webkit</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1462172</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-09-21 16:47:38 -0700</bug_when>
    <thetext>Add PointerEvent, plus feature flag, plus Web Platform Tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462173</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-21 16:48:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/44697384&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462179</commentid>
    <comment_count>2</comment_count>
      <attachid>350457</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-09-21 16:59:21 -0700</bug_when>
    <thetext>Created attachment 350457
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462198</commentid>
    <comment_count>3</comment_count>
      <attachid>350457</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-09-21 17:35:51 -0700</bug_when>
    <thetext>Comment on attachment 350457
Patch

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

Please also add to features.json

&gt; Source/WebCore/dom/PointerEvent.cpp:35
&gt; +PointerEvent::PointerEvent()
&gt; +{
&gt; +}

Remove or use = default

&gt; Source/WebCore/dom/PointerEvent.cpp:48
&gt; +    , m_pointerId(WTFMove(initializer.pointerId))
&gt; +    , m_width(WTFMove(initializer.width))
&gt; +    , m_height(WTFMove(initializer.height))
&gt; +    , m_pressure(WTFMove(initializer.pressure))
&gt; +    , m_tangentialPressure(WTFMove(initializer.tangentialPressure))
&gt; +    , m_tiltX(WTFMove(initializer.tiltX))
&gt; +    , m_tiltY(WTFMove(initializer.tiltY))
&gt; +    , m_twist(WTFMove(initializer.twist))
&gt; +    , m_pointerType(WTFMove(initializer.pointerType))
&gt; +    , m_isPrimary(WTFMove(initializer.isPrimary))

No need to WTFMove POD

&gt; Source/WebCore/page/RuntimeEnabledFeatures.h:340
&gt; +    bool m_areWebAnimationsEnabled { true };
&gt; +    bool m_isWebAnimationsCSSIntegrationEnabled { false };
&gt; +    bool m_isImageBitmapOffscreenCanvasEnabled { true };
&gt; +    bool m_isCacheAPIEnabled { false };
&gt; +    bool m_isFetchAPIEnabled { true };
&gt; +    bool m_isWebSocketEnabled { true };
&gt; +    bool m_fetchAPIKeepAliveEnabled { false };
&gt; +    bool m_inspectorAdditionsEnabled { false };
&gt; +    bool m_webVREnabled { false };
&gt; +    bool m_accessibilityObjectModelEnabled { false };
&gt; +    bool m_ariaReflectionEnabled { true };
&gt; +    bool m_resourceLoadStatisticsDebugMode { false };
&gt; +    bool m_isRestrictedHTTPResponseAccess { true };
&gt; +    bool m_crossOriginResourcePolicyEnabled { true };
&gt; +    bool m_isWebGLCompressedTextureASTCSupportEnabled { false };
&gt; +    bool m_promptForStorageAccessAPIEnabled { false };
&gt; +    bool m_isServerTimingEnabled { false };
&gt; +    bool m_experimentalPlugInSandboxProfilesEnabled { false };
&gt; +    bool m_disabledAdaptationsMetaTagEnabled { false };
&gt; +    bool m_attrStyleEnabled { false };
&gt; +    bool m_webAPIStatisticsEnabled { false };
&gt; +    bool m_CSSCustomPropertiesAndValuesEnabled { false };
&gt; +    bool m_pointerEventsEnabled { false };

Please sort.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462200</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-09-21 17:52:09 -0700</bug_when>
    <thetext>Committed r236378: &lt;https://trac.webkit.org/changeset/236378&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462206</commentid>
    <comment_count>5</comment_count>
    <who name="David Tapuska">dave+webkit</who>
    <bug_when>2018-09-21 18:13:31 -0700</bug_when>
    <thetext>Will https://bugs.webkit.org/show_bug.cgi?id=133112 be fixed too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462424</commentid>
    <comment_count>6</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-09-22 15:23:44 -0700</bug_when>
    <thetext>(In reply to David Tapuska from comment #5)
&gt; Will https://bugs.webkit.org/show_bug.cgi?id=133112 be fixed too?

Yes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462442</commentid>
    <comment_count>7</comment_count>
    <who name="David Tapuska">dave+webkit</who>
    <bug_when>2018-09-22 16:38:26 -0700</bug_when>
    <thetext>Whoot! Great work.. looking forward to testing for interop.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350457</attachid>
            <date>2018-09-21 16:59:21 -0700</date>
            <delta_ts>2018-09-21 17:35:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189867-20180921165920.patch</filename>
            <type>text/plain</type>
            <size>114824</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNThhYzE3ZGFmYmEwM2Nm
Y2RjM2Y2ZTQ0NDhjMjQ1Y2Y3NjdjOGFmNS4uZjcyZGRjY2YxMDk0OTI3NWUyNDU1OTlhYWZkOWE2
MmRkNzhhZDc4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE4LTA5LTIxICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgUG9pbnRlckV2ZW50LCBw
bHVzIGZlYXR1cmUgZmxhZywgcGx1cyBXZWIgUGxhdGZvcm0gVGVzdHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTg2NworICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNDQ2OTczODQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIHRoZSBQb2ludGVyRXZlbnQgaW50ZXJmYWNlLgorCisgICAgICAgIFRl
c3RzOiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvZXh0ZW5z
aW9uL2lkbGhhcm5lc3Mud2luZG93Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9leHRlbnNpb24vcG9pbnRlcmV2ZW50X2Nv
bnN0cnVjdG9yLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcG9pbnRlcmV2ZW50cy9leHRlbnNpb24vcG9pbnRlcmV2ZW50X3RvdWNoLWFjdGlvbi12
ZXJpZmljYXRpb24uaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wb2ludGVyZXZlbnRzL2lkbGhhcm5lc3Mud2luZG93Lmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9wb2ludGVy
ZXZlbnRfY29uc3RydWN0b3IuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJldmVudF9vbl9ldmVudF9oYW5kbGVy
cy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bv
aW50ZXJldmVudHMvcG9pbnRlcmV2ZW50X3RvdWNoLWFjdGlvbi1pbGxlZ2FsLmh0bWwKKyAgICAg
ICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9w
b2ludGVyZXZlbnRfdG91Y2gtYWN0aW9uLXZlcmlmaWNhdGlvbi5odG1sCisKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgICAgICAgICBBZGQgdGhl
IG5ldyBmaWxlcy4KKworICAgICAgICAqIGRvbS9FdmVudC5oOgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnQ6OmlzUG9pbnRlckV2ZW50IGNvbnN0KTogTmV3IHZpcnR1YWwgaWRlbnRpZmljYXRpb24g
bWV0aG9kLgorCisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaW46IEFkZCBQb2ludGVyRXZlbnQg
c28gdGhlIEludGVyZmFjZVR5cGUgY29kZSBpcyBnZW5lcmF0ZWQuCisKKyAgICAgICAgKiBkb20v
UG9pbnRlckV2ZW50LmNwcDogVGhlIFBvaW50ZXJFdmVudCBpbnRlcmZhY2UsIGFzIHNwZWNpZmll
ZCBieSBXM0MuCisgICAgICAgIChXZWJDb3JlOjpQb2ludGVyRXZlbnQ6OlBvaW50ZXJFdmVudCk6
CisgICAgICAgIChXZWJDb3JlOjpQb2ludGVyRXZlbnQ6OmV2ZW50SW50ZXJmYWNlIGNvbnN0KToK
KyAgICAgICAgKiBkb20vUG9pbnRlckV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAqIGRvbS9Qb2lu
dGVyRXZlbnQuaWRsOiBBZGRlZC4KKworICAgICAgICAqIHBhZ2UvUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oOiBDbGVhbiB1cCB0aGUgb3JkZXJpbmcgb2YgdGhlIGZlYXR1cmVzLCBzbyB0aGVyZSBh
cmVuJ3QKKyAgICAgICAgY29uZnVzaW5nIGJsYW5rIGxpbmVzIGludGVyc3BlcnNlZCB3aXRoICNp
ZiBVU0UgbWFjcm9zLgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2V0UG9pbnRlckV2ZW50c0VuYWJsZWQpOiBBZGQgYSBuZXcgZmxhZyBmb3IgUG9pbnRlciBFdmVu
dHMuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpwb2ludGVyRXZl
bnRzRW5hYmxlZCBjb25zdCk6CisKIDIwMTgtMDktMjEgIE1pa2UgR29yc2UgIDxtZ29yc2VAc3Vz
ZS5jb20+CiAKICAgICAgICAgQnVpbGQgdG9vbHMgc2hvdWxkIHdvcmsgd2hlbiB0aGUgL3Vzci9i
aW4vcHl0aG9uIGlzIHB5dGhvbjMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYWVmMWEzOWUyYTFlNzk4MzhmMTM1MTli
YWQ5MTBhMjNmYjYyMWVkOC4uMWZkOGZlNTEzMDNkYWQ2MmM3OGFlNDNkNTY2YmJmMzJkZjVjN2Mw
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOC0wOS0yMSAgRGVhbiBKYWNrc29uICA8
ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIFBvaW50ZXJFdmVudCwgcGx1cyBmZWF0dXJl
IGZsYWcsIHBsdXMgV2ViIFBsYXRmb3JtIFRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk4NjcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0
Njk3Mzg0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBQb2ludGVyRXZlbnRzIGFzIGFuIGV4cGVyaW1lbnRhbCBmZWF0dXJlLgorCisgICAgICAg
ICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMTgtMDktMjEgIFdvb2Ryb3cgV2Fu
ZyAgPHdvb2Ryb3dfd2FuZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQ2xlYXIgcGVyc2lzdGVudCBz
dG9yYWdlIGJldHdlZW4gdGVzdHMgZm9yIHJlc291cmNlTG9hZFN0YXRpc3RpY3MKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGQ0MjBkNDZlNDhjMGU2Y2Y3NGNkZmEwYmE2NGQ5OGRj
ZjlhNTBlNjcuLjlmMmFmMTEzYjUyYjVhMDRmYmE2OWI1YTE1N2Q1ZGNmYzIwNjM2NDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNTM0LDYgKzUzNCw3IEBAIEpTX0JJTkRJTkdf
SURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2RvbS9PdmVyZmxvd0V2ZW50LmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9kb20vUGFnZVRyYW5zaXRpb25FdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9t
L1BhcmVudE5vZGUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2RvbS9Qb2ludGVyRXZlbnQuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2RvbS9Qb3BTdGF0ZUV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9k
b20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vUHJvZ3Jl
c3NFdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCBlMmJjZGYxOTk4Y2I0ZDMxYmRjMzdkMjc1
ZGZiMzAxYjM3M2UyZTAwLi5hMzRmMjZhMzZiMzMxOTRlOTI3ZTlhMzI3NzBmYzEyMzYyYzgzMTli
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dApAQCAtNzg1LDYgKzc4NSw3IEBAIGRvbS9Ob2RlVHJhdmVyc2FsLmNw
cAogZG9tL092ZXJmbG93RXZlbnQuY3BwCiBkb20vUGFnZVRyYW5zaXRpb25FdmVudC5jcHAKIGRv
bS9QZW5kaW5nU2NyaXB0LmNwcAorZG9tL1BvaW50ZXJFdmVudC5jcHAKIGRvbS9Qb3BTdGF0ZUV2
ZW50LmNwcAogZG9tL1Bvc2l0aW9uLmNwcAogZG9tL1Bvc2l0aW9uSXRlcmF0b3IuY3BwCkBAIC0y
ODQ4LDYgKzI4NDksNyBAQCBKU1BlcmZvcm1hbmNlU2VydmVyVGltaW5nLmNwcAogSlNQZXJmb3Jt
YW5jZVRpbWluZy5jcHAKIEpTUGVyaW9kaWNXYXZlLmNwcAogSlNQbGF5YmFja0RpcmVjdGlvbi5j
cHAKK0pTUG9pbnRlckV2ZW50LmNwcAogSlNQb3BTdGF0ZUV2ZW50LmNwcAogSlNQb3NpdGlvbkNh
bGxiYWNrLmNwcAogSlNQb3NpdGlvbkVycm9yLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDFhYmM4OGZkNWY4YjgzZTZmMTJj
MGQwYTQyMjE2ZmM2NjYwOTk4OGIuLmVhZDhhNTkyZGZkOGNjNzg3YzBmYzk0NWY3ZjFmNGNhMjIw
MzFjNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTk0Miw2ICs5NDIsNyBAQAogCQkzMTZGRTExODBFNkUxREE3MDBCRjYwODgg
LyogSW1wbGljaXRBbmltYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMxNkZFMTBFMEU2RTFEQTcwMEJGNjA4OCAvKiBJbXBsaWNpdEFuaW1hdGlv
bi5oICovOyB9OwogCQkzMTZGRTExQTBFNkUxREE3MDBCRjYwODggLyogS2V5ZnJhbWVBbmltYXRp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNkZF
MTEwMEU2RTFEQTcwMEJGNjA4OCAvKiBLZXlmcmFtZUFuaW1hdGlvbi5oICovOyB9OwogCQkzMTc0
MUFBRDE2NjM2NjA5MDA4QTVCN0UgLyogU2ltdWxhdGVkQ2xpY2tPcHRpb25zLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTc0MUFBQjE2NjM1RTQ1MDA4
QTVCN0UgLyogU2ltdWxhdGVkQ2xpY2tPcHRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMzE3RDNGRjMyMTU1OTlGNDAwMzRFM0I5IC8qIFBv
aW50ZXJFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzE3RDNGRjIyMTU1OTlFMzAwMzRFM0I5IC8qIFBvaW50ZXJFdmVudC5oICovOyB9OwogCQkz
MTgxNUEzMTFGOUE2QzhGMDBGQ0JGODkgLyogSW1hZ2VCaXRtYXAuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRDI2QkJGMUY4NkQxODkwMDhGRjI1NSAv
KiBJbWFnZUJpdG1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTMxODg5MTYxMUFCN0VFQTEwMEVBNjI3QiAvKiBtaXNzaW5nSW1hZ2VAM3gucG5n
IGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREY0MTk5
OTFBQjBEQTE0MDA0RTY0RTEgLyogbWlzc2luZ0ltYWdlQDN4LnBuZyAqLzsgfTsKIAkJMzE4RUFE
NEQxRkE5MTM4MDAwOENFRjg2IC8qIEltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dFNldHRpbmdz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMThFQUQ0
QTFGQTkxMTU3MDA4Q0VGODYgLyogSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0U2V0dGluZ3Mu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNjkx
Nyw2ICs2OTE4LDkgQEAKIAkJMzE2RkUxMEYwRTZFMURBNzAwQkY2MDg4IC8qIEtleWZyYW1lQW5p
bWF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEtleWZyYW1l
QW5pbWF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE2RkUxMTAwRTZF
MURBNzAwQkY2MDg4IC8qIEtleWZyYW1lQW5pbWF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEtleWZyYW1lQW5pbWF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTMxNzQxQUFCMTY2MzVFNDUwMDhBNUI3RSAvKiBTaW11bGF0ZWRDbGlja09wdGlvbnMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU2ltdWxhdGVkQ2xpY2tPcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTMxN0QzRkVGMjE1NTk5RTEwMDM0RTNCOSAvKiBQb2ludGVyRXZlbnQu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFBvaW50ZXJFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTMxN0QzRkYxMjE1NTk5RTIwMDM0RTNCOSAvKiBQb2ludGVyRXZlbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUG9pbnRlckV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MzE3RDNGRjIyMTU1OTlFMzAwMzRFM0I5IC8qIFBvaW50ZXJFdmVudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQb2ludGVyRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE4OUU2REIx
NkIyMTAzNTAwMzg2RUEzIC8qIHBsdWdJbnMuY3NzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5jc3M7IHBhdGgg
PSBwbHVnSW5zLmNzczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE4RUFENEExRkE5
MTE1NzAwOENFRjg2IC8qIEltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dFNldHRpbmdzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dFNldHRpbmdzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxOEVBRDRDMUZBOTEzNTIwMDhDRUY4NiAvKiBJbWFn
ZUJpdG1hcFJlbmRlcmluZ0NvbnRleHRTZXR0aW5ncy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW1hZ2VCaXRtYXBSZW5k
ZXJpbmdDb250ZXh0U2V0dGluZ3MuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MjY1MDYsNiArMjY1MTAsOSBAQAogCQkJCThBN0NDOTZGMTIwNzZGOEEwMDFENDU4OCAvKiBQZW5k
aW5nU2NyaXB0LmNwcCAqLywKIAkJCQk4QTdDQzk2QTEyMDc2RDczMDAxRDQ1ODggLyogUGVuZGlu
Z1NjcmlwdC5oICovLAogCQkJCUUzRkEzODYxMUQ3MTZFNzYwMEFBNTk1MCAvKiBQZW5kaW5nU2Ny
aXB0Q2xpZW50LmggKi8sCisJCQkJMzE3RDNGRjEyMTU1OTlFMjAwMzRFM0I5IC8qIFBvaW50ZXJF
dmVudC5jcHAgKi8sCisJCQkJMzE3RDNGRjIyMTU1OTlFMzAwMzRFM0I5IC8qIFBvaW50ZXJFdmVu
dC5oICovLAorCQkJCTMxN0QzRkVGMjE1NTk5RTEwMDM0RTNCOSAvKiBQb2ludGVyRXZlbnQuaWRs
ICovLAogCQkJCTUxODlGMEREMTBCNDZCMEUwMEYzQzczOSAvKiBQb3BTdGF0ZUV2ZW50LmNwcCAq
LywKIAkJCQk1MTc0RTIwODEwQTFGNDRGMDBGOTVFNkYgLyogUG9wU3RhdGVFdmVudC5oICovLAog
CQkJCTUxNzRFMjBCMTBBMUY0OUEwMEY5NUU2RiAvKiBQb3BTdGF0ZUV2ZW50LmlkbCAqLywKQEAg
LTI5ODQ1LDYgKzI5ODUyLDcgQEAKIAkJCQlCQ0JCOEFCOTEzRjFBRkIwMDA3MzRERjAgLyogUE9E
SW50ZXJ2YWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQkI4QUJBMTNGMUFGQjAwMDczNERGMCAv
KiBQT0RJbnRlcnZhbFRyZWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQkI4QUJCMTNGMUFGQjAw
MDczNERGMCAvKiBQT0RSZWRCbGFja1RyZWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxN0QzRkYz
MjE1NTk5RjQwMDM0RTNCOSAvKiBQb2ludGVyRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIy
QjFGNzE3MEQwMENBQTgwMDRBRUE2NCAvKiBQb2ludGVyRXZlbnRzSGl0UnVsZXMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTNGRjgxM0E3MURCQTg2NDAwMDlCRjAwMSAvKiBQb2ludGVyTG9ja0NvbnRy
b2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0NzMwRDkyMTI0OEYwQjMwMEQzQTlDOSAvKiBQ
b2ludExpZ2h0U291cmNlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmgKaW5kZXggYmJhODQ0
NGQ2MTkzMjEyMzUyNWUyMjgzYmQ0ODMxYmNlMTIwZjAzMC4uMTEzNjA4NThiZjVkNDY3MDcwN2Iz
MDFmNzliNjEzY2Q5ODhkZDQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAgLTEwNCw2ICsxMDQsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzSW5wdXRFdmVudCgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzS2V5Ym9hcmRFdmVudCgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzTW91c2VFdmVudCgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGlzUG9pbnRlckV2ZW50KCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNUZXh0RXZlbnQoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1RvdWNoRXZlbnQoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1VJRXZlbnQoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4gYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgppbmRleCA4MWU3OWNmMDJhMTQwODJkOGQx
NjdjY2ZmZjY1Y2VjMDA1NmIwMWUzLi5jNmI5NGNhNzgxZTY5MzA5NDY2MDI2ODg3OGNiMDk3YTUw
ZjMwNzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgpAQCAtODAsMyArODAsNCBAQCBNZWRp
YUVuY3J5cHRlZEV2ZW50IGNvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQQogTWVkaWFLZXlNZXNz
YWdlRXZlbnQgY29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBCiBWUkRpc3BsYXlFdmVudAogQWNj
ZXNzaWJsZVNldFZhbHVlRXZlbnQKK1BvaW50ZXJFdmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1BvaW50ZXJFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9pbnRlckV2
ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45MzNmMGY4OTk0MzZmYWY2YmQ0NDAyZDc4MDBhMTI2NGViZTM1
NWE3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1BvaW50ZXJFdmVudC5j
cHAKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUG9pbnRlckV2ZW50Lmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworUG9pbnRl
ckV2ZW50OjpQb2ludGVyRXZlbnQoKQoreworfQorCitQb2ludGVyRXZlbnQ6OlBvaW50ZXJFdmVu
dChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIEluaXQmJiBpbml0aWFsaXplcikKKyAgICA6IE1v
dXNlRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIpCisgICAgLCBtX3BvaW50ZXJJZChXVEZNb3ZlKGlu
aXRpYWxpemVyLnBvaW50ZXJJZCkpCisgICAgLCBtX3dpZHRoKFdURk1vdmUoaW5pdGlhbGl6ZXIu
d2lkdGgpKQorICAgICwgbV9oZWlnaHQoV1RGTW92ZShpbml0aWFsaXplci5oZWlnaHQpKQorICAg
ICwgbV9wcmVzc3VyZShXVEZNb3ZlKGluaXRpYWxpemVyLnByZXNzdXJlKSkKKyAgICAsIG1fdGFu
Z2VudGlhbFByZXNzdXJlKFdURk1vdmUoaW5pdGlhbGl6ZXIudGFuZ2VudGlhbFByZXNzdXJlKSkK
KyAgICAsIG1fdGlsdFgoV1RGTW92ZShpbml0aWFsaXplci50aWx0WCkpCisgICAgLCBtX3RpbHRZ
KFdURk1vdmUoaW5pdGlhbGl6ZXIudGlsdFkpKQorICAgICwgbV90d2lzdChXVEZNb3ZlKGluaXRp
YWxpemVyLnR3aXN0KSkKKyAgICAsIG1fcG9pbnRlclR5cGUoV1RGTW92ZShpbml0aWFsaXplci5w
b2ludGVyVHlwZSkpCisgICAgLCBtX2lzUHJpbWFyeShXVEZNb3ZlKGluaXRpYWxpemVyLmlzUHJp
bWFyeSkpCit7Cit9CisKK1BvaW50ZXJFdmVudDo6flBvaW50ZXJFdmVudCgpID0gZGVmYXVsdDsK
KworRXZlbnRJbnRlcmZhY2UgUG9pbnRlckV2ZW50OjpldmVudEludGVyZmFjZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIFBvaW50ZXJFdmVudEludGVyZmFjZVR5cGU7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1BvaW50ZXJFdmVu
dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1BvaW50ZXJFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4ZmRh
ZGE4ZjJlYzk4OGRhOWZmNWUyNjJmYWZhNjQzYjAxZGEzYTUKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vUG9pbnRlckV2ZW50LmgKQEAgLTAsMCArMSw5MyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQb2ludGVyRXZlbnQgZmluYWwgOiBwdWJs
aWMgTW91c2VFdmVudCB7CitwdWJsaWM6CisgICAgc3RydWN0IEluaXQgOiBNb3VzZUV2ZW50SW5p
dCB7CisgICAgICAgIGxvbmcgcG9pbnRlcklkIHsgMCB9OworICAgICAgICBkb3VibGUgd2lkdGgg
eyAxIH07CisgICAgICAgIGRvdWJsZSBoZWlnaHQgeyAxIH07CisgICAgICAgIGZsb2F0IHByZXNz
dXJlIHsgMCB9OworICAgICAgICBmbG9hdCB0YW5nZW50aWFsUHJlc3N1cmUgeyAwIH07CisgICAg
ICAgIGxvbmcgdGlsdFggeyAwIH07CisgICAgICAgIGxvbmcgdGlsdFkgeyAwIH07CisgICAgICAg
IGxvbmcgdHdpc3QgeyAwIH07CisgICAgICAgIFN0cmluZyBwb2ludGVyVHlwZTsKKyAgICAgICAg
Ym9vbCBpc1ByaW1hcnkgeyBmYWxzZSB9OworICAgIH07CisKKyAgICBzdGF0aWMgUmVmUHRyPFBv
aW50ZXJFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgSW5pdCYmIGluaXRp
YWxpemVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUG9pbnRlckV2ZW50
KHR5cGUsIFdURk1vdmUoaW5pdGlhbGl6ZXIpKSk7CisgICAgfQorCisgICAgc3RhdGljIFJlZjxQ
b2ludGVyRXZlbnQ+IGNyZWF0ZUZvckJpbmRpbmdzKCkKKyAgICB7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFBvaW50ZXJFdmVudCk7CisgICAgfQorCisgICAgdmlydHVhbCB+UG9pbnRl
ckV2ZW50KCk7CisKKyAgICBsb25nIHBvaW50ZXJJZCgpIGNvbnN0IHsgcmV0dXJuIG1fcG9pbnRl
cklkOyB9CisgICAgZG91YmxlIHdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV93aWR0aDsgfQorICAg
IGRvdWJsZSBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX2hlaWdodDsgfQorICAgIGZsb2F0IHBy
ZXNzdXJlKCkgY29uc3QgeyByZXR1cm4gbV9wcmVzc3VyZTsgfQorICAgIGZsb2F0IHRhbmdlbnRp
YWxQcmVzc3VyZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGFuZ2VudGlhbFByZXNzdXJlOyB9CisgICAg
bG9uZyB0aWx0WCgpIGNvbnN0IHsgcmV0dXJuIG1fdGlsdFg7IH0KKyAgICBsb25nIHRpbHRZKCkg
Y29uc3QgeyByZXR1cm4gbV90aWx0WTsgfQorICAgIGxvbmcgdHdpc3QoKSBjb25zdCB7IHJldHVy
biBtX3R3aXN0OyB9CisgICAgU3RyaW5nIHBvaW50ZXJUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9w
b2ludGVyVHlwZTsgfQorICAgIGJvb2wgaXNQcmltYXJ5KCkgY29uc3QgeyByZXR1cm4gbV9pc1By
aW1hcnk7IH0KKworICAgIGJvb2wgaXNQb2ludGVyRXZlbnQoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiB0cnVlOyB9CisKKyAgICBFdmVudEludGVyZmFjZSBldmVudEludGVyZmFjZSgpIGNvbnN0
IG92ZXJyaWRlOworCitwcml2YXRlOgorICAgIFBvaW50ZXJFdmVudCgpOworICAgIFBvaW50ZXJF
dmVudChjb25zdCBBdG9taWNTdHJpbmcmLCBJbml0JiYpOworCisgICAgbG9uZyBtX3BvaW50ZXJJ
ZCB7IDAgfTsKKyAgICBkb3VibGUgbV93aWR0aCB7IDEgfTsKKyAgICBkb3VibGUgbV9oZWlnaHQg
eyAxIH07CisgICAgZmxvYXQgbV9wcmVzc3VyZSB7IDAgfTsKKyAgICBmbG9hdCBtX3RhbmdlbnRp
YWxQcmVzc3VyZSB7IDAgfTsKKyAgICBsb25nIG1fdGlsdFggeyAwIH07CisgICAgbG9uZyBtX3Rp
bHRZIHsgMCB9OworICAgIGxvbmcgbV90d2lzdCB7IDAgfTsKKyAgICBTdHJpbmcgbV9wb2ludGVy
VHlwZTsKKyAgICBib29sIG1faXNQcmltYXJ5IHsgZmFsc2UgfTsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FVkVOVChQb2ludGVyRXZlbnQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9pbnRlckV2ZW50LmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Qb2ludGVyRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2ZmY2NGNlODQyYmNl
ZDNhNWUwN2FkYTJiY2RhNjFkOWZlOTEwOWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vUG9pbnRlckV2ZW50LmlkbApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKK2RpY3Rpb25hcnkgUG9pbnRlckV2ZW50
SW5pdCA6IE1vdXNlRXZlbnRJbml0IHsKKyAgICBsb25nIHBvaW50ZXJJZCA9IDA7CisgICAgZG91
YmxlIHdpZHRoID0gMTsKKyAgICBkb3VibGUgaGVpZ2h0ID0gMTsKKyAgICBmbG9hdCBwcmVzc3Vy
ZSA9IDA7CisgICAgZmxvYXQgdGFuZ2VudGlhbFByZXNzdXJlID0gMDsKKyAgICBsb25nIHRpbHRY
ID0gMDsKKyAgICBsb25nIHRpbHRZID0gMDsKKyAgICBsb25nIHR3aXN0ID0gMDsKKyAgICBET01T
dHJpbmcgcG9pbnRlclR5cGUgPSAiIjsKKyAgICBib29sZWFuIGlzUHJpbWFyeSA9IGZhbHNlOwor
fTsKKworW0NvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBQb2ludGVyRXZlbnRJ
bml0IGV2ZW50SW5pdERpY3QpLAorIEV4cG9zZWQ9V2luZG93XQoraW50ZXJmYWNlIFBvaW50ZXJF
dmVudCA6IE1vdXNlRXZlbnQgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHBvaW50ZXJJ
ZDsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHdpZHRoOworICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBkb3VibGUgaGVpZ2h0OworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCBwcmVz
c3VyZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgdGFuZ2VudGlhbFByZXNzdXJlOwor
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHRpbHRYOworICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBsb25nIHRpbHRZOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHR3aXN0OworICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgcG9pbnRlclR5cGU7CisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGJvb2xlYW4gaXNQcmltYXJ5OworfTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCBlMTYzNjc4YWZlYjBhOTAxMGZlNTVjMTllMWMy
NjE2MWMwNTdmZjE1Li4xNDhkMmVmNGE2MjlhOWM2NzNiOWMzNjY5NzUzNmUyNjkzZDhmMDVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtOTAs
MTEgKzkwLDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0V2ViU2hhcmVFbmFibGVkKGJvb2wgaXNF
bmFibGVkKSB7IG1faXNXZWJTaGFyZUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHdl
YlNoYXJlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNXZWJTaGFyZUVuYWJsZWQ7IH0KIAot
I2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCi0gICAgdm9pZCBzZXRBdHRhY2htZW50RWxl
bWVudEVuYWJsZWQoYm9vbCBhcmVFbmFibGVkKSB7IG1faXNBdHRhY2htZW50RWxlbWVudEVuYWJs
ZWQgPSBhcmVFbmFibGVkOyB9Ci0gICAgYm9vbCBhdHRhY2htZW50RWxlbWVudEVuYWJsZWQoKSBj
b25zdCB7IHJldHVybiBtX2lzQXR0YWNobWVudEVsZW1lbnRFbmFibGVkOyB9Ci0jZW5kaWYKLQog
ICAgIHZvaWQgc2V0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQoYm9vbCBhcmVFbmFibGVkKSB7
IG1fYXJlTW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQgPSBhcmVFbmFibGVkOyB9CiAgICAgYm9v
bCBtb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYXJlTW9kZXJu
TWVkaWFDb250cm9sc0VuYWJsZWQ7IH0KIApAQCAtMTA0LDYgKzk5LDgyIEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldElzU2VjdXJlQ29udGV4dEF0dHJpYnV0ZUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQp
IHsgbV9pc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAg
Ym9vbCBpc1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9p
c1NlY3VyZUNvbnRleHRBdHRyaWJ1dGVFbmFibGVkOyB9CiAKKyAgICB2b2lkIHNldFdlYkFuaW1h
dGlvbnNFbmFibGVkKGJvb2wgYXJlRW5hYmxlZCkgeyBtX2FyZVdlYkFuaW1hdGlvbnNFbmFibGVk
ID0gYXJlRW5hYmxlZDsgfQorICAgIGJvb2wgd2ViQW5pbWF0aW9uc0VuYWJsZWQoKSBjb25zdCB7
IHJldHVybiBtX2FyZVdlYkFuaW1hdGlvbnNFbmFibGVkOyB9CisKKyAgICB2b2lkIHNldFdlYkFu
aW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1dlYkFu
aW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAgICBib29sIHdl
YkFuaW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2FyZVdl
YkFuaW1hdGlvbnNFbmFibGVkICYmIG1faXNXZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRpb25FbmFi
bGVkOyB9CisKKyAgICB2b2lkIHNldEltYWdlQml0bWFwT2Zmc2NyZWVuQ2FudmFzRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX2lzSW1hZ2VCaXRtYXBPZmZzY3JlZW5DYW52YXNFbmFibGVkID0g
aXNFbmFibGVkOyB9CisgICAgYm9vbCBpbWFnZUJpdG1hcE9mZnNjcmVlbkNhbnZhc0VuYWJsZWQo
KSBjb25zdCB7IHJldHVybiBtX2lzSW1hZ2VCaXRtYXBPZmZzY3JlZW5DYW52YXNFbmFibGVkOyB9
CisKKyAgICB2b2lkIHNldENhY2hlQVBJRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzQ2Fj
aGVBUElFbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCBjYWNoZUFQSUVuYWJsZWQoKSBj
b25zdCB7IHJldHVybiBtX2lzQ2FjaGVBUElFbmFibGVkOyB9CisKKyAgICB2b2lkIHNldEZldGNo
QVBJRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzRmV0Y2hBUElFbmFibGVkID0gaXNFbmFi
bGVkOyB9CisgICAgYm9vbCBmZXRjaEFQSUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzRmV0
Y2hBUElFbmFibGVkOyB9CisKKyAgICB2b2lkIHNldFdlYlNvY2tldEVuYWJsZWQoYm9vbCBpc0Vu
YWJsZWQpIHsgbV9pc1dlYlNvY2tldEVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAgICBib29sIHdl
YlNvY2tldEVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzV2ViU29ja2V0RW5hYmxlZDsgfQor
CisgICAgYm9vbCBmZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2Zl
dGNoQVBJS2VlcEFsaXZlRW5hYmxlZDsgfQorICAgIHZvaWQgc2V0RmV0Y2hBUElLZWVwQWxpdmVF
bmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkID0gaXNF
bmFibGVkOyB9CisKKyAgICBib29sIHNwZWN0cmVHYWRnZXRzRW5hYmxlZCgpIGNvbnN0OworCisg
ICAgdm9pZCBzZXRJbnNwZWN0b3JBZGRpdGlvbnNFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1f
aW5zcGVjdG9yQWRkaXRpb25zRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgaW5zcGVj
dG9yQWRkaXRpb25zRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yQWRkaXRpb25z
RW5hYmxlZDsgfQorCisgICAgdm9pZCBzZXRXZWJWUkVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsg
bV93ZWJWUkVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAgICBib29sIHdlYlZSRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1fd2ViVlJFbmFibGVkOyB9CisKKyAgICB2b2lkIHNldEFjY2Vzc2liaWxp
dHlPYmplY3RNb2RlbEVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9hY2Nlc3NpYmlsaXR5T2Jq
ZWN0TW9kZWxFbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCBhY2Nlc3NpYmlsaXR5T2Jq
ZWN0TW9kZWxFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9hY2Nlc3NpYmlsaXR5T2JqZWN0TW9k
ZWxFbmFibGVkOyB9CisKKyAgICB2b2lkIHNldEFyaWFSZWZsZWN0aW9uRW5hYmxlZChib29sIGlz
RW5hYmxlZCkgeyBtX2FyaWFSZWZsZWN0aW9uRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIGJv
b2wgYXJpYVJlZmxlY3Rpb25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9hcmlhUmVmbGVjdGlv
bkVuYWJsZWQ7IH0KKworICAgIHZvaWQgc2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RlYnVnTW9k
ZShib29sIGlzRW5hYmxlZCkgeyBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01vZGUgPSBp
c0VuYWJsZWQ7IH0KKyAgICBib29sIHJlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01vZGUoKSBj
b25zdCB7IHJldHVybiBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3NEZWJ1Z01vZGU7IH0KKworICAg
IHZvaWQgc2V0UmVzdHJpY3RlZEhUVFBSZXNwb25zZUFjY2Vzcyhib29sIGlzRW5hYmxlZCkgeyBt
X2lzUmVzdHJpY3RlZEhUVFBSZXNwb25zZUFjY2VzcyA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wg
cmVzdHJpY3RlZEhUVFBSZXNwb25zZUFjY2VzcygpIGNvbnN0IHsgcmV0dXJuIG1faXNSZXN0cmlj
dGVkSFRUUFJlc3BvbnNlQWNjZXNzOyB9CisKKyAgICB2b2lkIHNldENyb3NzT3JpZ2luUmVzb3Vy
Y2VQb2xpY3lFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fY3Jvc3NPcmlnaW5SZXNvdXJjZVBv
bGljeUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAgICBib29sIGNyb3NzT3JpZ2luUmVzb3VyY2VQ
b2xpY3lFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9jcm9zc09yaWdpblJlc291cmNlUG9saWN5
RW5hYmxlZDsgfQorCisgICAgdm9pZCBzZXRXZWJHTENvbXByZXNzZWRUZXh0dXJlQVNUQ1N1cHBv
cnRFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVNU
Q1N1cHBvcnRFbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCB3ZWJHTENvbXByZXNzZWRU
ZXh0dXJlQVNUQ1N1cHBvcnRFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1dlYkdMQ29tcHJl
c3NlZFRleHR1cmVBU1RDU3VwcG9ydEVuYWJsZWQ7IH0KKworICAgIHZvaWQgc2V0U3RvcmFnZUFj
Y2Vzc1Byb21wdHNFbmFibGVkKGJvb2wgaXNFbmFibGVkKSAgeyBtX3Byb21wdEZvclN0b3JhZ2VB
Y2Nlc3NBUElFbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCBzdG9yYWdlQWNjZXNzUHJv
bXB0c0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3Byb21wdEZvclN0b3JhZ2VBY2Nlc3NBUElF
bmFibGVkOyB9CisKKyAgICB2b2lkIHNldFNlcnZlclRpbWluZ0VuYWJsZWQoYm9vbCBpc0VuYWJs
ZWQpIHsgbV9pc1NlcnZlclRpbWluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAgICBib29sIHNl
cnZlclRpbWluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzU2VydmVyVGltaW5nRW5hYmxl
ZDsgfQorCisgICAgdm9pZCBzZXRFeHBlcmltZW50YWxQbHVnSW5TYW5kYm94UHJvZmlsZXNFbmFi
bGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fZXhwZXJpbWVudGFsUGx1Z0luU2FuZGJveFByb2ZpbGVz
RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgZXhwZXJpbWVudGFsUGx1Z0luU2FuZGJv
eFByb2ZpbGVzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZXhwZXJpbWVudGFsUGx1Z0luU2Fu
ZGJveFByb2ZpbGVzRW5hYmxlZDsgfQorCisgICAgdm9pZCBzZXREaXNhYmxlZEFkYXB0YXRpb25z
TWV0YVRhZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9kaXNhYmxlZEFkYXB0YXRpb25zTWV0
YVRhZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAgICBib29sIGRpc2FibGVkQWRhcHRhdGlvbnNN
ZXRhVGFnRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzYWJsZWRBZGFwdGF0aW9uc01ldGFU
YWdFbmFibGVkOyB9CisKKyAgICB2b2lkIHNldEF0dHJTdHlsZUVuYWJsZWQoYm9vbCBpc0VuYWJs
ZWQpIHsgbV9hdHRyU3R5bGVFbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCBhdHRyU3R5
bGVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9hdHRyU3R5bGVFbmFibGVkOyB9CisKKyAgICB2
b2lkIHNldFdlYkFQSVN0YXRpc3RpY3NFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fd2ViQVBJ
U3RhdGlzdGljc0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAgICBib29sIHdlYkFQSVN0YXRpc3Rp
Y3NFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV93ZWJBUElTdGF0aXN0aWNzRW5hYmxlZDsgfQor
CisgICAgdm9pZCBzZXRDU1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZChib29sIGlz
RW5hYmxlZCkgeyBtX0NTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkID0gaXNFbmFi
bGVkOyB9CisgICAgYm9vbCBjc3NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1fQ1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQ7IH0KKwor
ICAgIHZvaWQgc2V0UG9pbnRlckV2ZW50c0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9wb2lu
dGVyRXZlbnRzRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgcG9pbnRlckV2ZW50c0Vu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3BvaW50ZXJFdmVudHNFbmFibGVkOyB9CisKKyNpZiBF
TkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQorICAgIHZvaWQgc2V0QXR0YWNobWVudEVsZW1lbnRF
bmFibGVkKGJvb2wgYXJlRW5hYmxlZCkgeyBtX2lzQXR0YWNobWVudEVsZW1lbnRFbmFibGVkID0g
YXJlRW5hYmxlZDsgfQorICAgIGJvb2wgYXR0YWNobWVudEVsZW1lbnRFbmFibGVkKCkgY29uc3Qg
eyByZXR1cm4gbV9pc0F0dGFjaG1lbnRFbGVtZW50RW5hYmxlZDsgfQorI2VuZGlmCisKICNpZiBF
TkFCTEUoSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKQogICAgIHZvaWQgc2V0SW5kZXhlZERC
V29ya2Vyc0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0luZGV4ZWREQldvcmtlcnNFbmFi
bGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCBpbmRleGVkREJXb3JrZXJzRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1faXNJbmRleGVkREJXb3JrZXJzRW5hYmxlZDsgfQpAQCAtMTczLDEyICsy
NDQsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBhbmltYXRpb25UcmlnZ2Vyc0VuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX2FyZUFuaW1hdGlvblRyaWdnZXJzRW5hYmxlZDsgfQogI2VuZGlmCiAKLSAg
ICB2b2lkIHNldFdlYkFuaW1hdGlvbnNFbmFibGVkKGJvb2wgYXJlRW5hYmxlZCkgeyBtX2FyZVdl
YkFuaW1hdGlvbnNFbmFibGVkID0gYXJlRW5hYmxlZDsgfQotICAgIGJvb2wgd2ViQW5pbWF0aW9u
c0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2FyZVdlYkFuaW1hdGlvbnNFbmFibGVkOyB9Ci0K
LSAgICB2b2lkIHNldFdlYkFuaW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWQoYm9vbCBpc0Vu
YWJsZWQpIHsgbV9pc1dlYkFuaW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWQgPSBpc0VuYWJs
ZWQ7IH0KLSAgICBib29sIHdlYkFuaW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX2FyZVdlYkFuaW1hdGlvbnNFbmFibGVkICYmIG1faXNXZWJBbmltYXRpb25z
Q1NTSW50ZWdyYXRpb25FbmFibGVkOyB9Ci0KICNpZiBFTkFCTEUoV0VCR0wyKQogICAgIHZvaWQg
c2V0V2ViR0wyRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzV2ViR0wyRW5hYmxlZCA9IGlz
RW5hYmxlZDsgfQogICAgIGJvb2wgd2ViR0wyRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNX
ZWJHTDJFbmFibGVkOyB9CkBAIC0xODksMTggKzI1NCw2IEBAIHB1YmxpYzoKICAgICBib29sIHdl
YkdQVUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzV2ViR1BVRW5hYmxlZDsgfQogI2VuZGlm
CiAKLSAgICB2b2lkIHNldEltYWdlQml0bWFwT2Zmc2NyZWVuQ2FudmFzRW5hYmxlZChib29sIGlz
RW5hYmxlZCkgeyBtX2lzSW1hZ2VCaXRtYXBPZmZzY3JlZW5DYW52YXNFbmFibGVkID0gaXNFbmFi
bGVkOyB9Ci0gICAgYm9vbCBpbWFnZUJpdG1hcE9mZnNjcmVlbkNhbnZhc0VuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX2lzSW1hZ2VCaXRtYXBPZmZzY3JlZW5DYW52YXNFbmFibGVkOyB9Ci0KLSAg
ICB2b2lkIHNldENhY2hlQVBJRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzQ2FjaGVBUElF
bmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBjYWNoZUFQSUVuYWJsZWQoKSBjb25zdCB7
IHJldHVybiBtX2lzQ2FjaGVBUElFbmFibGVkOyB9Ci0KLSAgICB2b2lkIHNldEZldGNoQVBJRW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzRmV0Y2hBUElFbmFibGVkID0gaXNFbmFibGVkOyB9
Ci0gICAgYm9vbCBmZXRjaEFQSUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzRmV0Y2hBUElF
bmFibGVkOyB9Ci0KLSAgICB2b2lkIHNldFdlYlNvY2tldEVuYWJsZWQoYm9vbCBpc0VuYWJsZWQp
IHsgbV9pc1dlYlNvY2tldEVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIHdlYlNvY2tl
dEVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzV2ViU29ja2V0RW5hYmxlZDsgfQotCiAjaWYg
RU5BQkxFKFNUUkVBTVNfQVBJKQogICAgIHZvaWQgc2V0UmVhZGFibGVCeXRlU3RyZWFtQVBJRW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzUmVhZGFibGVCeXRlU3RyZWFtQVBJRW5hYmxlZCA9
IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgcmVhZGFibGVCeXRlU3RyZWFtQVBJRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1faXNSZWFkYWJsZUJ5dGVTdHJlYW1BUElFbmFibGVkOyB9CkBAIC0yMzMs
NjEgKzI4NiwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTZXJ2aWNlV29ya2VyRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX3NlcnZpY2VXb3JrZXJFbmFibGVkID0gaXNFbmFibGVkOyB9CiAj
ZW5kaWYKIAotICAgIGJvb2wgZmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9mZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQ7IH0KLSAgICB2b2lkIHNldEZldGNoQVBJS2Vl
cEFsaXZlRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2ZldGNoQVBJS2VlcEFsaXZlRW5hYmxl
ZCA9IGlzRW5hYmxlZDsgfQotCi0gICAgYm9vbCBzcGVjdHJlR2FkZ2V0c0VuYWJsZWQoKSBjb25z
dDsKLQotICAgIHZvaWQgc2V0SW5zcGVjdG9yQWRkaXRpb25zRW5hYmxlZChib29sIGlzRW5hYmxl
ZCkgeyBtX2luc3BlY3RvckFkZGl0aW9uc0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29s
IGluc3BlY3RvckFkZGl0aW9uc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvckFk
ZGl0aW9uc0VuYWJsZWQ7IH0KLQotICAgIHZvaWQgc2V0V2ViVlJFbmFibGVkKGJvb2wgaXNFbmFi
bGVkKSB7IG1fd2ViVlJFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCB3ZWJWUkVuYWJs
ZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYlZSRW5hYmxlZDsgfQotCi0gICAgdm9pZCBzZXRBY2Nl
c3NpYmlsaXR5T2JqZWN0TW9kZWxFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fYWNjZXNzaWJp
bGl0eU9iamVjdE1vZGVsRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgYWNjZXNzaWJp
bGl0eU9iamVjdE1vZGVsRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYWNjZXNzaWJpbGl0eU9i
amVjdE1vZGVsRW5hYmxlZDsgfQotICAgIAotICAgIHZvaWQgc2V0QXJpYVJlZmxlY3Rpb25FbmFi
bGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fYXJpYVJlZmxlY3Rpb25FbmFibGVkID0gaXNFbmFibGVk
OyB9Ci0gICAgYm9vbCBhcmlhUmVmbGVjdGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2Fy
aWFSZWZsZWN0aW9uRW5hYmxlZDsgfQotCi0gICAgdm9pZCBzZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRGVidWdNb2RlKGJvb2wgaXNFbmFibGVkKSB7IG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0Rl
YnVnTW9kZSA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgcmVzb3VyY2VMb2FkU3RhdGlzdGljc0Rl
YnVnTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RlYnVnTW9k
ZTsgfQotCi0gICAgdm9pZCBzZXRSZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzKGJvb2wgaXNF
bmFibGVkKSB7IG1faXNSZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzID0gaXNFbmFibGVkOyB9
Ci0gICAgYm9vbCByZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzKCkgY29uc3QgeyByZXR1cm4g
bV9pc1Jlc3RyaWN0ZWRIVFRQUmVzcG9uc2VBY2Nlc3M7IH0KLQotICAgIHZvaWQgc2V0Q3Jvc3NP
cmlnaW5SZXNvdXJjZVBvbGljeUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9jcm9zc09yaWdp
blJlc291cmNlUG9saWN5RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgY3Jvc3NPcmln
aW5SZXNvdXJjZVBvbGljeUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2Nyb3NzT3JpZ2luUmVz
b3VyY2VQb2xpY3lFbmFibGVkOyB9Ci0gICAgCi0gICAgdm9pZCBzZXRXZWJHTENvbXByZXNzZWRU
ZXh0dXJlQVNUQ1N1cHBvcnRFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNXZWJHTENvbXBy
ZXNzZWRUZXh0dXJlQVNUQ1N1cHBvcnRFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCB3
ZWJHTENvbXByZXNzZWRUZXh0dXJlQVNUQ1N1cHBvcnRFbmFibGVkKCkgY29uc3QgeyByZXR1cm4g
bV9pc1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBU1RDU3VwcG9ydEVuYWJsZWQ7IH0KLQotICAgIHZv
aWQgc2V0U3RvcmFnZUFjY2Vzc1Byb21wdHNFbmFibGVkKGJvb2wgaXNFbmFibGVkKSAgeyBtX3By
b21wdEZvclN0b3JhZ2VBY2Nlc3NBUElFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBz
dG9yYWdlQWNjZXNzUHJvbXB0c0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3Byb21wdEZvclN0
b3JhZ2VBY2Nlc3NBUElFbmFibGVkOyB9Ci0KLSAgICB2b2lkIHNldFNlcnZlclRpbWluZ0VuYWJs
ZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1NlcnZlclRpbWluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7
IH0KLSAgICBib29sIHNlcnZlclRpbWluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzU2Vy
dmVyVGltaW5nRW5hYmxlZDsgfQotCi0gICAgdm9pZCBzZXRFeHBlcmltZW50YWxQbHVnSW5TYW5k
Ym94UHJvZmlsZXNFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fZXhwZXJpbWVudGFsUGx1Z0lu
U2FuZGJveFByb2ZpbGVzRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgZXhwZXJpbWVu
dGFsUGx1Z0luU2FuZGJveFByb2ZpbGVzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZXhwZXJp
bWVudGFsUGx1Z0luU2FuZGJveFByb2ZpbGVzRW5hYmxlZDsgfQotCi0gICAgdm9pZCBzZXREaXNh
YmxlZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9kaXNhYmxl
ZEFkYXB0YXRpb25zTWV0YVRhZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29sIGRpc2Fi
bGVkQWRhcHRhdGlvbnNNZXRhVGFnRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzYWJsZWRB
ZGFwdGF0aW9uc01ldGFUYWdFbmFibGVkOyB9Ci0KICNpZiBVU0UoU1lTVEVNX1BSRVZJRVcpCiAg
ICAgdm9pZCBzZXRTeXN0ZW1QcmV2aWV3RW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX3N5c3Rl
bVByZXZpZXdFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCBzeXN0ZW1QcmV2aWV3RW5h
YmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3lzdGVtUHJldmlld0VuYWJsZWQ7IH0KICNlbmRpZgog
Ci0gICAgdm9pZCBzZXRBdHRyU3R5bGVFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fYXR0clN0
eWxlRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJvb2wgYXR0clN0eWxlRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1fYXR0clN0eWxlRW5hYmxlZDsgfQotCi0gICAgdm9pZCBzZXRXZWJBUElT
dGF0aXN0aWNzRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX3dlYkFQSVN0YXRpc3RpY3NFbmFi
bGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCB3ZWJBUElTdGF0aXN0aWNzRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1fd2ViQVBJU3RhdGlzdGljc0VuYWJsZWQ7IH0KLQotICAgIHZvaWQgc2V0
Q1NTQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9D
U1NDdXN0b21Qcm9wZXJ0aWVzQW5kVmFsdWVzRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQotICAgIGJv
b2wgY3NzQ3VzdG9tUHJvcGVydGllc0FuZFZhbHVlc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBt
X0NTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVkOyB9Ci0KICAgICBXRUJDT1JFX0VY
UE9SVCBzdGF0aWMgUnVudGltZUVuYWJsZWRGZWF0dXJlcyYgc2hhcmVkRmVhdHVyZXMoKTsKIAog
cHJpdmF0ZToKQEAgLTMxMiw2ICszMTUsMjkgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNDdXN0
b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1dlYlNoYXJl
RW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lucHV0RXZlbnRzRW5hYmxlZCB7IHRydWUg
fTsKKyAgICBib29sIG1fYXJlV2ViQW5pbWF0aW9uc0VuYWJsZWQgeyB0cnVlIH07CisgICAgYm9v
bCBtX2lzV2ViQW5pbWF0aW9uc0NTU0ludGVncmF0aW9uRW5hYmxlZCB7IGZhbHNlIH07CisgICAg
Ym9vbCBtX2lzSW1hZ2VCaXRtYXBPZmZzY3JlZW5DYW52YXNFbmFibGVkIHsgdHJ1ZSB9OworICAg
IGJvb2wgbV9pc0NhY2hlQVBJRW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzRmV0Y2hB
UElFbmFibGVkIHsgdHJ1ZSB9OworICAgIGJvb2wgbV9pc1dlYlNvY2tldEVuYWJsZWQgeyB0cnVl
IH07CisgICAgYm9vbCBtX2ZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZCB7IGZhbHNlIH07CisgICAg
Ym9vbCBtX2luc3BlY3RvckFkZGl0aW9uc0VuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV93
ZWJWUkVuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9hY2Nlc3NpYmlsaXR5T2JqZWN0TW9k
ZWxFbmFibGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1fYXJpYVJlZmxlY3Rpb25FbmFibGVkIHsg
dHJ1ZSB9OworICAgIGJvb2wgbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGVidWdNb2RlIHsgZmFs
c2UgfTsKKyAgICBib29sIG1faXNSZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzIHsgdHJ1ZSB9
OworICAgIGJvb2wgbV9jcm9zc09yaWdpblJlc291cmNlUG9saWN5RW5hYmxlZCB7IHRydWUgfTsK
KyAgICBib29sIG1faXNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVNUQ1N1cHBvcnRFbmFibGVkIHsg
ZmFsc2UgfTsKKyAgICBib29sIG1fcHJvbXB0Rm9yU3RvcmFnZUFjY2Vzc0FQSUVuYWJsZWQgeyBm
YWxzZSB9OworICAgIGJvb2wgbV9pc1NlcnZlclRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OworICAg
IGJvb2wgbV9leHBlcmltZW50YWxQbHVnSW5TYW5kYm94UHJvZmlsZXNFbmFibGVkIHsgZmFsc2Ug
fTsKKyAgICBib29sIG1fZGlzYWJsZWRBZGFwdGF0aW9uc01ldGFUYWdFbmFibGVkIHsgZmFsc2Ug
fTsKKyAgICBib29sIG1fYXR0clN0eWxlRW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX3dl
YkFQSVN0YXRpc3RpY3NFbmFibGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1fQ1NTQ3VzdG9tUHJv
cGVydGllc0FuZFZhbHVlc0VuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9wb2ludGVyRXZl
bnRzRW5hYmxlZCB7IGZhbHNlIH07CiAKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQog
ICAgIGJvb2wgbV9pc0F0dGFjaG1lbnRFbGVtZW50RW5hYmxlZCB7IGZhbHNlIH07CkBAIC0zNzQs
OSArNDAwLDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNXcml0YWJsZVN0cmVhbUFQSUVuYWJs
ZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKLSAgICBib29sIG1fYXJlV2ViQW5pbWF0aW9uc0VuYWJs
ZWQgeyB0cnVlIH07Ci0gICAgYm9vbCBtX2lzV2ViQW5pbWF0aW9uc0NTU0ludGVncmF0aW9uRW5h
YmxlZCB7IGZhbHNlIH07Ci0KICNpZiBFTkFCTEUoV0VCR0wyKQogICAgIGJvb2wgbV9pc1dlYkdM
MkVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCkBAIC0zODUsMTIgKzQwOCw2IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBtX2lzV2ViR1BVRW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKIAotICAgIGJv
b2wgbV9pc0ltYWdlQml0bWFwT2Zmc2NyZWVuQ2FudmFzRW5hYmxlZCB7IHRydWUgfTsKLSAgICBi
b29sIG1faXNDYWNoZUFQSUVuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc0ZldGNoQVBJ
RW5hYmxlZCB7IHRydWUgfTsKLQotICAgIGJvb2wgbV9pc1dlYlNvY2tldEVuYWJsZWQgeyB0cnVl
IH07Ci0KICNpZiBFTkFCTEUoRE9XTkxPQURfQVRUUklCVVRFKQogICAgIGJvb2wgbV9pc0Rvd25s
b2FkQXR0cmlidXRlRW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKQEAgLTQxMSwzMCArNDI4LDEw
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3NlcnZpY2VXb3JrZXJFbmFibGVkIHsgZmFsc2UgfTsK
ICNlbmRpZgogCi0gICAgYm9vbCBtX2ZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZCB7IGZhbHNlIH07
Ci0gICAgYm9vbCBtX2luc3BlY3RvckFkZGl0aW9uc0VuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJv
b2wgbV93ZWJWUkVuYWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9hY2Nlc3NpYmlsaXR5T2Jq
ZWN0TW9kZWxFbmFibGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1fYXJpYVJlZmxlY3Rpb25FbmFi
bGVkIHsgdHJ1ZSB9OwotICAgIGJvb2wgbV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGVidWdNb2Rl
IHsgZmFsc2UgfTsKLSAgICBib29sIG1faXNSZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzIHsg
dHJ1ZSB9OwotICAgIGJvb2wgbV9jcm9zc09yaWdpblJlc291cmNlUG9saWN5RW5hYmxlZCB7IHRy
dWUgfTsKLSAgICBib29sIG1faXNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVNUQ1N1cHBvcnRFbmFi
bGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1fcHJvbXB0Rm9yU3RvcmFnZUFjY2Vzc0FQSUVuYWJs
ZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc1NlcnZlclRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9
OwotICAgIGJvb2wgbV9leHBlcmltZW50YWxQbHVnSW5TYW5kYm94UHJvZmlsZXNFbmFibGVkIHsg
ZmFsc2UgfTsKLSAgICBib29sIG1fZGlzYWJsZWRBZGFwdGF0aW9uc01ldGFUYWdFbmFibGVkIHsg
ZmFsc2UgfTsKLQogI2lmIFVTRShTWVNURU1fUFJFVklFVykKICAgICBib29sIG1fc3lzdGVtUHJl
dmlld0VuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKLSAgICBib29sIG1fYXR0clN0eWxlRW5h
YmxlZCB7IGZhbHNlIH07Ci0KLSAgICBib29sIG1fd2ViQVBJU3RhdGlzdGljc0VuYWJsZWQgeyBm
YWxzZSB9OwotCi0gICAgYm9vbCBtX0NTU0N1c3RvbVByb3BlcnRpZXNBbmRWYWx1ZXNFbmFibGVk
IHsgZmFsc2UgfTsKLQogICAgIGZyaWVuZCBjbGFzcyBXVEY6Ok5ldmVyRGVzdHJveWVkPFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM+OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzLnlhbWwKaW5kZXggMzkzNzIyYThkMTgyNWRjZWJmZGIyNTc5Njc4YmQ2YzZkYjk5OWVlNS4u
YTgyYWIxMjUyODdkYjUzNjQzOTg1NWMzMGRjM2ZjY2Y5MDM3ZDU5MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC0xMTgzLDYgKzExODMsMTQgQEAgVmlzdWFs
Vmlld3BvcnRBUElFbmFibGVkOgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUg
VmlzdWFsIFZpZXdwb3J0IEFQSSIKICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAogCitQb2ludGVy
RXZlbnRzRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCisgIGh1
bWFuUmVhZGFibGVOYW1lOiAiUG9pbnRlciBFdmVudHMiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogIkVuYWJsZSBQb2ludGVyIEV2ZW50cyIKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXMKKyAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorCiBDU1NPTVZpZXdTY3Jv
bGxpbmdBUElFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGRhNDIwNDdiZWY3NWE1NmQ4ZTQ1YjEyYzdj
NDE1YTNiY2E5NTMzMTguLmUwMGE2ZGNmZTI4M2I4N2Q0MTI3MTMxZTM2OGU3MTdmNDAwOWE0ZTEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDE4LTA5
LTIxICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgUG9pbnRl
ckV2ZW50LCBwbHVzIGZlYXR1cmUgZmxhZywgcGx1cyBXZWIgUGxhdGZvcm0gVGVzdHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTg2NworICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNDQ2OTczODQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSW1wb3J0IHRoZSBXZWIgUGxhdGZvcm0gVGVzdHMgZm9yIFBv
aW50ZXIgRXZlbnRzLgorCisgICAgICAgICogcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMu
anNvbjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9NRVRBLnlt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvUkVB
RE1FLm1kOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50
cy9leHRlbnNpb24vaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9leHRlbnNpb24vaWRsaGFybmVz
cy53aW5kb3cuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50
ZXJldmVudHMvZXh0ZW5zaW9uL2lkbGhhcm5lc3Mud2luZG93LmpzOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9leHRlbnNpb24vcG9pbnRlcmV2ZW50
X2NvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3BvaW50ZXJldmVudHMvZXh0ZW5zaW9uL3BvaW50ZXJldmVudF9jb25zdHJ1Y3Rvci5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9l
eHRlbnNpb24vcG9pbnRlcmV2ZW50X3RvdWNoLWFjdGlvbi12ZXJpZmljYXRpb24tZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9l
eHRlbnNpb24vcG9pbnRlcmV2ZW50X3RvdWNoLWFjdGlvbi12ZXJpZmljYXRpb24uaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvZXh0ZW5zaW9u
L3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcG9p
bnRlcmV2ZW50cy9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL2lkbGhhcm5lc3Mud2luZG93Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL2lk
bGhhcm5lc3Mud2luZG93LmpzOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cG9pbnRlcmV2ZW50cy9wb2ludGVyZXZlbnRfY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9wb2ludGVyZXZl
bnRfY29uc3RydWN0b3IuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3BvaW50ZXJldmVudHMvcG9pbnRlcmV2ZW50X29uX2V2ZW50X2hhbmRsZXJzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvcG9p
bnRlcmV2ZW50X29uX2V2ZW50X2hhbmRsZXJzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJldmVudF9zdHlsZXMuY3NzOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9wb2ludGVyZXZl
bnRfc3VwcG9ydC5qczogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50
ZXJldmVudHMvcG9pbnRlcmV2ZW50X3RvdWNoLWFjdGlvbi1pbGxlZ2FsLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvcG9pbnRl
cmV2ZW50X3RvdWNoLWFjdGlvbi1pbGxlZ2FsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJldmVudF90b3VjaC1hY3Rpb24tdmVy
aWZpY2F0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3BvaW50ZXJldmVudHMvcG9pbnRlcmV2ZW50X3RvdWNoLWFjdGlvbi12ZXJpZmljYXRpb24u
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMv
cG9pbnRlcmxvY2svcmVzb3VyY2VzL3BvaW50ZXJldmVudF9tb3ZlbWVudHh5LWlmcmFtZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9wb2lu
dGVybG9jay9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3Jlc291cmNlcy9wb2ludGVyZXZlbnRfYXR0cmli
dXRlc19ob3ZlcmFibGVfcG9pbnRlcnMtaWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3Jlc291cmNlcy9wb2ludGVyZXZlbnRfZnJh
Y3Rpb25hbF9jb29yZGluYXRlcy1pZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvcmVzb3VyY2VzL3BvaW50ZXJldmVudF9wb2ludGVy
SWRfc2NvcGUtaWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9wb2ludGVyZXZlbnRzL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvdzNjLWltcG9ydC5sb2c6IEFkZGVk
LgorCiAyMDE4LTA5LTIwICBGcmVkZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBTeW5jaHJvbml6ZSBDU1NPTSBWaWV3IHRlc3Qgc3VpdGUgYWdhaW5zdCB1cHN0cmVhbSBX
UFQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0
LWV4cGVjdGF0aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9p
bXBvcnQtZXhwZWN0YXRpb25zLmpzb24KaW5kZXggMDkwZDI1NmFjZDVmYTBjOTgyNWZlYzI0OWYz
ZWUyZTE0ZThlMjY4MC4uYmE0ZWQ3Yzk1ZTllNDg5NDdlNzFhNTI1ZDdjYTZjZjM1Njk2NmFiYiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhw
ZWN0YXRpb25zLmpzb24KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9p
bXBvcnQtZXhwZWN0YXRpb25zLmpzb24KQEAgLTI3Niw3ICsyNzYsNyBAQAogICAgICJ3ZWItcGxh
dGZvcm0tdGVzdHMvcGF5bWVudC1tZXRob2QtaWQiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0IjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0t
dGVzdHMvcGVyZm9ybWFuY2UtdGltZWxpbmUiOiAic2tpcCIsIAotICAgICJ3ZWItcGxhdGZvcm0t
dGVzdHMvcG9pbnRlcmV2ZW50cyI6ICJza2lwIiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9w
b2ludGVyZXZlbnRzIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRl
cmxvY2siOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcHJlbG9hZCI6ICJza2lw
IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9wcmVzZW50YXRpb24tYXBpIjogInNraXAiLCAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cG9pbnRlcmV2ZW50cy9NRVRBLnltbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9NRVRBLnltbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjk0MTU3ZWY5
YTlkZjc2MmY5NDBmMWM2YjA0MTI4ZGQ2OWY0ZjNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL01FVEEu
eW1sCkBAIC0wLDAgKzEsOSBAQAorc3BlYzogaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BvaW50ZXJl
dmVudHMvCitzdWdnZXN0ZWRfcmV2aWV3ZXJzOgorICAtIFN0ZWRpdG9yCisgIC0gamFjb2Jyb3Nz
aQorICAtIHBsZWhlZ2FyCisgIC0gc2NvdHRnb256YWxlegorICAtIHN0YWt0cmFjZQorICAtIFJC
eWVycworICAtIE5hdmlkWgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL1JFQURNRS5tZCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9SRUFETUUubWQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMGNjMDE5MDk3OTZmY2NlMjI0MDFlZjBlZDJmZmRhMzU4MmY1NjYzNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cG9pbnRlcmV2ZW50cy9SRUFETUUubWQKQEAgLTAsMCArMSw5IEBACitEaXJlY3RvcnkgZm9yIFBv
aW50ZXIgRXZlbnRzIFRlc3RzCisKK0xhdGVzdCBFZGl0b3IncyBEcmFmdDogaHR0cHM6Ly93M2Mu
Z2l0aHViLmlvL3BvaW50ZXJldmVudHMvCisKK0xhdGVzdCBXM0MgVGVjaG5pY2FsIFJlcG9ydDog
aHR0cDovL3d3dy53My5vcmcvVFIvcG9pbnRlcmV2ZW50cy8KKworRGlzY3Vzc2lvbiBmb3J1bSBm
b3IgdGVzdHM6IGh0dHA6Ly9saXN0cy53My5vcmcvQXJjaGl2ZXMvUHVibGljL3B1YmxpYy10ZXN0
LWluZnJhLworCitUZXN0IEFzc2VydGlvbiB0YWJsZTogaHR0cHM6Ly93d3cudzMub3JnL3dpa2kv
UG9pbnRlckV2ZW50cy9UZXN0QXNzZXJ0aW9ucwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL2V4dGVuc2lvbi9pZGxo
YXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvZXh0ZW5zaW9uL2lkbGhhcm5lc3Mud2luZG93
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hN2VhMzI3OTFjYjAwNjkzZjM3OTRhMjNkMzI4NGE5
MjY3OWM1MmZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL2V4dGVuc2lvbi9pZGxoYXJuZXNzLndpbmRv
dy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMCBAQAorCitGQUlMIGlkbF90ZXN0IHNldHVwIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkdvdCBh
biBlcnJvciBiZWZvcmUgcGFyc2luZyBhbnkgbmFtZWQgZGVmaW5pdGlvbjogVW5yZWNvZ25pc2Vk
IHRva2VucywgbGluZSAxICh0b2tlbnM6ICJ7XCJlcnJvclwiOiB7XCJtZXNzYWdlXCIiKQorWwor
ICAgIHsKKyAgICAgICAgInR5cGUiOiAieyIsCisgICAgICAgICJ2YWx1ZSI6ICJ7IiwKKyAgICAg
ICAgInRyaXZpYSI6ICIiCisgICAgfSwKKyAgICB7CisgICAgICAgICJ0eXBlIjogInN0cmluZyIs
CisgICAgICAgICJ2YWx1ZSI6ICJcImVycm9yXCIiLAorICAgICAgICAidHJpdmlhIjogIiIKKyAg
ICB9LAorICAgIHsKKyAgICAgICAgInR5cGUiOiAiOiIsCisgICAgICAgICJ2YWx1ZSI6ICI6IiwK
KyAgICAgICAgInRyaXZpYSI6ICIiCisgICAgfSwKKyAgICB7CisgICAgICAgICJ0eXBlIjogInsi
LAorICAgICAgICAidmFsdWUiOiAieyIsCisgICAgICAgICJ0cml2aWEiOiAiICIKKyAgICB9LAor
ICAgIHsKKyAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKKyAgICAgICAgInZhbHVlIjogIlwibWVz
c2FnZVwiIiwKKyAgICAgICAgInRyaXZpYSI6ICIiCisgICAgfQorXSIKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRz
L2V4dGVuc2lvbi9pZGxoYXJuZXNzLndpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL2V4dGVuc2lvbi9pZGxoYXJuZXNz
LndpbmRvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5
ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvZXh0ZW5zaW9uL2lkbGhhcm5lc3Mud2luZG93
Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktp
dCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL2V4dGVuc2lvbi9pZGxoYXJuZXNz
LndpbmRvdy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cG9pbnRlcmV2ZW50cy9leHRlbnNpb24vaWRsaGFybmVzcy53aW5kb3cuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODk1YTg5MTA5YzZkNzVkMjg3Yjg1MDhmMGQxYTEwZmEzMTg5YTY3MQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2
ZW50cy9leHRlbnNpb24vaWRsaGFybmVzcy53aW5kb3cuanMKQEAgLTAsMCArMSwxNCBAQAorLy8g
TUVUQTogc2NyaXB0PS9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzCisvLyBNRVRBOiBzY3JpcHQ9
L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzCisKKy8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wb2lu
dGVyZXZlbnRzL2V4dGVuc2lvbi5odG1sCisKK2lkbF90ZXN0KAorICBbJ3BvaW50ZXJldmVudHMt
ZXh0ZW5zaW9uJ10sCisgIFsncG9pbnRlcmV2ZW50cycsICd1aWV2ZW50cycsICdkb20nXSwKKyAg
aWRsX2FycmF5ID0+IHsKKyAgICBpZGxfYXJyYXkuYWRkX29iamVjdHMoeworICAgICAgUG9pbnRl
ckV2ZW50OiBbJ25ldyBQb2ludGVyRXZlbnQoInBvaW50ZXIiKSddLAorICAgIH0pCisgIH0KKyk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BvaW50ZXJldmVudHMvZXh0ZW5zaW9uL3BvaW50ZXJldmVudF9jb25zdHJ1Y3Rvci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50
ZXJldmVudHMvZXh0ZW5zaW9uL3BvaW50ZXJldmVudF9jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNmQ2NmQ4M2U0ZWI2ZjEwMjdkZmZmNDRkNzQyYTZmN2ZmZmJlODc3OAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcG9pbnRlcmV2ZW50cy9leHRlbnNpb24vcG9pbnRlcmV2ZW50X2NvbnN0cnVjdG9yLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK1BvaW50ZXJFdmVudDogRGlzcGF0Y2ggY3VzdG9tIGV2
ZW50IHdpdGggY29hbGVzY2VkIGV2ZW50cworCitUZXN0IERlc2NyaXB0aW9uOiBUaGlzIHRlc3Qg
Y2hlY2tzIGlmIFBvaW50ZXJFdmVudCBjb25zdHJ1Y3RvciB3b3JrcyBwcm9wZXJseSB3aXRoIHJl
c3BlY3QgdG8gdGhlIGNvYWxlc2NlZCBldmVudHMuCisKK1RoZSBmb2xsb3dpbmcgcG9pbnRlciB0
eXBlcyB3ZXJlIGRldGVjdGVkOiAuCisKKworRkFJTCBQb2ludGVyRXZlbnQ6IENvbnN0cnVjdG9y
IHRlc3QgZXZlbnQuZ2V0Q29hbGVzY2VkRXZlbnRzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2V2
ZW50LmdldENvYWxlc2NlZEV2ZW50cygpJywgJ2V2ZW50LmdldENvYWxlc2NlZEV2ZW50cycgaXMg
dW5kZWZpbmVkKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvZXh0ZW5zaW9uL3BvaW50ZXJldmVudF9jb25zdHJ1
Y3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
b2ludGVyZXZlbnRzL2V4dGVuc2lvbi9wb2ludGVyZXZlbnRfY29uc3RydWN0b3IuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40M2QwYWE1ZDM4YjJhYzY1YjUxMDBjOWJhOGZhMmI3OTRmZmQwM2VlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9w
b2ludGVyZXZlbnRzL2V4dGVuc2lvbi9wb2ludGVyZXZlbnRfY29uc3RydWN0b3IuaHRtbApAQCAt
MCwwICsxLDgwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAg
ICA8dGl0bGU+UG9pbnRlckV2ZW50OiBDb25zdHJ1Y3RvciB0ZXN0PC90aXRsZT4KKyAgICAgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCI+CisgICAg
ICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9InBvaW50ZXJl
dmVudF9zdHlsZXMuY3NzIj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDwhLS0gQWRkaXRpb25hbCBoZWxw
ZXIgc2NyaXB0IGZvciBjb21tb24gY2hlY2tzIGFjcm9zcyBldmVudCB0eXBlcyAtLT4KKyAgICA8
L2hlYWQ+CisgICAgPGJvZHk+CisgICAgPGgxPlBvaW50ZXJFdmVudDogRGlzcGF0Y2ggY3VzdG9t
IGV2ZW50IHdpdGggY29hbGVzY2VkIGV2ZW50czwvaDE+CisgICAgPGg0PlRlc3QgRGVzY3JpcHRp
b246IFRoaXMgdGVzdCBjaGVja3MgaWYgUG9pbnRlckV2ZW50IGNvbnN0cnVjdG9yIHdvcmtzIHBy
b3Blcmx5IHdpdGggcmVzcGVjdCB0byB0aGUgY29hbGVzY2VkIGV2ZW50cy48L2g0PgorICAgIDxk
aXYgaWQ9InRhcmdldDAiPjwvZGl2PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGFzeW5jX3Rlc3Qo
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIgdGFyZ2V0MCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0YXJnZXQwIik7CisgICAgICAgICAgICAvLyBzZXQgdmFsdWVzIGZvciBub24tZGVm
YXVsdCBjb25zdHJ1Y3RvcgorICAgICAgICAgICAgb25fZXZlbnQodGFyZ2V0MCwgInBvaW50ZXJt
b3ZlIiwgdGhpcy5zdGVwX2Z1bmMoZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgICAgICAgICAgICBn
ZW5lcmF0ZV90ZXN0cyhhc3NlcnRfZXF1YWxzLCBbCisgICAgICAgICAgICAgICAgICAgIFsiZ2V0
Q29hbGVzY2VkRXZlbnRzKCkubGVuZ3RoIiwgZXZlbnQuZ2V0Q29hbGVzY2VkRXZlbnRzKCkubGVu
Z3RoLCAyXSwKKyAgICAgICAgICAgICAgICAgICAgWyJldmVudC50YXJnZXQiLCBldmVudC50YXJn
ZXQsIHRhcmdldDBdLAorICAgICAgICAgICAgICAgICAgICBbImV2ZW50LmN1cnJlbnRUYXJnZXQi
LCBldmVudC5jdXJyZW50VGFyZ2V0LCB0YXJnZXQwXSwKKyAgICAgICAgICAgICAgICAgICAgWyJl
dmVudC5ldmVudFBoYXNlIiwgZXZlbnQuZXZlbnRQaGFzZSwgRXZlbnQuQVRfVEFSR0VUXSwKKyAg
ICAgICAgICAgICAgICAgICAgWyJldmVudC5jbGllbnRYIiwgZXZlbnQuY2xpZW50WCwgMzEwXSwK
KyAgICAgICAgICAgICAgICAgICAgWyJnZXRDb2FsZXNjZWRFdmVudHMoKVswXS5jbGllbnRYIiwg
ZXZlbnQuZ2V0Q29hbGVzY2VkRXZlbnRzKClbMF0uY2xpZW50WCwgMzAwXSwKKyAgICAgICAgICAg
ICAgICAgICAgWyJnZXRDb2FsZXNjZWRFdmVudHMoKVsxXS5jbGllbnRYIiwgZXZlbnQuZ2V0Q29h
bGVzY2VkRXZlbnRzKClbMV0uY2xpZW50WCwgMzEwXSwKKyAgICAgICAgICAgICAgICBdKTsKKyAg
ICAgICAgICAgICAgICBmb3IgKHZhciBpPTA7IGk8ZXZlbnQuZ2V0Q29hbGVzY2VkRXZlbnRzKCku
bGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIGNvYWxlc2NlZEV2ZW50ID0g
ZXZlbnQuZ2V0Q29hbGVzY2VkRXZlbnRzKClbaV07CisgICAgICAgICAgICAgICAgICAgIGdlbmVy
YXRlX3Rlc3RzKGFzc2VydF9lcXVhbHMsIFsKKyAgICAgICAgICAgICAgICAgICAgICAgIFsiZ2V0
Q29hbGVzY2VkRXZlbnRzKClbIiArIGkgKyAiXS5wb2ludGVySWQiLCBjb2FsZXNjZWRFdmVudC5w
b2ludGVySWQsIGV2ZW50LnBvaW50ZXJJZF0sCisgICAgICAgICAgICAgICAgICAgICAgICBbImdl
dENvYWxlc2NlZEV2ZW50cygpWyIgKyBpICsgIl0ucG9pbnRlclR5cGUiLCBjb2FsZXNjZWRFdmVu
dC5wb2ludGVyVHlwZSwgZXZlbnQucG9pbnRlclR5cGVdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgWyJnZXRDb2FsZXNjZWRFdmVudHMoKVsiICsgaSArICJdLmlzUHJpbWFyeSIsIGNvYWxlc2Nl
ZEV2ZW50LmlzUHJpbWFyeSwgZXZlbnQuaXNQcmltYXJ5XSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIFsiZ2V0Q29hbGVzY2VkRXZlbnRzKClbIiArIGkgKyAiXS5nZXRDb2FsZXNjZWRFdmVudHMo
KS5sZW5ndGgiLCBjb2FsZXNjZWRFdmVudC5nZXRDb2FsZXNjZWRFdmVudHMoKS5sZW5ndGgsIDBd
LAorICAgICAgICAgICAgICAgICAgICAgICAgWyJnZXRDb2FsZXNjZWRFdmVudHMoKVsiICsgaSAr
ICJdLnRhcmdldCIsIGNvYWxlc2NlZEV2ZW50LnRhcmdldCwgdGFyZ2V0MF0sCisgICAgICAgICAg
ICAgICAgICAgICAgICBbImdldENvYWxlc2NlZEV2ZW50cygpWyIgKyBpICsgIl0uY3VycmVudFRh
cmdldCIsIGNvYWxlc2NlZEV2ZW50LmN1cnJlbnRUYXJnZXQsIG51bGxdLAorICAgICAgICAgICAg
ICAgICAgICAgICAgWyJnZXRDb2FsZXNjZWRFdmVudHMoKVsiICsgaSArICJdLmV2ZW50UGhhc2Ui
LCBjb2FsZXNjZWRFdmVudC5ldmVudFBoYXNlLCBFdmVudC5OT05FXSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIFsiZ2V0Q29hbGVzY2VkRXZlbnRzKClbIiArIGkgKyAiXS5jYW5jZWxhYmxlIiwg
Y29hbGVzY2VkRXZlbnQuY2FuY2VsYWJsZSwgZmFsc2VdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgWyJnZXRDb2FsZXNjZWRFdmVudHMoKVsiICsgaSArICJdLmJ1YmJsZXMiLCBjb2FsZXNjZWRF
dmVudC5idWJibGVzLCBmYWxzZV0sCisgICAgICAgICAgICAgICAgICAgICAgICBbImdldENvYWxl
c2NlZEV2ZW50cygpWyIgKyBpICsgIl0ub2Zmc2V0WCIsIGNvYWxlc2NlZEV2ZW50Lm9mZnNldFgs
IGV2ZW50Lm9mZnNldFggKyAoaT09MD8tMTA6MCldLAorICAgICAgICAgICAgICAgICAgICAgICAg
WyJnZXRDb2FsZXNjZWRFdmVudHMoKVsiICsgaSArICJdLm9mZnNldFkiLCBjb2FsZXNjZWRFdmVu
dC5vZmZzZXRZLCBldmVudC5vZmZzZXRZXSwKKyAgICAgICAgICAgICAgICAgICAgXSk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSkpOworICAgICAgICAgICAgb25fZXZlbnQodGFy
Z2V0MCwgInBvaW50ZXJvdXQiLCB0aGlzLnN0ZXBfZnVuYyhmdW5jdGlvbihldmVudCkgeworICAg
ICAgICAgICAgICAgIGdlbmVyYXRlX3Rlc3RzKGFzc2VydF9lcXVhbHMsIFsKKyAgICAgICAgICAg
ICAgICAgICAgWyJkZWZhdWx0IGdldENvYWxlc2NlZEV2ZW50cygpLmxlbmd0aCIsIGV2ZW50Lmdl
dENvYWxlc2NlZEV2ZW50cygpLmxlbmd0aCwgMF0sCisgICAgICAgICAgICAgICAgXSk7CisgICAg
ICAgICAgICB9KSk7CisKKyAgICAgICAgICAgIG9uX2V2ZW50KHdpbmRvdywgImxvYWQiLCB0aGlz
LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIGFzc2VydF9ub3Rf
ZXF1YWxzKHdpbmRvdy5Qb2ludGVyRXZlbnQsIHVuZGVmaW5lZCk7CisKKyAgICAgICAgICAgICAg
ICB2YXIgcG9pbnRlckV2ZW50SW5pdERpY3QgPQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgIHBvaW50ZXJJZDogNDIsCisgICAgICAgICAgICAgICAgICBwb2ludGVyVHlwZTog
InBlbiIsCisgICAgICAgICAgICAgICAgICBpc1ByaW1hcnk6IHRydWUsCisgICAgICAgICAgICAg
ICAgICBjbGllbnRYOiAzMDAsCisgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgICAgICAK
KyAgICAgICAgICAgICAgICB2YXIgcDEgPSBuZXcgUG9pbnRlckV2ZW50KCJwb2ludGVybW92ZSIs
IHBvaW50ZXJFdmVudEluaXREaWN0KTsKKyAgICAgICAgICAgICAgICBwb2ludGVyRXZlbnRJbml0
RGljdC5jbGllbnRYICs9IDEwOworICAgICAgICAgICAgICAgIHZhciBwMiA9IG5ldyBQb2ludGVy
RXZlbnQoInBvaW50ZXJtb3ZlIiwgcG9pbnRlckV2ZW50SW5pdERpY3QpOworICAgICAgICAgICAg
ICAgIHBvaW50ZXJFdmVudEluaXREaWN0LmNvYWxlc2NlZEV2ZW50cyA9IFtwMSwgcDJdOworICAg
ICAgICAgICAgICAgIHZhciBldmVudCA9IG5ldyBQb2ludGVyRXZlbnQoInBvaW50ZXJtb3ZlIiwg
cG9pbnRlckV2ZW50SW5pdERpY3QpOworICAgICAgICAgICAgICAgIHRhcmdldDAuZGlzcGF0Y2hF
dmVudChldmVudCk7CisKKyAgICAgICAgICAgICAgICB2YXIgcG9pbnRlckV2ZW50RGVmYXVsdCA9
IG5ldyBQb2ludGVyRXZlbnQoInBvaW50ZXJvdXQiKTsKKyAgICAgICAgICAgICAgICB0YXJnZXQw
LmRpc3BhdGNoRXZlbnQocG9pbnRlckV2ZW50RGVmYXVsdCk7CisgICAgICAgICAgICB9LCAiUG9p
bnRlckV2ZW50IGNvbnN0cnVjdG9yIikpOworICAgICAgICB9KQorICAgIDwvc2NyaXB0PgorICAg
IDxkaXYgaWQ9ImNvbXBsZXRlLW5vdGljZSI+CisgICAgPHA+VGhlIGZvbGxvd2luZyBwb2ludGVy
IHR5cGVzIHdlcmUgZGV0ZWN0ZWQ6IDxzcGFuIGlkPSJwb2ludGVydHlwZS1sb2ciPjwvc3Bhbj4u
PC9wPgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wb2ludGVyZXZlbnRzL2V4dGVuc2lvbi9wb2ludGVyZXZlbnRfdG91Y2gtYWN0aW9u
LXZlcmlmaWNhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvZXh0ZW5zaW9uL3BvaW50ZXJldmVudF90b3Vj
aC1hY3Rpb24tdmVyaWZpY2F0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNWIxMTBkYjRm
MjE0ZGZkODI5OTgxNjAwMTIxZDE0NzI4ZWY5MzY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL2V4dGVu
c2lvbi9wb2ludGVyZXZlbnRfdG91Y2gtYWN0aW9uLXZlcmlmaWNhdGlvbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1MSBAQAorUG9pbnRlciBFdmVudHMgdG91Y2gtYWN0aW9uIGF0dHJpYnV0ZSBz
dXBwb3J0CisKK1Rlc3QgRGVzY3JpcHRpb246IFRlc3Qgd2lsbCBhdXRvbWF0aWNhbGx5IGNoZWNr
IHBhcnNpbmcgYmVoYXZpb3VyIG9mIHZhcmlvdXMgdG91Y2gtYWN0aW9uIGNvbWJpbmF0aW9ucy4K
KwordG91Y2gtYWN0aW9uOiBiYXNpYyB2ZXJpZmljYXRpb24KKworVGhlIGZvbGxvd2luZyBwb2lu
dGVyIHR5cGVzIHdlcmUgZGV0ZWN0ZWQ6IC4KKworCitGQUlMIGRlZmF1bHQgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgImF1dG8i
CitGQUlMIHN0eWxlc2hlZXQtbm9uZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVk
KSB1bmRlZmluZWQgYnV0IGdvdCAoc3RyaW5nKSAibm9uZSIKK0ZBSUwgZXhwbGljaXQtYXV0byBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdvdCAoc3Ry
aW5nKSAiYXV0byIKK0ZBSUwgZXhwbGljaXQtcGFuLXggYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
KHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgInBhbi14IgorRkFJTCBleHBs
aWNpdC1wYW4tbGVmdCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmlu
ZWQgYnV0IGdvdCAoc3RyaW5nKSAicGFuLWxlZnQiCitGQUlMIGV4cGxpY2l0LXBhbi1yaWdodCBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdvdCAoc3Ry
aW5nKSAicGFuLXJpZ2h0IgorRkFJTCBleHBsaWNpdC1wYW4teSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdvdCAoc3RyaW5nKSAicGFuLXkiCitGQUlM
IGV4cGxpY2l0LXBhbi11cCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRl
ZmluZWQgYnV0IGdvdCAoc3RyaW5nKSAicGFuLXVwIgorRkFJTCBleHBsaWNpdC1wYW4tZG93biBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdvdCAoc3Ry
aW5nKSAicGFuLWRvd24iCitGQUlMIGV4cGxpY2l0LXBpbmNoLXpvb20gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgInBpbmNoLXpv
b20iCitGQUlMIGV4cGxpY2l0LXBhbi14LXBhbi15IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICh1
bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChzdHJpbmcpICJwYW4teCBwYW4teSIKK0ZBSUwg
ZXhwbGljaXQtcGFuLXktcGFuLXggYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkg
dW5kZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgInBhbi14IHBhbi15IgorRkFJTCBleHBsaWNpdC1w
YW4tbGVmdC1wYW4tdXAgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZp
bmVkIGJ1dCBnb3QgKHN0cmluZykgInBhbi1sZWZ0IHBhbi11cCIKK0ZBSUwgZXhwbGljaXQtcGFu
LWxlZnQtcGFuLWRvd24gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZp
bmVkIGJ1dCBnb3QgKHN0cmluZykgInBhbi1sZWZ0IHBhbi1kb3duIgorRkFJTCBleHBsaWNpdC1w
YW4tcmlnaHQtcGFuLXVwIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICh1bmRlZmluZWQpIHVuZGVm
aW5lZCBidXQgZ290IChzdHJpbmcpICJwYW4tcmlnaHQgcGFuLXVwIgorRkFJTCBleHBsaWNpdC1w
YW4tcmlnaHQtcGFuLWRvd24gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5k
ZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgInBhbi1yaWdodCBwYW4tZG93biIKK0ZBSUwgZXhwbGlj
aXQtcGFuLXVwLXBhbi1sZWZ0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICh1bmRlZmluZWQpIHVu
ZGVmaW5lZCBidXQgZ290IChzdHJpbmcpICJwYW4tbGVmdCBwYW4tdXAiCitGQUlMIGV4cGxpY2l0
LXBhbi11cC1wYW4tcmlnaHQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5k
ZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgInBhbi1yaWdodCBwYW4tdXAiCitGQUlMIGV4cGxpY2l0
LXBhbi1kb3duLXBhbi1sZWZ0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICh1bmRlZmluZWQpIHVu
ZGVmaW5lZCBidXQgZ290IChzdHJpbmcpICJwYW4tbGVmdCBwYW4tZG93biIKK0ZBSUwgZXhwbGlj
aXQtcGFuLWRvd24tcGFuLXJpZ2h0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICh1bmRlZmluZWQp
IHVuZGVmaW5lZCBidXQgZ290IChzdHJpbmcpICJwYW4tcmlnaHQgcGFuLWRvd24iCitGQUlMIGV4
cGxpY2l0LXBpbmNoLXpvb20tcGFuLXgtcGFuLXVwIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICh1
bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChzdHJpbmcpICJwYW4teCBwYW4tdXAgcGluY2gt
em9vbSIKK0ZBSUwgZXhwbGljaXQtcGluY2gtem9vbS1wYW4teC1wYW4teSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdvdCAoc3RyaW5nKSAibWFuaXB1
bGF0aW9uIgorRkFJTCBleHBsaWNpdC1tYW5pcHVsYXRpb24gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgIm1hbmlwdWxhdGlvbiIK
K0ZBSUwgZXhwbGljaXQtbm9uZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1
bmRlZmluZWQgYnV0IGdvdCAoc3RyaW5nKSAibm9uZSIKK0ZBSUwgZXhwbGljaXQtaW52YWxpZC0x
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChz
dHJpbmcpICJhdXRvIgorRkFJTCBleHBsaWNpdC1pbnZhbGlkLTIgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgIm5vbmUiCitGQUlM
IGV4cGxpY2l0LWludmFsaWQtMyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1
bmRlZmluZWQgYnV0IGdvdCAoc3RyaW5nKSAiYXV0byIKK0ZBSUwgZXhwbGljaXQtaW52YWxpZC00
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChz
dHJpbmcpICJhdXRvIgorRkFJTCBleHBsaWNpdC1pbnZhbGlkLTUgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgImF1dG8iCitGQUlM
IGV4cGxpY2l0LWludmFsaWQtNiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1
bmRlZmluZWQgYnV0IGdvdCAoc3RyaW5nKSAiYXV0byIKK0ZBSUwgZXhwbGljaXQtaW52YWxpZC03
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChz
dHJpbmcpICJhdXRvIgorRkFJTCBleHBsaWNpdC1pbnZhbGlkLTggYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgImF1dG8iCitGQUlM
IGV4cGxpY2l0LWludmFsaWQtOSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1
bmRlZmluZWQgYnV0IGdvdCAoc3RyaW5nKSAiYXV0byIKK0ZBSUwgZXhwbGljaXQtaW52YWxpZC0x
MCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdvdCAo
c3RyaW5nKSAiYXV0byIKK0ZBSUwgZXhwbGljaXQtaW52YWxpZC0xMSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdvdCAoc3RyaW5nKSAiYXV0byIKK0ZB
SUwgZXhwbGljaXQtaW52YWxpZC0xMiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVk
KSB1bmRlZmluZWQgYnV0IGdvdCAoc3RyaW5nKSAiYXV0byIKK0ZBSUwgZXhwbGljaXQtaW52YWxp
ZC0xMyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdv
dCAoc3RyaW5nKSAiYXV0byIKK0ZBSUwgZXhwbGljaXQtaW52YWxpZC0xNCBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdvdCAoc3RyaW5nKSAiYXV0byIK
K0ZBSUwgbm90LWluaGVyaXRlZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1
bmRlZmluZWQgYnV0IGdvdCAoc3RyaW5nKSAiYXV0byIKK0ZBSUwgaW5oZXJpdCBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdvdCAoc3RyaW5nKSAibm9u
ZSIKK0ZBSUwgaW5pdGlhbCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRl
ZmluZWQgYnV0IGdvdCAoc3RyaW5nKSAiYXV0byIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL2V4dGVuc2lvbi9w
b2ludGVyZXZlbnRfdG91Y2gtYWN0aW9uLXZlcmlmaWNhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL2V4dGVuc2lvbi9w
b2ludGVyZXZlbnRfdG91Y2gtYWN0aW9uLXZlcmlmaWNhdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE3
OGY3YTY4YTU4ZTQ1YzUxMGFkMjcyM2U2MzRkMzA5OTZlOTBmYjkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVu
dHMvZXh0ZW5zaW9uL3BvaW50ZXJldmVudF90b3VjaC1hY3Rpb24tdmVyaWZpY2F0aW9uLmh0bWwK
QEAgLTAsMCArMSw5NyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKzwh
LS0gVGhpcyBpcyBhIGZvcmsgb2YgdGhlIG1haW4gdG8gc3VwcG9ydCBuZXcgYWRkaXRpb25zIHRv
IHRvdWNoLWFjdGlvbi4KKyAgICAgSXQgc2hvdWxkIGJlIGludGVncmF0ZWQgaW50byB3ZWItcGxh
dGZvcm0tdGVzdCB3aGVuIHRoZXkgYXJlIGFjY2VwdGVkIGludG8gdGhlCisgICAgIHNwZWNpZmlj
YXRpb24uIC0tPgorICAgICAgICA8dGl0bGU+dG91Y2gtYWN0aW9uOiBiYXNpYyB2ZXJpZmljYXRp
b248L3RpdGxlPgorICAgICAgICA8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9IlRBMTUuMjAg
LSBUaGUgdG91Y2gtYWN0aW9uIENTUyBwcm9wZXJ0eSBkZXRlcm1pbmVzIHdoZXRoZXIgdG91Y2gg
aW5wdXQgTUFZIHRyaWdnZXIgZGVmYXVsdCBiZWhhdmlvciBzdXBwbGllZCBieSB0aGUgdXNlciBh
Z2VudC4KKyAgICAgICAgYXV0bzogVGhlIHVzZXIgYWdlbnQgTUFZIGRldGVybWluZSBhbnkgcGVy
bWl0dGVkIHRvdWNoIGJlaGF2aW9ycywgc3VjaCBhcyBwYW5uaW5nIGFuZCB6b29taW5nIG1hbmlw
dWxhdGlvbnMgb2YgdGhlIHZpZXdwb3J0LCBmb3IgdG91Y2hlcyB0aGF0IGJlZ2luIG9uIHRoZSBl
bGVtZW50LgorICAgICAgICBub25lOiBUb3VjaGVzIHRoYXQgYmVnaW4gb24gdGhlIGVsZW1lbnQg
TVVTVCBOT1QgdHJpZ2dlciBkZWZhdWx0IHRvdWNoIGJlaGF2aW9ycy4KKyAgICAgICAgcGFuLXg6
IFRoZSB1c2VyIGFnZW50IE1BWSBjb25zaWRlciB0b3VjaGVzIHRoYXQgYmVnaW4gb24gdGhlIGVs
ZW1lbnQgb25seSBmb3IgdGhlIHB1cnBvc2VzIG9mIGhvcml6b250YWxseSBzY3JvbGxpbmcgdGhl
IGVsZW1lbnQncyBuZWFyZXN0IGFuY2VzdG9yIHdpdGggaG9yaXpvbnRhbGx5IHNjcm9sbGFibGUg
Y29udGVudC4KKyAgICAgICAgcGFuLXk6IFRoZSB1c2VyIGFnZW50IE1BWSBjb25zaWRlciB0b3Vj
aGVzIHRoYXQgYmVnaW4gb24gdGhlIGVsZW1lbnQgb25seSBmb3IgdGhlIHB1cnBvc2VzIG9mIHZl
cnRpY2FsbHkgc2Nyb2xsaW5nIHRoZSBlbGVtZW50J3MgbmVhcmVzdCBhbmNlc3RvciB3aXRoIHZl
cnRpY2FsbHkgc2Nyb2xsYWJsZSBjb250ZW50LgorICAgICAgICBtYW5pcHVsYXRpb246IFRoZSB1
c2VyIGFnZW50IE1BWSBjb25zaWRlciB0b3VjaGVzIHRoYXQgYmVnaW4gb24gdGhlIGVsZW1lbnQg
b25seSBmb3IgdGhlIHB1cnBvc2VzIG9mIHNjcm9sbGluZyBhbmQgY29udGludW91cyB6b29taW5n
LiBBbnkgYWRkaXRpb25hbCBiZWhhdmlvcnMgc3VwcG9ydGVkIGJ5IGF1dG8gYXJlIG91dCBvZiBz
Y29wZSBmb3IgdGhpcyBzcGVjaWZpY2F0aW9uLiI+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPgorICAgICAgICA8bGluayByZWw9InN0
eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJwb2ludGVyZXZlbnRfc3R5bGVzLmNzcyI+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgLyoKKyAgICAgICAgICBHaXZl
IHNvbWUgcnVsZXMgYmVsb3cgc29tZXRoaW5nIHRvIG92ZXJyaWRlIGluIG9yZGVyIHRvIHRlc3QK
KyAgICAgICAgICB0aGF0IHRoZXkgcmVhbGx5IGFyZSBiZWluZyBwYXJzZWQKKyAgICAgICAgICAq
LworICAgICAgICAgIC5kZWZub25lIHsKKyAgICAgICAgICB0b3VjaC1hY3Rpb246IG5vbmU7Cisg
ICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxv
YWQ9InJ1bigpIj4KKyAgICAgICAgPGgyPlBvaW50ZXIgRXZlbnRzIHRvdWNoLWFjdGlvbiBhdHRy
aWJ1dGUgc3VwcG9ydDwvaDI+CisgICAgICAgIDxoNCBpZD0iZGVzYyI+VGVzdCBEZXNjcmlwdGlv
bjogVGVzdCB3aWxsIGF1dG9tYXRpY2FsbHkgY2hlY2sgcGFyc2luZyBiZWhhdmlvdXIgb2YgdmFy
aW91cyB0b3VjaC1hY3Rpb24gY29tYmluYXRpb25zLjwvaDQ+CisgICAgICAgIDxzY3JpcHQgdHlw
ZT0ndGV4dC9qYXZhc2NyaXB0Jz4KKyAgICAgICAgICAgIHZhciBkZXRlY3RlZF9wb2ludGVydHlw
ZXMgPSB7fTsKKworICAgICAgICAgICAgc2V0dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlIH0pOwor
CisgICAgICAgICAgICBmdW5jdGlvbiBydW4oKSB7CisgICAgICAgICAgICAgICAgdmFyIHRlc3Rz
ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnRlc3QnKTsKKyAgICAgICAgICAgICAgICAv
L1RBIDE1LjIwCisgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXN0cy5sZW5n
dGg7IGkrKykgeworICAgICAgICAgICAgICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAg
ICAgICAgICAgICAgICAgIHZhciBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRlc3Rz
W2ldKTsKKyAgICAgICAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzW2ldLmF0dHJp
YnV0ZXMuZXhwZWN0ZWQudmFsdWUsIHN0eWxlLnRvdWNoQWN0aW9uKTsKKyAgICAgICAgICAgICAg
ICAgICAgfSwgdGVzdHNbaV0uaWQpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICBkb25lKCk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8aDE+
dG91Y2gtYWN0aW9uOiBiYXNpYyB2ZXJpZmljYXRpb248L2gxPgorICAgICAgICA8ZGl2IGlkPSJj
b21wbGV0ZS1ub3RpY2UiPgorICAgICAgICAgICAgPHA+VGhlIGZvbGxvd2luZyBwb2ludGVyIHR5
cGVzIHdlcmUgZGV0ZWN0ZWQ6IDxzcGFuIGlkPSJwb2ludGVydHlwZS1sb2ciPjwvc3Bhbj4uPC9w
PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBjbGFzcz0idGVzdCIgaWQ9ImRlZmF1bHQiIGV4cGVjdGVkPSJhdXRvIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBjbGFzcz0idGVzdCBkZWZub25lIiBpZD0ic3R5bGVzaGVldC1ub25lIiBleHBl
Y3RlZD0ibm9uZSI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InRlc3QgZGVmbm9uZSIgaWQ9
ImV4cGxpY2l0LWF1dG8iIHN0eWxlPSJ0b3VjaC1hY3Rpb246IGF1dG87IiBleHBlY3RlZD0iYXV0
byI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJleHBsaWNpdC1wYW4teCIg
c3R5bGU9InRvdWNoLWFjdGlvbjogcGFuLXg7IiBleHBlY3RlZD0icGFuLXgiPjwvZGl2PgorICAg
ICAgICA8ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iZXhwbGljaXQtcGFuLWxlZnQiIHN0eWxlPSJ0b3Vj
aC1hY3Rpb246IHBhbi1sZWZ0OyIgZXhwZWN0ZWQ9InBhbi1sZWZ0Ij48L2Rpdj4KKyAgICAgICAg
PGRpdiBjbGFzcz0idGVzdCIgaWQ9ImV4cGxpY2l0LXBhbi1yaWdodCIgc3R5bGU9InRvdWNoLWFj
dGlvbjogcGFuLXJpZ2h0OyIgZXhwZWN0ZWQ9InBhbi1yaWdodCI+PC9kaXY+CisgICAgICAgIDxk
aXYgY2xhc3M9InRlc3QiIGlkPSJleHBsaWNpdC1wYW4teSIgc3R5bGU9InRvdWNoLWFjdGlvbjog
cGFuLXk7IiBleHBlY3RlZD0icGFuLXkiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0
IiBpZD0iZXhwbGljaXQtcGFuLXVwIiBzdHlsZT0idG91Y2gtYWN0aW9uOiBwYW4tdXA7IiBleHBl
Y3RlZD0icGFuLXVwIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0idGVzdCIgaWQ9ImV4cGxp
Y2l0LXBhbi1kb3duIiBzdHlsZT0idG91Y2gtYWN0aW9uOiBwYW4tZG93bjsiIGV4cGVjdGVkPSJw
YW4tZG93biI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJleHBsaWNpdC1w
aW5jaC16b29tIiBzdHlsZT0idG91Y2gtYWN0aW9uOiBwaW5jaC16b29tOyIgZXhwZWN0ZWQ9InBp
bmNoLXpvb20iPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iZXhwbGljaXQt
cGFuLXgtcGFuLXkiIHN0eWxlPSJ0b3VjaC1hY3Rpb246IHBhbi14IHBhbi15OyIgZXhwZWN0ZWQ9
InBhbi14IHBhbi15Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0idGVzdCIgaWQ9ImV4cGxp
Y2l0LXBhbi15LXBhbi14IiBzdHlsZT0idG91Y2gtYWN0aW9uOiBwYW4teSBwYW4teDsiIGV4cGVj
dGVkPSJwYW4teCBwYW4teSI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJl
eHBsaWNpdC1wYW4tbGVmdC1wYW4tdXAiIHN0eWxlPSJ0b3VjaC1hY3Rpb246IHBhbi1sZWZ0IHBh
bi11cDsiIGV4cGVjdGVkPSJwYW4tbGVmdCBwYW4tdXAiPjwvZGl2PgorICAgICAgICA8ZGl2IGNs
YXNzPSJ0ZXN0IiBpZD0iZXhwbGljaXQtcGFuLWxlZnQtcGFuLWRvd24iIHN0eWxlPSJ0b3VjaC1h
Y3Rpb246IHBhbi1sZWZ0IHBhbi1kb3duOyIgZXhwZWN0ZWQ9InBhbi1sZWZ0IHBhbi1kb3duIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0idGVzdCIgaWQ9ImV4cGxpY2l0LXBhbi1yaWdodC1w
YW4tdXAiIHN0eWxlPSJ0b3VjaC1hY3Rpb246IHBhbi1yaWdodCBwYW4tdXA7IiBleHBlY3RlZD0i
cGFuLXJpZ2h0IHBhbi11cCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJl
eHBsaWNpdC1wYW4tcmlnaHQtcGFuLWRvd24iIHN0eWxlPSJ0b3VjaC1hY3Rpb246IHBhbi1yaWdo
dCBwYW4tZG93bjsiIGV4cGVjdGVkPSJwYW4tcmlnaHQgcGFuLWRvd24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iZXhwbGljaXQtcGFuLXVwLXBhbi1sZWZ0IiBzdHlsZT0i
dG91Y2gtYWN0aW9uOiBwYW4tdXAgcGFuLWxlZnQ7IiBleHBlY3RlZD0icGFuLWxlZnQgcGFuLXVw
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0idGVzdCIgaWQ9ImV4cGxpY2l0LXBhbi11cC1w
YW4tcmlnaHQiIHN0eWxlPSJ0b3VjaC1hY3Rpb246IHBhbi11cCBwYW4tcmlnaHQ7IiBleHBlY3Rl
ZD0icGFuLXJpZ2h0IHBhbi11cCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlk
PSJleHBsaWNpdC1wYW4tZG93bi1wYW4tbGVmdCIgc3R5bGU9InRvdWNoLWFjdGlvbjogcGFuLWRv
d24gcGFuLWxlZnQ7IiBleHBlY3RlZD0icGFuLWxlZnQgcGFuLWRvd24iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iZXhwbGljaXQtcGFuLWRvd24tcGFuLXJpZ2h0IiBzdHls
ZT0idG91Y2gtYWN0aW9uOiBwYW4tZG93biBwYW4tcmlnaHQ7IiBleHBlY3RlZD0icGFuLXJpZ2h0
IHBhbi1kb3duIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0idGVzdCIgaWQ9ImV4cGxpY2l0
LXBpbmNoLXpvb20tcGFuLXgtcGFuLXVwIiBzdHlsZT0idG91Y2gtYWN0aW9uOiBwaW5jaC16b29t
IHBhbi14IHBhbi11cDsiIGV4cGVjdGVkPSJwYW4teCBwYW4tdXAgcGluY2gtem9vbSI+PC9kaXY+
CisgICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJleHBsaWNpdC1waW5jaC16b29tLXBhbi14
LXBhbi15IiBzdHlsZT0idG91Y2gtYWN0aW9uOiBwaW5jaC16b29tIHBhbi14IHBhbi15OyIgZXhw
ZWN0ZWQ9Im1hbmlwdWxhdGlvbiI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlk
PSJleHBsaWNpdC1tYW5pcHVsYXRpb24iIHN0eWxlPSJ0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlv
bjsiIGV4cGVjdGVkPSJtYW5pcHVsYXRpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJ0
ZXN0IiBpZD0iZXhwbGljaXQtbm9uZSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiIGV4cGVj
dGVkPSJub25lIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0idGVzdCIgaWQ9ImV4cGxpY2l0
LWludmFsaWQtMSIgc3R5bGU9InRvdWNoLWFjdGlvbjogYm9ndXM7IiBleHBlY3RlZD0iYXV0byI+
PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InRlc3QgZGVmbm9uZSIgaWQ9ImV4cGxpY2l0LWlu
dmFsaWQtMiIgc3R5bGU9InRvdWNoLWFjdGlvbjogYXV0byBwYW4teDsiIGV4cGVjdGVkPSJub25l
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0idGVzdCIgaWQ9ImV4cGxpY2l0LWludmFsaWQt
MyIgc3R5bGU9InRvdWNoLWFjdGlvbjogcGFuLXkgbm9uZTsiIGV4cGVjdGVkPSJhdXRvIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBjbGFzcz0idGVzdCIgaWQ9ImV4cGxpY2l0LWludmFsaWQtNCIgc3R5
bGU9InRvdWNoLWFjdGlvbjogcGFuLXggcGFuLXg7IiBleHBlY3RlZD0iYXV0byI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJleHBsaWNpdC1pbnZhbGlkLTUiIHN0eWxlPSJ0
b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbiBwYW4teDsiIGV4cGVjdGVkPSJhdXRvIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBjbGFzcz0idGVzdCIgaWQ9ImV4cGxpY2l0LWludmFsaWQtNiIgc3R5bGU9
InRvdWNoLWFjdGlvbjogcGFuLXggcGFuLWxlZnQ7IiBleHBlY3RlZD0iYXV0byI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJleHBsaWNpdC1pbnZhbGlkLTciIHN0eWxlPSJ0
b3VjaC1hY3Rpb246IGF1dG8gcGFuLWxlZnQ7IiBleHBlY3RlZD0iYXV0byI+PC9kaXY+CisgICAg
ICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJleHBsaWNpdC1pbnZhbGlkLTgiIHN0eWxlPSJ0b3Vj
aC1hY3Rpb246IG5vbmUgcGFuLWxlZnQ7IiBleHBlY3RlZD0iYXV0byI+PC9kaXY+CisgICAgICAg
IDxkaXYgY2xhc3M9InRlc3QiIGlkPSJleHBsaWNpdC1pbnZhbGlkLTkiIHN0eWxlPSJ0b3VjaC1h
Y3Rpb246IHBhbi14IHBhbi1yaWdodDsiIGV4cGVjdGVkPSJhdXRvIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBjbGFzcz0idGVzdCIgaWQ9ImV4cGxpY2l0LWludmFsaWQtMTAiIHN0eWxlPSJ0b3VjaC1h
Y3Rpb246IHBhbi15IHBhbi11cDsiIGV4cGVjdGVkPSJhdXRvIj48L2Rpdj4KKyAgICAgICAgPGRp
diBjbGFzcz0idGVzdCIgaWQ9ImV4cGxpY2l0LWludmFsaWQtMTEiIHN0eWxlPSJ0b3VjaC1hY3Rp
b246IHBhbi15IHBhbi1kb3duOyIgZXhwZWN0ZWQ9ImF1dG8iPjwvZGl2PgorICAgICAgICA8ZGl2
IGNsYXNzPSJ0ZXN0IiBpZD0iZXhwbGljaXQtaW52YWxpZC0xMiIgc3R5bGU9InRvdWNoLWFjdGlv
bjogcGFuLWxlZnQgcGFuLXJpZ2h0OyIgZXhwZWN0ZWQ9ImF1dG8iPjwvZGl2PgorICAgICAgICA8
ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iZXhwbGljaXQtaW52YWxpZC0xMyIgc3R5bGU9InRvdWNoLWFj
dGlvbjogcGFuLXVwIHBhbi1kb3duOyIgZXhwZWN0ZWQ9ImF1dG8iPjwvZGl2PgorICAgICAgICA8
ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iZXhwbGljaXQtaW52YWxpZC0xNCIgc3R5bGU9InRvdWNoLWFj
dGlvbjogcGluY2gtem9vbSBub25lOyIgZXhwZWN0ZWQ9ImF1dG8iPjwvZGl2PgorICAgICAgICA8
ZGl2IHN0eWxlPSJ0b3VjaC1hY3Rpb246IG5vbmU7Ij4KKyAgICAgICAgICA8ZGl2IGNsYXNzPSJ0
ZXN0IiBpZD0ibm90LWluaGVyaXRlZCIgZXhwZWN0ZWQ9ImF1dG8iPjwvZGl2PgorICAgICAgICAg
IDxkaXYgY2xhc3M9InRlc3QiIGlkPSJpbmhlcml0IiBzdHlsZT0idG91Y2gtYWN0aW9uOiBpbmhl
cml0OyIgZXhwZWN0ZWQ9Im5vbmUiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRp
diBjbGFzcz0idGVzdCBkZWZub25lIiBpZD0iaW5pdGlhbCIgc3R5bGU9InRvdWNoLWFjdGlvbjog
aW5pdGlhbDsiIGV4cGVjdGVkPSJhdXRvIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bv
aW50ZXJldmVudHMvZXh0ZW5zaW9uL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL2V4dGVuc2lvbi93M2MtaW1w
b3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yNzhiNjE2YjY2MjMyY2ZmNTVhYzg4NzU3ZmE4YzZkZjA1NGJj
MDU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL2V4dGVuc2lvbi93M2MtaW1wb3J0LmxvZwpAQCAtMCww
ICsxLDE5IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9t
IHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkg
aW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0
aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4g
cnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1w
b3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0
eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BvaW50ZXJldmVudHMvZXh0ZW5zaW9uL2lkbGhhcm5lc3Mud2luZG93LmpzCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL2V4
dGVuc2lvbi9wb2ludGVyZXZlbnRfY29uc3RydWN0b3IuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9leHRlbnNpb24vcG9pbnRl
cmV2ZW50X3RvdWNoLWFjdGlvbi12ZXJpZmljYXRpb24uaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL2lkbGhh
cm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYTdlYTMyNzkxY2IwMDY5M2YzNzk0YTIzZDMyODRhOTI2NzljNTJmZgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcG9pbnRlcmV2ZW50cy9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzMCBAQAorCitGQUlMIGlkbF90ZXN0IHNldHVwIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkdvdCBhbiBlcnJvciBiZWZvcmUgcGFyc2lu
ZyBhbnkgbmFtZWQgZGVmaW5pdGlvbjogVW5yZWNvZ25pc2VkIHRva2VucywgbGluZSAxICh0b2tl
bnM6ICJ7XCJlcnJvclwiOiB7XCJtZXNzYWdlXCIiKQorWworICAgIHsKKyAgICAgICAgInR5cGUi
OiAieyIsCisgICAgICAgICJ2YWx1ZSI6ICJ7IiwKKyAgICAgICAgInRyaXZpYSI6ICIiCisgICAg
fSwKKyAgICB7CisgICAgICAgICJ0eXBlIjogInN0cmluZyIsCisgICAgICAgICJ2YWx1ZSI6ICJc
ImVycm9yXCIiLAorICAgICAgICAidHJpdmlhIjogIiIKKyAgICB9LAorICAgIHsKKyAgICAgICAg
InR5cGUiOiAiOiIsCisgICAgICAgICJ2YWx1ZSI6ICI6IiwKKyAgICAgICAgInRyaXZpYSI6ICIi
CisgICAgfSwKKyAgICB7CisgICAgICAgICJ0eXBlIjogInsiLAorICAgICAgICAidmFsdWUiOiAi
eyIsCisgICAgICAgICJ0cml2aWEiOiAiICIKKyAgICB9LAorICAgIHsKKyAgICAgICAgInR5cGUi
OiAic3RyaW5nIiwKKyAgICAgICAgInZhbHVlIjogIlwibWVzc2FnZVwiIiwKKyAgICAgICAgInRy
aXZpYSI6ICIiCisgICAgfQorXSIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL2lkbGhhcm5lc3Mud2luZG93Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJl
dmVudHMvaWRsaGFybmVzcy53aW5kb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2Iz
YTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL2lkbGhhcm5lc3Mu
d2luZG93Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9y
IFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL2lkbGhhcm5lc3Mud2lu
ZG93LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2lu
dGVyZXZlbnRzL2lkbGhhcm5lc3Mud2luZG93LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg5YTk5NGFmMzA0OGNj
MGI5ZmMzMjEyZmQ2ZjE0OTdiYzcxNzIwOGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvaWRsaGFybmVz
cy53aW5kb3cuanMKQEAgLTAsMCArMSwxOSBAQAorLy8gTUVUQTogc2NyaXB0PS9yZXNvdXJjZXMv
V2ViSURMUGFyc2VyLmpzCisvLyBNRVRBOiBzY3JpcHQ9L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpz
CisKKyd1c2Ugc3RyaWN0JzsKKworLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BvaW50ZXJldmVu
dHMvCisKK2lkbF90ZXN0KAorICBbJ3BvaW50ZXJldmVudHMnXSwKKyAgWyd1aWV2ZW50cycsICdk
b20nLCAnaHRtbCddLAorICBpZGxfYXJyYXkgPT4geworICAgIGlkbF9hcnJheS5hZGRfb2JqZWN0
cyh7CisgICAgICBFbGVtZW50OiBbJ2RvY3VtZW50J10sCisgICAgICBXaW5kb3c6IFsnd2luZG93
J10sCisgICAgICBOYXZpZ2F0b3I6IFsnbmF2aWdhdG9yJ10sCisgICAgICBQb2ludGVyRXZlbnQ6
IFsnbmV3IFBvaW50ZXJFdmVudCgidHlwZSIpJ10KKyAgICB9KTsKKyAgfQorKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2
ZW50cy9wb2ludGVyZXZlbnRfY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJldmVu
dF9jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmZiODFhM2U3OWY1YTRhNzBl
ODQ2NzU5ZmQyNzI5Mjk1YmUwMzNmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9wb2ludGVyZXZlbnRf
Y29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzQgQEAKK1BvaW50ZXJFdmVudDog
RGlzcGF0Y2ggY3VzdG9tIGV2ZW50CisKK1Rlc3QgRGVzY3JpcHRpb246IFRoaXMgdGVzdCBjaGVj
a3MgaWYgUG9pbnRlckV2ZW50IGNvbnN0cnVjdG9yIHdvcmtzIHByb3Blcmx5IHVzaW5nIHN5bnRo
ZXRpYyBwb2ludGVyb3ZlciBhbmQgcG9pbnRlcm91dCBldmVudHMuIEZvciB2YWxpZCByZXN1bHRz
LCB0aGlzIHRlc3QgbXVzdCBiZSBydW4gd2l0aG91dCBnZW5lcmF0aW5nIHJlYWwgKHRydXN0ZWQp
IHBvaW50ZXJvdmVyIG9yIHBvaW50ZXJvdXQgZXZlbnRzIG9uIHRoZSBibGFjayByZWN0YW5nbGUg
YmVsb3cuCisKK1RoZSBmb2xsb3dpbmcgcG9pbnRlciB0eXBlcyB3ZXJlIGRldGVjdGVkOiBwZW4u
CisKKworUEFTUyBQb2ludGVyRXZlbnQ6IENvbnN0cnVjdG9yIHRlc3QgCitQQVNTIGN1c3RvbSBi
dWJibGVzIAorUEFTUyBjdXN0b20gY2FuY2VsYWJsZSAKK1BBU1MgY3VzdG9tIHBvaW50ZXJJZCAK
K1BBU1MgY3VzdG9tIHBvaW50ZXJUeXBlIAorUEFTUyBjdXN0b20gYnV0dG9uIAorUEFTUyBjdXN0
b20gYnV0dG9ucyAKK1BBU1MgY3VzdG9tIHdpZHRoIAorUEFTUyBjdXN0b20gaGVpZ2h0IAorUEFT
UyBjdXN0b20gY2xpZW50WCAKK1BBU1MgY3VzdG9tIGNsaWVudFkgCitQQVNTIGN1c3RvbSB0aWx0
WCAKK1BBU1MgY3VzdG9tIHRpbHRZIAorUEFTUyBjdXN0b20gdHdpc3QgCitQQVNTIGN1c3RvbSBp
c1ByaW1hcnkgCitQQVNTIGN1c3RvbSBwcmVzc3VyZTogIAorUEFTUyBkZWZhdWx0IHBvaW50ZXJJ
ZCAKK1BBU1MgZGVmYXVsdCBwb2ludGVyVHlwZSAKK1BBU1MgZGVmYXVsdCB3aWR0aCAKK1BBU1Mg
ZGVmYXVsdCBoZWlnaHQgCitQQVNTIGRlZmF1bHQgdGlsdFggCitQQVNTIGRlZmF1bHQgdGlsdFkg
CitQQVNTIGRlZmF1bHQgcHJlc3N1cmUgCitQQVNTIGRlZmF1bHQgdGFuZ2VudGlhbFByZXNzdXJl
IAorUEFTUyBkZWZhdWx0IHR3aXN0IAorUEFTUyBkZWZhdWx0IGlzUHJpbWFyeSAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVy
ZXZlbnRzL3BvaW50ZXJldmVudF9jb25zdHJ1Y3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJldmVudF9jb25z
dHJ1Y3Rvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4YTk3ZDFhNmJiN2Y3Yjg5NWQxNjI4MmExMjMxYzMz
NWUzNWY2NTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvcG9pbnRlcmV2ZW50X2NvbnN0cnVjdG9yLmh0
bWwKQEAgLTAsMCArMSwxMTQgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+
CisgICAgICAgIDx0aXRsZT5Qb2ludGVyRXZlbnQ6IENvbnN0cnVjdG9yIHRlc3Q8L3RpdGxlPgor
ICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
Ij4KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0i
cG9pbnRlcmV2ZW50X3N0eWxlcy5jc3MiPgorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPCEtLSBBZGRpdGlv
bmFsIGhlbHBlciBzY3JpcHQgZm9yIGNvbW1vbiBjaGVja3MgYWNyb3NzIGV2ZW50IHR5cGVzIC0t
PgorICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJwb2ludGVyZXZl
bnRfc3VwcG9ydC5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgIDxo
MT5Qb2ludGVyRXZlbnQ6IERpc3BhdGNoIGN1c3RvbSBldmVudDwvaDE+CisgICAgPGg0PlRlc3Qg
RGVzY3JpcHRpb246IFRoaXMgdGVzdCBjaGVja3MgaWYgUG9pbnRlckV2ZW50IGNvbnN0cnVjdG9y
IHdvcmtzIHByb3Blcmx5IHVzaW5nIHN5bnRoZXRpYyBwb2ludGVyb3ZlciBhbmQgcG9pbnRlcm91
dCBldmVudHMuIEZvciB2YWxpZCByZXN1bHRzLCB0aGlzIHRlc3QgbXVzdCBiZSBydW4gd2l0aG91
dCBnZW5lcmF0aW5nIHJlYWwgKHRydXN0ZWQpIHBvaW50ZXJvdmVyIG9yIHBvaW50ZXJvdXQgZXZl
bnRzIG9uIHRoZSBibGFjayByZWN0YW5nbGUgYmVsb3cuPC9oND4KKyAgICA8ZGl2IGlkPSJ0YXJn
ZXQwIj48L2Rpdj4KKyAgICA8c2NyaXB0PgorICAgICAgICB2YXIgZGV0ZWN0ZWRfcG9pbnRlcnR5
cGVzID0ge307CisgICAgICAgIGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrKHNob3dQb2ludGVyVHlw
ZXMpOworCisgICAgICAgIGFzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB2YXIg
dGFyZ2V0MCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQwIik7CisgICAgICAgICAg
ICAvLyBzZXQgdmFsdWVzIGZvciBub24tZGVmYXVsdCBjb25zdHJ1Y3RvcgorICAgICAgICAgICAg
dmFyIHRlc3RCdWJibGVzID0gdHJ1ZTsKKyAgICAgICAgICAgIHZhciB0ZXN0Q2FuY2VsYWJsZSA9
IHRydWU7CisgICAgICAgICAgICB2YXIgdGVzdFBvaW50ZXJJZCA9IDQyOworICAgICAgICAgICAg
dmFyIHRlc3RQb2ludGVyVHlwZSA9ICdwZW4nOworICAgICAgICAgICAgdmFyIHRlc3RDbGllbnRY
ID0gMzAwOworICAgICAgICAgICAgdmFyIHRlc3RDbGllbnRZID0gNTAwOworICAgICAgICAgICAg
dmFyIHRlc3RXaWR0aCA9IDM7CisgICAgICAgICAgICB2YXIgdGVzdEhlaWdodCA9IDU7CisgICAg
ICAgICAgICB2YXIgdGVzdFRpbHRYID0gLTQ1OworICAgICAgICAgICAgdmFyIHRlc3RUaWx0WSA9
IDMwOworICAgICAgICAgICAgdmFyIHRlc3RCdXR0b24gPSAwOworICAgICAgICAgICAgdmFyIHRl
c3RCdXR0b25zID0gMTsKKyAgICAgICAgICAgIHZhciB0ZXN0UHJlc3N1cmUgPSAwLjQ7CisgICAg
ICAgICAgICB2YXIgdGVzdFRhbmdlbnRpYWxQcmVzc3VyZSA9IDAuNTsKKyAgICAgICAgICAgIHZh
ciB0ZXN0VHdpc3QgPSAyODY7CisgICAgICAgICAgICB2YXIgdGVzdElzUHJpbWFyeSA9IHRydWU7
CisKKyAgICAgICAgICAgIG9uX2V2ZW50KHRhcmdldDAsICJwb2ludGVyb3ZlciIsIHRoaXMuc3Rl
cF9mdW5jKGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICAgICAgICAgICAgZGV0ZWN0ZWRfcG9pbnRl
cnR5cGVzWyBldmVudC5wb2ludGVyVHlwZSBdID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBnZW5l
cmF0ZV90ZXN0cyhhc3NlcnRfZXF1YWxzLCBbCisgICAgICAgICAgICAgICAgICAgIFsiY3VzdG9t
IGJ1YmJsZXMiLCBldmVudC5idWJibGVzLCB0ZXN0QnViYmxlc10sCisgICAgICAgICAgICAgICAg
ICAgIFsiY3VzdG9tIGNhbmNlbGFibGUiLCBldmVudC5jYW5jZWxhYmxlLCB0ZXN0Q2FuY2VsYWJs
ZV0sCisgICAgICAgICAgICAgICAgICAgIFsiY3VzdG9tIHBvaW50ZXJJZCIsIGV2ZW50LnBvaW50
ZXJJZCwgdGVzdFBvaW50ZXJJZF0sCisgICAgICAgICAgICAgICAgICAgIFsiY3VzdG9tIHBvaW50
ZXJUeXBlIiwgZXZlbnQucG9pbnRlclR5cGUsIHRlc3RQb2ludGVyVHlwZV0sCisgICAgICAgICAg
ICAgICAgICAgIFsiY3VzdG9tIGJ1dHRvbiIsIGV2ZW50LmJ1dHRvbiwgdGVzdEJ1dHRvbl0sCisg
ICAgICAgICAgICAgICAgICAgIFsiY3VzdG9tIGJ1dHRvbnMiLCBldmVudC5idXR0b25zLCB0ZXN0
QnV0dG9uc10sCisgICAgICAgICAgICAgICAgICAgIFsiY3VzdG9tIHdpZHRoIiwgZXZlbnQud2lk
dGgsIHRlc3RXaWR0aF0sCisgICAgICAgICAgICAgICAgICAgIFsiY3VzdG9tIGhlaWdodCIsIGV2
ZW50LmhlaWdodCwgdGVzdEhlaWdodF0sCisgICAgICAgICAgICAgICAgICAgIFsiY3VzdG9tIGNs
aWVudFgiLCBldmVudC5jbGllbnRYLCB0ZXN0Q2xpZW50WF0sCisgICAgICAgICAgICAgICAgICAg
IFsiY3VzdG9tIGNsaWVudFkiLCBldmVudC5jbGllbnRZLCB0ZXN0Q2xpZW50WV0sCisgICAgICAg
ICAgICAgICAgICAgIFsiY3VzdG9tIHRpbHRYIiwgZXZlbnQudGlsdFgsIHRlc3RUaWx0WF0sCisg
ICAgICAgICAgICAgICAgICAgIFsiY3VzdG9tIHRpbHRZIiwgZXZlbnQudGlsdFksIHRlc3RUaWx0
WV0sCisgICAgICAgICAgICAgICAgICAgIFsiY3VzdG9tIHR3aXN0IiwgZXZlbnQudHdpc3QsIHRl
c3RUd2lzdF0sCisgICAgICAgICAgICAgICAgICAgIFsiY3VzdG9tIGlzUHJpbWFyeSIsIGV2ZW50
LmlzUHJpbWFyeSwgdGVzdElzUHJpbWFyeV0KKyAgICAgICAgICAgICAgICBdKTsKKyAgICAgICAg
ICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICBhc3NlcnRfYXBw
cm94X2VxdWFscyhldmVudC5wcmVzc3VyZSwgdGVzdFByZXNzdXJlLCAwLjAwMDAwMDAxLCAiY3Vz
dG9tIHByZXNzdXJlOiAiKTsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X2FwcHJveF9lcXVh
bHMoZXZlbnQudGFuZ2VudGlhbFByZXNzdXJlLCB0ZXN0VGFuZ2VudGlhbFByZXNzdXJlLCAwLjAw
MDAwMDAxLCAiY3VzdG9tIHRhbmdlbnRpYWwgcHJlc3N1cmU6ICIpOworICAgICAgICAgICAgICAg
IH0sICJjdXN0b20gcHJlc3N1cmU6ICIpOworICAgICAgICAgICAgfSkpOworCisgICAgICAgICAg
ICBvbl9ldmVudCh0YXJnZXQwLCAicG9pbnRlcm91dCIsIHRoaXMuc3RlcF9mdW5jKGZ1bmN0aW9u
KGV2ZW50KSB7CisgICAgICAgICAgICAgICAgZ2VuZXJhdGVfdGVzdHMoYXNzZXJ0X2VxdWFscywg
WworICAgICAgICAgICAgICAgICAgICBbImRlZmF1bHQgcG9pbnRlcklkIiwgZXZlbnQucG9pbnRl
cklkLCAwXSwKKyAgICAgICAgICAgICAgICAgICAgWyJkZWZhdWx0IHBvaW50ZXJUeXBlIiwgZXZl
bnQucG9pbnRlclR5cGUsICIiXSwKKyAgICAgICAgICAgICAgICAgICAgWyJkZWZhdWx0IHdpZHRo
IiwgZXZlbnQud2lkdGgsIDFdLAorICAgICAgICAgICAgICAgICAgICBbImRlZmF1bHQgaGVpZ2h0
IiwgZXZlbnQuaGVpZ2h0LCAxXSwKKyAgICAgICAgICAgICAgICAgICAgWyJkZWZhdWx0IHRpbHRY
IiwgZXZlbnQudGlsdFgsIDBdLAorICAgICAgICAgICAgICAgICAgICBbImRlZmF1bHQgdGlsdFki
LCBldmVudC50aWx0WSwgMF0sCisgICAgICAgICAgICAgICAgICAgIFsiZGVmYXVsdCBwcmVzc3Vy
ZSIsIGV2ZW50LnByZXNzdXJlLCAwXSwKKyAgICAgICAgICAgICAgICAgICAgWyJkZWZhdWx0IHRh
bmdlbnRpYWxQcmVzc3VyZSIsIGV2ZW50LnRhbmdlbnRpYWxQcmVzc3VyZSwgMF0sCisgICAgICAg
ICAgICAgICAgICAgIFsiZGVmYXVsdCB0d2lzdCIsIGV2ZW50LnR3aXN0LCAwXSwKKyAgICAgICAg
ICAgICAgICAgICAgWyJkZWZhdWx0IGlzUHJpbWFyeSIsIGV2ZW50LmlzUHJpbWFyeSwgZmFsc2Vd
CisgICAgICAgICAgICAgICAgXSk7CisgICAgICAgICAgICB9KSk7CisKKyAgICAgICAgICAgIG9u
X2V2ZW50KHdpbmRvdywgImxvYWQiLCB0aGlzLnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgICAgIGFzc2VydF9ub3RfZXF1YWxzKHdpbmRvdy5Qb2ludGVyRXZlbnQsIHVu
ZGVmaW5lZCk7CisKKyAgICAgICAgICAgICAgICB2YXIgcG9pbnRlckV2ZW50Q3VzdG9tID0gbmV3
IFBvaW50ZXJFdmVudCgicG9pbnRlcm92ZXIiLAorICAgICAgICAgICAgICAgIHtidWJibGVzOiB0
ZXN0QnViYmxlcywKKyAgICAgICAgICAgICAgICBjYW5jZWxhYmxlOiB0ZXN0Q2FuY2VsYWJsZSwK
KyAgICAgICAgICAgICAgICBwb2ludGVySWQ6IHRlc3RQb2ludGVySWQsCisgICAgICAgICAgICAg
ICAgcG9pbnRlclR5cGU6IHRlc3RQb2ludGVyVHlwZSwKKyAgICAgICAgICAgICAgICB3aWR0aDog
dGVzdFdpZHRoLAorICAgICAgICAgICAgICAgIGhlaWdodDogdGVzdEhlaWdodCwKKyAgICAgICAg
ICAgICAgICBjbGllbnRYOiB0ZXN0Q2xpZW50WCwKKyAgICAgICAgICAgICAgICBjbGllbnRZOiB0
ZXN0Q2xpZW50WSwKKyAgICAgICAgICAgICAgICB0aWx0WDogdGVzdFRpbHRYLAorICAgICAgICAg
ICAgICAgIHRpbHRZOiB0ZXN0VGlsdFksCisgICAgICAgICAgICAgICAgYnV0dG9uOiB0ZXN0QnV0
dG9uLAorICAgICAgICAgICAgICAgIGJ1dHRvbnM6IHRlc3RCdXR0b25zLAorICAgICAgICAgICAg
ICAgIHByZXNzdXJlOiB0ZXN0UHJlc3N1cmUsCisgICAgICAgICAgICAgICAgdGFuZ2VudGlhbFBy
ZXNzdXJlOiB0ZXN0VGFuZ2VudGlhbFByZXNzdXJlLAorICAgICAgICAgICAgICAgIHR3aXN0OiB0
ZXN0VHdpc3QsCisgICAgICAgICAgICAgICAgaXNQcmltYXJ5OiB0ZXN0SXNQcmltYXJ5CisgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgLy8gQSBQb2ludGVyRXZlbnQgY3JlYXRl
ZCB3aXRoIGEgUG9pbnRlckV2ZW50IGNvbnN0cnVjdG9yIG11c3QgaGF2ZSBhbGwgaXRzIGF0dHJp
YnV0ZXMgc2V0IHRvIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlcyBwcm92aWRlZCB0byB0aGUgY29u
c3RydWN0b3IuCisgICAgICAgICAgICAgICAgLy8gRm9yIGF0dHJpYnV0ZXMgd2hlcmUgdmFsdWVz
IGFyZSBub3QgcHJvdmlkZWQgdG8gdGhlIGNvbnN0cnVjdG9yLCB0aGUgY29ycmVzcG9uZGluZyBk
ZWZhdWx0IHZhbHVlcyBtdXN0IGJlIHVzZWQuCisgICAgICAgICAgICAgICAgLy8gVEE6IDEyLjEK
KyAgICAgICAgICAgICAgICB0YXJnZXQwLmRpc3BhdGNoRXZlbnQocG9pbnRlckV2ZW50Q3VzdG9t
KTsKKyAgICAgICAgICAgICAgICB2YXIgcG9pbnRlckV2ZW50RGVmYXVsdCA9IG5ldyBQb2ludGVy
RXZlbnQoInBvaW50ZXJvdXQiKTsKKyAgICAgICAgICAgICAgICB0YXJnZXQwLmRpc3BhdGNoRXZl
bnQocG9pbnRlckV2ZW50RGVmYXVsdCk7CisgICAgICAgICAgICB9LCAiUG9pbnRlckV2ZW50IGNv
bnN0cnVjdG9yIikpOworICAgICAgICB9KQorICAgIDwvc2NyaXB0PgorICAgIDxkaXYgaWQ9ImNv
bXBsZXRlLW5vdGljZSI+CisgICAgPHA+VGhlIGZvbGxvd2luZyBwb2ludGVyIHR5cGVzIHdlcmUg
ZGV0ZWN0ZWQ6IDxzcGFuIGlkPSJwb2ludGVydHlwZS1sb2ciPjwvc3Bhbj4uPC9wPgorICAgIDwv
ZGl2PgorICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2lu
dGVyZXZlbnRzL3BvaW50ZXJldmVudF9vbl9ldmVudF9oYW5kbGVycy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMv
cG9pbnRlcmV2ZW50X29uX2V2ZW50X2hhbmRsZXJzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
MzkzMTZhZmQ3Y2M1NTg2YmIwYTU1MmViY2I4NmI1NjI1MDgyZDZjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZl
bnRzL3BvaW50ZXJldmVudF9vbl9ldmVudF9oYW5kbGVycy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzOCBAQAorUG9pbnRlckV2ZW50OiBEaXNwYXRjaCBjdXN0b20gZXZlbnQKKworVGVzdCBEZXNj
cmlwdGlvbjogVGhpcyB0ZXN0IGNoZWNrcyBpZiBvbiBwb2ludGVyIGV2ZW50IGhhbmRsZXJzIHRo
cm91Z2ggYXR0cmlidXRlcyB3b3JrcyBwcm9wZXJseSB1c2luZyBzeW50aGV0aWMgcG9pbnRlcmV2
ZW50cy4gRm9yIHZhbGlkIHJlc3VsdHMsIHRoaXMgdGVzdCBtdXN0IGJlIHJ1biB3aXRob3V0IGdl
bmVyYXRpbmcgcmVhbCAodHJ1c3RlZCkgZXZlbnRzIG9uIHRoZSBibGFjayByZWN0YW5nbGUgYmVs
b3cuCisKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK0ZBSUwg
VGhlIGRlZmF1bHQgdmFsdWUgb2Ygb25wb2ludGVyZG93biBpcyBhbHdheXMgbnVsbCBhc3NlcnRf
ZXF1YWxzOiBUaGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgaXMgbnVsbCBmb3IgYSBX
aW5kb3cgaW5zdGFuY2UgZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290ICh1bmRlZmluZWQp
IHVuZGVmaW5lZAorRkFJTCBUaGUgb25wb2ludGVyZG93biBjb250ZW50IGF0dHJpYnV0ZSBtdXN0
IGJlIGNvbXBpbGVkIGludG8gdGhlIG9ucG9pbnRlcmRvd24gcHJvcGVydHkgYXNzZXJ0X2VxdWFs
czogVGhlIG9ucG9pbnRlcmRvd24gcHJvcGVydHkgbXVzdCBiZSBhIGZ1bmN0aW9uIGV4cGVjdGVk
ICJmdW5jdGlvbiIgYnV0IGdvdCAidW5kZWZpbmVkIgorTk9UUlVOIGRpc3BhdGNoaW5nIGEgcG9p
bnRlcmRvd24gZXZlbnQgbXVzdCB0cmlnZ2VyIGVsZW1lbnQub25wb2ludGVyZG93biAKK0ZBSUwg
VGhlIGRlZmF1bHQgdmFsdWUgb2Ygb25wb2ludGVydXAgaXMgYWx3YXlzIG51bGwgYXNzZXJ0X2Vx
dWFsczogVGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIHByb3BlcnR5IGlzIG51bGwgZm9yIGEgV2lu
ZG93IGluc3RhbmNlIGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5kZWZpbmVkKSB1
bmRlZmluZWQKK0ZBSUwgVGhlIG9ucG9pbnRlcnVwIGNvbnRlbnQgYXR0cmlidXRlIG11c3QgYmUg
Y29tcGlsZWQgaW50byB0aGUgb25wb2ludGVydXAgcHJvcGVydHkgYXNzZXJ0X2VxdWFsczogVGhl
IG9ucG9pbnRlcnVwIHByb3BlcnR5IG11c3QgYmUgYSBmdW5jdGlvbiBleHBlY3RlZCAiZnVuY3Rp
b24iIGJ1dCBnb3QgInVuZGVmaW5lZCIKK05PVFJVTiBkaXNwYXRjaGluZyBhIHBvaW50ZXJ1cCBl
dmVudCBtdXN0IHRyaWdnZXIgZWxlbWVudC5vbnBvaW50ZXJ1cCAKK0ZBSUwgVGhlIGRlZmF1bHQg
dmFsdWUgb2Ygb25wb2ludGVyY2FuY2VsIGlzIGFsd2F5cyBudWxsIGFzc2VydF9lcXVhbHM6IFRo
ZSBkZWZhdWx0IHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSBpcyBudWxsIGZvciBhIFdpbmRvdyBpbnN0
YW5jZSBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVk
CitGQUlMIFRoZSBvbnBvaW50ZXJjYW5jZWwgY29udGVudCBhdHRyaWJ1dGUgbXVzdCBiZSBjb21w
aWxlZCBpbnRvIHRoZSBvbnBvaW50ZXJjYW5jZWwgcHJvcGVydHkgYXNzZXJ0X2VxdWFsczogVGhl
IG9ucG9pbnRlcmNhbmNlbCBwcm9wZXJ0eSBtdXN0IGJlIGEgZnVuY3Rpb24gZXhwZWN0ZWQgImZ1
bmN0aW9uIiBidXQgZ290ICJ1bmRlZmluZWQiCitOT1RSVU4gZGlzcGF0Y2hpbmcgYSBwb2ludGVy
Y2FuY2VsIGV2ZW50IG11c3QgdHJpZ2dlciBlbGVtZW50Lm9ucG9pbnRlcmNhbmNlbCAKK0ZBSUwg
VGhlIGRlZmF1bHQgdmFsdWUgb2Ygb25wb2ludGVybW92ZSBpcyBhbHdheXMgbnVsbCBhc3NlcnRf
ZXF1YWxzOiBUaGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgaXMgbnVsbCBmb3IgYSBX
aW5kb3cgaW5zdGFuY2UgZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290ICh1bmRlZmluZWQp
IHVuZGVmaW5lZAorRkFJTCBUaGUgb25wb2ludGVybW92ZSBjb250ZW50IGF0dHJpYnV0ZSBtdXN0
IGJlIGNvbXBpbGVkIGludG8gdGhlIG9ucG9pbnRlcm1vdmUgcHJvcGVydHkgYXNzZXJ0X2VxdWFs
czogVGhlIG9ucG9pbnRlcm1vdmUgcHJvcGVydHkgbXVzdCBiZSBhIGZ1bmN0aW9uIGV4cGVjdGVk
ICJmdW5jdGlvbiIgYnV0IGdvdCAidW5kZWZpbmVkIgorTk9UUlVOIGRpc3BhdGNoaW5nIGEgcG9p
bnRlcm1vdmUgZXZlbnQgbXVzdCB0cmlnZ2VyIGVsZW1lbnQub25wb2ludGVybW92ZSAKK0ZBSUwg
VGhlIGRlZmF1bHQgdmFsdWUgb2Ygb25wb2ludGVyb3ZlciBpcyBhbHdheXMgbnVsbCBhc3NlcnRf
ZXF1YWxzOiBUaGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgaXMgbnVsbCBmb3IgYSBX
aW5kb3cgaW5zdGFuY2UgZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290ICh1bmRlZmluZWQp
IHVuZGVmaW5lZAorRkFJTCBUaGUgb25wb2ludGVyb3ZlciBjb250ZW50IGF0dHJpYnV0ZSBtdXN0
IGJlIGNvbXBpbGVkIGludG8gdGhlIG9ucG9pbnRlcm92ZXIgcHJvcGVydHkgYXNzZXJ0X2VxdWFs
czogVGhlIG9ucG9pbnRlcm92ZXIgcHJvcGVydHkgbXVzdCBiZSBhIGZ1bmN0aW9uIGV4cGVjdGVk
ICJmdW5jdGlvbiIgYnV0IGdvdCAidW5kZWZpbmVkIgorTk9UUlVOIGRpc3BhdGNoaW5nIGEgcG9p
bnRlcm92ZXIgZXZlbnQgbXVzdCB0cmlnZ2VyIGVsZW1lbnQub25wb2ludGVyb3ZlciAKK0ZBSUwg
VGhlIGRlZmF1bHQgdmFsdWUgb2Ygb25wb2ludGVyb3V0IGlzIGFsd2F5cyBudWxsIGFzc2VydF9l
cXVhbHM6IFRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSBpcyBudWxsIGZvciBhIFdp
bmRvdyBpbnN0YW5jZSBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKHVuZGVmaW5lZCkg
dW5kZWZpbmVkCitGQUlMIFRoZSBvbnBvaW50ZXJvdXQgY29udGVudCBhdHRyaWJ1dGUgbXVzdCBi
ZSBjb21waWxlZCBpbnRvIHRoZSBvbnBvaW50ZXJvdXQgcHJvcGVydHkgYXNzZXJ0X2VxdWFsczog
VGhlIG9ucG9pbnRlcm91dCBwcm9wZXJ0eSBtdXN0IGJlIGEgZnVuY3Rpb24gZXhwZWN0ZWQgImZ1
bmN0aW9uIiBidXQgZ290ICJ1bmRlZmluZWQiCitOT1RSVU4gZGlzcGF0Y2hpbmcgYSBwb2ludGVy
b3V0IGV2ZW50IG11c3QgdHJpZ2dlciBlbGVtZW50Lm9ucG9pbnRlcm91dCAKK0ZBSUwgVGhlIGRl
ZmF1bHQgdmFsdWUgb2Ygb25wb2ludGVyZW50ZXIgaXMgYWx3YXlzIG51bGwgYXNzZXJ0X2VxdWFs
czogVGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIHByb3BlcnR5IGlzIG51bGwgZm9yIGEgV2luZG93
IGluc3RhbmNlIGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRl
ZmluZWQKK0ZBSUwgVGhlIG9ucG9pbnRlcmVudGVyIGNvbnRlbnQgYXR0cmlidXRlIG11c3QgYmUg
Y29tcGlsZWQgaW50byB0aGUgb25wb2ludGVyZW50ZXIgcHJvcGVydHkgYXNzZXJ0X2VxdWFsczog
VGhlIG9ucG9pbnRlcmVudGVyIHByb3BlcnR5IG11c3QgYmUgYSBmdW5jdGlvbiBleHBlY3RlZCAi
ZnVuY3Rpb24iIGJ1dCBnb3QgInVuZGVmaW5lZCIKK05PVFJVTiBkaXNwYXRjaGluZyBhIHBvaW50
ZXJlbnRlciBldmVudCBtdXN0IHRyaWdnZXIgZWxlbWVudC5vbnBvaW50ZXJlbnRlciAKK0ZBSUwg
VGhlIGRlZmF1bHQgdmFsdWUgb2Ygb25wb2ludGVybGVhdmUgaXMgYWx3YXlzIG51bGwgYXNzZXJ0
X2VxdWFsczogVGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIHByb3BlcnR5IGlzIG51bGwgZm9yIGEg
V2luZG93IGluc3RhbmNlIGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5kZWZpbmVk
KSB1bmRlZmluZWQKK0ZBSUwgVGhlIG9ucG9pbnRlcmxlYXZlIGNvbnRlbnQgYXR0cmlidXRlIG11
c3QgYmUgY29tcGlsZWQgaW50byB0aGUgb25wb2ludGVybGVhdmUgcHJvcGVydHkgYXNzZXJ0X2Vx
dWFsczogVGhlIG9ucG9pbnRlcmxlYXZlIHByb3BlcnR5IG11c3QgYmUgYSBmdW5jdGlvbiBleHBl
Y3RlZCAiZnVuY3Rpb24iIGJ1dCBnb3QgInVuZGVmaW5lZCIKK05PVFJVTiBkaXNwYXRjaGluZyBh
IHBvaW50ZXJsZWF2ZSBldmVudCBtdXN0IHRyaWdnZXIgZWxlbWVudC5vbnBvaW50ZXJsZWF2ZSAK
K0ZBSUwgVGhlIGRlZmF1bHQgdmFsdWUgb2Ygb25nb3Rwb2ludGVyY2FwdHVyZSBpcyBhbHdheXMg
bnVsbCBhc3NlcnRfZXF1YWxzOiBUaGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgaXMg
bnVsbCBmb3IgYSBXaW5kb3cgaW5zdGFuY2UgZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290
ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorRkFJTCBUaGUgb25nb3Rwb2ludGVyY2FwdHVyZSBjb250
ZW50IGF0dHJpYnV0ZSBtdXN0IGJlIGNvbXBpbGVkIGludG8gdGhlIG9uZ290cG9pbnRlcmNhcHR1
cmUgcHJvcGVydHkgYXNzZXJ0X2VxdWFsczogVGhlIG9uZ290cG9pbnRlcmNhcHR1cmUgcHJvcGVy
dHkgbXVzdCBiZSBhIGZ1bmN0aW9uIGV4cGVjdGVkICJmdW5jdGlvbiIgYnV0IGdvdCAidW5kZWZp
bmVkIgorTk9UUlVOIGRpc3BhdGNoaW5nIGEgZ290cG9pbnRlcmNhcHR1cmUgZXZlbnQgbXVzdCB0
cmlnZ2VyIGVsZW1lbnQub25nb3Rwb2ludGVyY2FwdHVyZSAKK0ZBSUwgVGhlIGRlZmF1bHQgdmFs
dWUgb2Ygb25sb3N0cG9pbnRlcmNhcHR1cmUgaXMgYWx3YXlzIG51bGwgYXNzZXJ0X2VxdWFsczog
VGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIHByb3BlcnR5IGlzIG51bGwgZm9yIGEgV2luZG93IGlu
c3RhbmNlIGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmlu
ZWQKK0ZBSUwgVGhlIG9ubG9zdHBvaW50ZXJjYXB0dXJlIGNvbnRlbnQgYXR0cmlidXRlIG11c3Qg
YmUgY29tcGlsZWQgaW50byB0aGUgb25sb3N0cG9pbnRlcmNhcHR1cmUgcHJvcGVydHkgYXNzZXJ0
X2VxdWFsczogVGhlIG9ubG9zdHBvaW50ZXJjYXB0dXJlIHByb3BlcnR5IG11c3QgYmUgYSBmdW5j
dGlvbiBleHBlY3RlZCAiZnVuY3Rpb24iIGJ1dCBnb3QgInVuZGVmaW5lZCIKK05PVFJVTiBkaXNw
YXRjaGluZyBhIGxvc3Rwb2ludGVyY2FwdHVyZSBldmVudCBtdXN0IHRyaWdnZXIgZWxlbWVudC5v
bmxvc3Rwb2ludGVyY2FwdHVyZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJldmVudF9vbl9ldmVu
dF9oYW5kbGVycy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJldmVudF9vbl9ldmVudF9oYW5kbGVycy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmQ4Y2ZhN2EwZjRjNDgyYmU2MDZlNGU5OGY5YTc5MDBhMDM0MGE0NzcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3BvaW50ZXJldmVudHMvcG9pbnRlcmV2ZW50X29uX2V2ZW50X2hhbmRsZXJzLmh0bWwKQEAgLTAs
MCArMSw2NyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAg
PHRpdGxlPlBvaW50ZXJFdmVudDogQ29uc3RydWN0b3IgdGVzdDwvdGl0bGU+CisgICAgICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPgorICAgICAg
ICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJwb2ludGVyZXZl
bnRfc3R5bGVzLmNzcyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICAgICAgICA8IS0tIEFkZGl0aW9uYWwgaGVscGVy
IHNjcmlwdCBmb3IgY29tbW9uIGNoZWNrcyBhY3Jvc3MgZXZlbnQgdHlwZXMgLS0+CisgICAgICAg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InBvaW50ZXJldmVudF9zdXBwb3J0
LmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgPGgxPlBvaW50ZXJF
dmVudDogRGlzcGF0Y2ggY3VzdG9tIGV2ZW50PC9oMT4KKyAgICA8aDQ+VGVzdCBEZXNjcmlwdGlv
bjogVGhpcyB0ZXN0IGNoZWNrcyBpZiBvbiBwb2ludGVyIGV2ZW50IGhhbmRsZXJzIHRocm91Z2gg
YXR0cmlidXRlcyB3b3JrcyBwcm9wZXJseSB1c2luZyBzeW50aGV0aWMgcG9pbnRlcmV2ZW50cy4g
Rm9yIHZhbGlkIHJlc3VsdHMsIHRoaXMgdGVzdCBtdXN0IGJlIHJ1biB3aXRob3V0IGdlbmVyYXRp
bmcgcmVhbCAodHJ1c3RlZCkgZXZlbnRzIG9uIHRoZSBibGFjayByZWN0YW5nbGUgYmVsb3cuPC9o
ND4KKyAgICA8ZGl2IGlkPSJ0YXJnZXQwIgorICAgICAgICAgb25wb2ludGVyY2FuY2VsPSJ3aW5k
b3cuZXZlbnRIYXBwZW5lZCA9ICdwb2ludGVyY2FuY2VsJzsiCisgICAgICAgICBvbnBvaW50ZXJk
b3duPSJ3aW5kb3cuZXZlbnRIYXBwZW5lZCA9ICdwb2ludGVyZG93bic7IgorICAgICAgICAgb25w
b2ludGVydXA9IndpbmRvdy5ldmVudEhhcHBlbmVkID0gJ3BvaW50ZXJ1cCc7IgorICAgICAgICAg
b25wb2ludGVybW92ZT0id2luZG93LmV2ZW50SGFwcGVuZWQgPSAncG9pbnRlcm1vdmUnOyIKKyAg
ICAgICAgIG9ucG9pbnRlcm91dD0id2luZG93LmV2ZW50SGFwcGVuZWQgPSAncG9pbnRlcm91dCc7
IgorICAgICAgICAgb25wb2ludGVyb3Zlcj0id2luZG93LmV2ZW50SGFwcGVuZWQgPSAncG9pbnRl
cm92ZXInOyIKKyAgICAgICAgIG9ucG9pbnRlcmxlYXZlPSJ3aW5kb3cuZXZlbnRIYXBwZW5lZCA9
ICdwb2ludGVybGVhdmUnOyIKKyAgICAgICAgIG9ucG9pbnRlcmVudGVyPSJ3aW5kb3cuZXZlbnRI
YXBwZW5lZCA9ICdwb2ludGVyZW50ZXInOyIKKyAgICAgICAgIG9uZ290cG9pbnRlcmNhcHR1cmU9
IndpbmRvdy5ldmVudEhhcHBlbmVkID0gJ2dvdHBvaW50ZXJjYXB0dXJlJzsiCisgICAgICAgICBv
bmxvc3Rwb2ludGVyY2FwdHVyZT0id2luZG93LmV2ZW50SGFwcGVuZWQgPSAnbG9zdHBvaW50ZXJj
YXB0dXJlJzsiCisgICAgPjwvZGl2PgorICAgIDxzY3JpcHQ+CisgICAgICAgIHdpbmRvdy5ldmVu
dEhhcHBlbmVkID0gJyc7CisKKyAgICAgICAgQWxsX1BvaW50ZXJfRXZlbnRzLmZvckVhY2goZnVu
Y3Rpb24oZXZlbnQpIHsKKyAgICAgICAgICAgIHZhciBvbl9ldmVudCA9ICJvbiIgKyBldmVudDsK
KworICAgICAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgY29uc3QgaHRt
bEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CisgICAgICAgICAgICAg
IGNvbnN0IHN2Z0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIiwgImciKTsKKyAgICAgICAgICAgICAgZm9yICh2YXIgbG9jYXRpb24g
b2YgW3dpbmRvdywgaHRtbEVsZW1lbnQsIHN2Z0VsZW1lbnQsIGRvY3VtZW50XSkgeworICAgICAg
ICAgICAgICAgIGFzc2VydF9lcXVhbHMobG9jYXRpb25bb25fZXZlbnRdLCBudWxsLAorICAgICAg
ICAgICAgICAgICAgYFRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSBpcyBudWxsIGZv
ciBhICR7bG9jYXRpb24uY29uc3RydWN0b3IubmFtZX0gaW5zdGFuY2VgKTsKKyAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSwgIlRoZSBkZWZhdWx0IHZhbHVlIG9mICIgKyBvbl9ldmVudCAr
ICIgaXMgYWx3YXlzIG51bGwiKTsKKworICAgICAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgICAgd2luZG93LmV2ZW50SGFwcGVuZWQgPSAnJzsKKyAgICAgICAgICAgICAgY29u
c3QgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiN0YXJnZXQwIik7CisgICAgICAg
ICAgICAgIGNvbnN0IGNvbXBpbGVkSGFuZGxlciA9IGVsZW1lbnRbb25fZXZlbnRdOworICAgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBjb21waWxlZEhhbmRsZXIsICJmdW5jdGlvbiIs
ICJUaGUgIiArIG9uX2V2ZW50ICsgIiBwcm9wZXJ0eSBtdXN0IGJlIGEgZnVuY3Rpb24iKTsKKyAg
ICAgICAgICAgICAgY29tcGlsZWRIYW5kbGVyKCk7CisgICAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMod2luZG93LmV2ZW50SGFwcGVuZWQsIGV2ZW50LCAiQ2FsbGluZyB0aGUgaGFuZGxlciBtdXN0
IHJ1biB0aGUgY29kZSIpOworICAgICAgICAgICAgfSwgIlRoZSAiICsgb25fZXZlbnQgKyAiIGNv
bnRlbnQgYXR0cmlidXRlIG11c3QgYmUgY29tcGlsZWQgaW50byB0aGUgIiArIG9uX2V2ZW50ICsg
IiBwcm9wZXJ0eSIpOworCisgICAgICAgICAgICB2YXIgaGFuZGxlclRlc3QgPSBhc3luY190ZXN0
KCJkaXNwYXRjaGluZyBhICIgKyBldmVudCArICIgZXZlbnQgbXVzdCB0cmlnZ2VyIGVsZW1lbnQu
IiArIG9uX2V2ZW50KTsKKyAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJtZXRhIik7CisgICAgICAgICAgICBlbGVtZW50W29uX2V2ZW50XSA9IGZ1bmN0
aW9uKGUpIHsKKyAgICAgICAgICAgICAgaGFuZGxlclRlc3Quc3RlcChmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGUuY3VycmVudFRhcmdldCwgZWxlbWVudCwgIlRo
ZSBldmVudCBtdXN0IGJlIGZpcmVkIGF0IHRoZSA8bWV0YT4gZWxlbWVudCIpOworICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgICAgaGFuZGxlclRlc3QuZG9uZSgpOworICAgICAgICAgICAg
fTsKKyAgICAgICAgICAgIGVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoZXZlbnQpKTsK
KyAgICAgICAgfSk7CisgICAgPC9zY3JpcHQ+CisgICAgPGRpdiBpZD0iY29tcGxldGUtbm90aWNl
Ij4KKyAgICA8cD5UaGUgZm9sbG93aW5nIHBvaW50ZXIgdHlwZXMgd2VyZSBkZXRlY3RlZDogPHNw
YW4gaWQ9InBvaW50ZXJ0eXBlLWxvZyI+PC9zcGFuPi48L3A+CisgICAgPC9kaXY+CisgICAgPGRp
diBpZD0ibG9nIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvcG9p
bnRlcmV2ZW50X3N0eWxlcy5jc3MgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3BvaW50ZXJldmVudHMvcG9pbnRlcmV2ZW50X3N0eWxlcy5jc3MKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMWVlM2IwYjM5NjVmZjlmYjNjNTk2MGY2MDZjY2E2NDc3Y2UxNDVhOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRl
cmV2ZW50cy9wb2ludGVyZXZlbnRfc3R5bGVzLmNzcwpAQCAtMCwwICsxLDExMiBAQAorI2lubmVy
RnJhbWUgeworcG9zaXRpb246IGFic29sdXRlOwordG9wOiAzMDBweDsKK2xlZnQ6IDIwMHB4Owor
aGVpZ2h0OiAxMDBweDsKK3dpZHRoOiAxMDBweDsKK30KKworLnNwYWNlciB7CitoZWlnaHQ6IDEw
MHB4OworfQorCisjc3F1YXJlMSB7Cit0b3A6IDMzMHB4OworbGVmdDogMTUwcHg7CitiYWNrZ3Jv
dW5kOiBibGFjazsKK30KKworI3NxdWFyZTIgewordG9wOiA1MHB4OworbGVmdDogMzBweDsKK3Zp
c2liaWxpdHk6IGhpZGRlbjsKK2JhY2tncm91bmQ6IHJlZDsKK30KKworLnNxdWFyZSB7CitoZWln
aHQ6IDIwcHg7Cit3aWR0aDogMjBweDsKK3Bvc2l0aW9uOiBhYnNvbHV0ZTsKK3BhZGRpbmc6IDBw
eDsKK30KKworI3RhcmdldDAgeworYmFja2dyb3VuZDogYmxhY2s7Citjb2xvcjogd2hpdGU7Cit3
aGl0ZS1zcGFjZTogbm93cmFwOworb3ZlcmZsb3cteTogYXV0bzsKK292ZXJmbG93LXg6IGF1dG87
Cit9CisKKyN0YXJnZXQxIHsKK2JhY2tncm91bmQ6IHB1cnBsZTsKK2NvbG9yOiB3aGl0ZTsKK3do
aXRlLXNwYWNlOiBub3dyYXA7CitvdmVyZmxvdy15OiBhdXRvOworb3ZlcmZsb3cteDogYXV0bzsK
K30KKworI3Njcm9sbFRhcmdldCB7CisgIGJhY2tncm91bmQ6IGRhcmtibHVlOworfQorCisudG91
Y2hBY3Rpb25Ob25lIHsKK3RvdWNoLWFjdGlvbjogbm9uZTsKK30KKworI2lubmVyZnJhbWUgewor
d2lkdGg6IDkwJTsKK21hcmdpbjogMTBweDsKK21hcmdpbi1sZWZ0OiAxMCU7CitoZWlnaHQ6IDIw
MHB4OworfQorCisuc2Nyb2xsZXIgeword2lkdGg6IDcwMHB4OworaGVpZ2h0OiA0MzBweDsKK21h
cmdpbjogMjBweDsKK292ZXJmbG93OiBhdXRvOworYmFja2dyb3VuZDogYmxhY2s7Cit9CisKKy5z
Y3JvbGxlciA+IGRpdiB7CitoZWlnaHQ6IDEwMDBweDsKK3dpZHRoOiAxMDAwcHg7Citjb2xvcjog
d2hpdGU7Cit9CisKKy5zY3JvbGxlciA+IGRpdiBkaXYgeworaGVpZ2h0OiAxMDAlOword2lkdGg6
IDEwMCU7Citjb2xvcjogd2hpdGU7Cit9CisKK2RpdiB7CittYXJnaW46IDBlbTsKK3BhZGRpbmc6
IDJlbTsKK30KKworI2NvbXBsZXRlLW5vdGljZSB7CitiYWNrZ3JvdW5kOiAjYWZhOworYm9yZGVy
OiAxcHggc29saWQgIzBhMDsKK2Rpc3BsYXk6IG5vbmU7Cit9CisKKyNwb2ludGVydHlwZS1sb2cg
eworZm9udC13ZWlnaHQ6IGJvbGQ7Cit9CisKKyNldmVudC1sb2cgeworZm9udC13ZWlnaHQ6IGJv
bGQ7Cit9CisKKyNsaXN0ZW5lciB7CitiYWNrZ3JvdW5kOiBvcmFuZ2U7Citib3JkZXI6IDFweCBz
b2xpZCBvcmFuZ2U7Citwb3NpdGlvbjogYWJzb2x1dGU7Cit0b3A6IC0xMDBweDsKK30KKworYm9k
eS5zY3JvbGxhYmxlIHsKK21pbi1oZWlnaHQ6IDUwMDBweDsKK30KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9wb2lu
dGVyZXZlbnRfc3VwcG9ydC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9wb2ludGVyZXZlbnRfc3VwcG9ydC5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iZjY4Zjg1ZmUwOGNiYTkwNDNjZThkMjAxMzkyNDE3MDg3ZTliOTA1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVy
ZXZlbnRzL3BvaW50ZXJldmVudF9zdXBwb3J0LmpzCkBAIC0wLDAgKzEsMjYyIEBACit2YXIgQWxs
X1BvaW50ZXJfRXZlbnRzID0gWworICAgICAgICAicG9pbnRlcmRvd24iLAorICAgICAgICAicG9p
bnRlcnVwIiwKKyAgICAgICAgInBvaW50ZXJjYW5jZWwiLAorICAgICAgICAicG9pbnRlcm1vdmUi
LAorICAgICAgICAicG9pbnRlcm92ZXIiLAorICAgICAgICAicG9pbnRlcm91dCIsCisgICAgICAg
ICJwb2ludGVyZW50ZXIiLAorICAgICAgICAicG9pbnRlcmxlYXZlIiwKKyAgICAgICAgImdvdHBv
aW50ZXJjYXB0dXJlIiwKKyAgICAgICAgImxvc3Rwb2ludGVyY2FwdHVyZSJdOworCisvLyBDaGVj
ayBmb3IgY29uZm9ybWFuY2UgdG8gUG9pbnRlckV2ZW50IGludGVyZmFjZQorLy8gVEE6IDEuMSwg
MS4yLCAxLjYsIDEuNywgMS44LCAxLjksIDEuMTAsIDEuMTEsIDEuMTIsIDEuMTMKK2Z1bmN0aW9u
IGNoZWNrX1BvaW50ZXJFdmVudChldmVudCwgdGVzdE5hbWVQcmVmaXgpIHsKKyAgICBpZiAodGVz
dE5hbWVQcmVmaXggPT09IHVuZGVmaW5lZCkKKyAgICAgICAgdGVzdE5hbWVQcmVmaXggPSAiIjsK
KworICAgIC8vIFVzZSBleHBlY3RlZFBvaW50ZXJUeXBlIGlmIHNldCBvdGhlcndpc2UganVzdCB1
c2UgdGhlIGluY29taW5nIGV2ZW50IHBvaW50ZXJUeXBlIGluIHRoZSB0ZXN0IG5hbWUuCisgICAg
dmFyIHBvaW50ZXJUZXN0TmFtZSA9IHRlc3ROYW1lUHJlZml4ICsgJyAnICsgKGV4cGVjdGVkUG9p
bnRlclR5cGUgPT0gbnVsbCA/IGV2ZW50LnBvaW50ZXJUeXBlIDogZXhwZWN0ZWRQb2ludGVyVHlw
ZSkgKyAnICcgKyBldmVudC50eXBlOworCisgICAgaWYgKGV4cGVjdGVkUG9pbnRlclR5cGUgIT0g
bnVsbCkgeworICAgICAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIGFzc2VydF9l
cXVhbHMoZXZlbnQucG9pbnRlclR5cGUsIGV4cGVjdGVkUG9pbnRlclR5cGUsICJwb2ludGVyVHlw
ZSBzaG91bGQgYmUgdGhlIG9uZSBzcGVjaWZpZWQgaW4gdGhlIHRlc3QgcGFnZS4iKTsKKyAgICAg
ICAgfSwgcG9pbnRlclRlc3ROYW1lICsgIiBldmVudCBwb2ludGVyVHlwZSBpcyBjb3JyZWN0LiIp
OworICAgIH0KKworICAgIHRlc3QoZnVuY3Rpb24gKCkgeworICAgICAgICBhc3NlcnRfdHJ1ZShl
dmVudCBpbnN0YW5jZW9mIGV2ZW50LnRhcmdldC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LlBv
aW50ZXJFdmVudCwgImV2ZW50IGlzIGEgUG9pbnRlckV2ZW50IGV2ZW50Iik7CisgICAgfSwgcG9p
bnRlclRlc3ROYW1lICsgIiBldmVudCBpcyBhIFBvaW50ZXJFdmVudCBldmVudCIpOworCisKKyAg
ICAvLyBDaGVjayBhdHRyaWJ1dGVzIGZvciBjb25mb3JtYW5jZSB0byBXZWJJREw6CisgICAgLy8g
KiBhdHRyaWJ1dGUgZXhpc3RzCisgICAgLy8gKiBoYXMgcHJvcGVyIHR5cGUKKyAgICAvLyAqIGlm
IHRoZSBhdHRyaWJ1dGUgaXMgInJlYWRvbmx5IiwgaXQgY2Fubm90IGJlIGNoYW5nZWQKKyAgICAv
LyBUQTogMS4xLCAxLjIKKyAgICB2YXIgaWRsX3R5cGVfY2hlY2sgPSB7CisgICAgICAgICJsb25n
IjogZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHR5cGVvZiB2ID09PSAibnVtYmVyIiAmJiBNYXRoLnJv
dW5kKHYpID09PSB2OyB9LAorICAgICAgICAiZmxvYXQiOiBmdW5jdGlvbiAodikgeyByZXR1cm4g
dHlwZW9mIHYgPT09ICJudW1iZXIiOyB9LAorICAgICAgICAic3RyaW5nIjogZnVuY3Rpb24gKHYp
IHsgcmV0dXJuIHR5cGVvZiB2ID09PSAic3RyaW5nIjsgfSwKKyAgICAgICAgImJvb2xlYW4iOiBm
dW5jdGlvbiAodikgeyByZXR1cm4gdHlwZW9mIHYgPT09ICJib29sZWFuIiB9LAorICAgICAgICAi
b2JqZWN0IjogZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHR5cGVvZiB2ID09PSAib2JqZWN0IiB9Cisg
ICAgfTsKKyAgICBbCisgICAgICAgIFsicmVhZG9ubHkiLCAibG9uZyIsICJwb2ludGVySWQiXSwK
KyAgICAgICAgWyJyZWFkb25seSIsICJmbG9hdCIsICJ3aWR0aCJdLAorICAgICAgICBbInJlYWRv
bmx5IiwgImZsb2F0IiwgImhlaWdodCJdLAorICAgICAgICBbInJlYWRvbmx5IiwgImZsb2F0Iiwg
InByZXNzdXJlIl0sCisgICAgICAgIFsicmVhZG9ubHkiLCAibG9uZyIsICJ0aWx0WCJdLAorICAg
ICAgICBbInJlYWRvbmx5IiwgImxvbmciLCAidGlsdFkiXSwKKyAgICAgICAgWyJyZWFkb25seSIs
ICJzdHJpbmciLCAicG9pbnRlclR5cGUiXSwKKyAgICAgICAgWyJyZWFkb25seSIsICJib29sZWFu
IiwgImlzUHJpbWFyeSJdLAorICAgICAgICBbInJlYWRvbmx5IiwgImxvbmciLCAiZGV0YWlsIiwg
MF0sCisgICAgICAgIFsicmVhZG9ubHkiLCAib2JqZWN0IiwgImZyb21FbGVtZW50IiwgbnVsbF0s
CisgICAgICAgIFsicmVhZG9ubHkiLCAib2JqZWN0IiwgInRvRWxlbWVudCIsIG51bGxdCisgICAg
XS5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyKSB7CisgICAgICAgIHZhciByZWFkb25seSA9IGF0dHJb
MF07CisgICAgICAgIHZhciB0eXBlID0gYXR0clsxXTsKKyAgICAgICAgdmFyIG5hbWUgPSBhdHRy
WzJdOworICAgICAgICB2YXIgdmFsdWUgPSBhdHRyWzNdOworCisgICAgICAgIC8vIGV4aXN0ZW5j
ZSBjaGVjaworICAgICAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIGFzc2VydF90
cnVlKG5hbWUgaW4gZXZlbnQsIG5hbWUgKyAiIGF0dHJpYnV0ZSBpbiAiICsgZXZlbnQudHlwZSAr
ICIgZXZlbnQiKTsKKyAgICAgICAgfSwgcG9pbnRlclRlc3ROYW1lICsgIi4iICsgbmFtZSArICIg
YXR0cmlidXRlIGV4aXN0cyIpOworCisgICAgICAgIC8vIHJlYWRvbmx5IGNoZWNrCisgICAgICAg
IGlmIChyZWFkb25seSA9PT0gInJlYWRvbmx5IikgeworICAgICAgICAgICAgdGVzdChmdW5jdGlv
biAoKSB7CisgICAgICAgICAgICAgICAgYXNzZXJ0X3JlYWRvbmx5KGV2ZW50LnR5cGUsIG5hbWUs
IGV2ZW50LnR5cGUgKyAiLiIgKyBuYW1lICsgIiBjYW5ub3QgYmUgY2hhbmdlZCIpOworICAgICAg
ICAgICAgfSwgcG9pbnRlclRlc3ROYW1lICsgIi4iICsgbmFtZSArICIgaXMgcmVhZG9ubHkiKTsK
KyAgICAgICAgfQorCisgICAgICAgIC8vIHR5cGUgY2hlY2sKKyAgICAgICAgdGVzdChmdW5jdGlv
biAoKSB7CisgICAgICAgICAgICBhc3NlcnRfdHJ1ZShpZGxfdHlwZV9jaGVja1t0eXBlXShldmVu
dFtuYW1lXSksIG5hbWUgKyAiIGF0dHJpYnV0ZSBvZiB0eXBlICIgKyB0eXBlKTsKKyAgICAgICAg
fSwgcG9pbnRlclRlc3ROYW1lICsgIi4iICsgbmFtZSArICIgSURMIHR5cGUgIiArIHR5cGUgKyAi
IChKUyB0eXBlIHdhcyAiICsgdHlwZW9mIGV2ZW50W25hbWVdICsgIikiKTsKKworICAgICAgICAv
LyB2YWx1ZSBjaGVjayBpZiBkZWZpbmVkCisgICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVk
KSB7CisgICAgICAgICAgICB0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKGV2ZW50W25hbWVdLCB2YWx1ZSwgbmFtZSArICIgYXR0cmlidXRlIHZhbHVlIik7
CisgICAgICAgICAgICB9LCBwb2ludGVyVGVzdE5hbWUgKyAiLiIgKyBuYW1lICsgIiB2YWx1ZSBp
cyAiICsgdmFsdWUgKyAiLiIpOworICAgICAgICB9CisgICAgfSk7CisKKworICAgIC8vIENoZWNr
IHRoZSBwcmVzc3VyZSB2YWx1ZQorICAgIC8vIFRBOiAxLjYsIDEuNywgMS44CisgICAgdGVzdChm
dW5jdGlvbiAoKSB7CisgICAgICAgIC8vIFRBOiAxLjYKKyAgICAgICAgYXNzZXJ0X2dyZWF0ZXJf
dGhhbl9lcXVhbChldmVudC5wcmVzc3VyZSwgMCwgInByZXNzdXJlIGlzIGdyZWF0ZXIgdGhhbiBv
ciBlcXVhbCB0byAwIik7CisgICAgICAgIGFzc2VydF9sZXNzX3RoYW5fZXF1YWwoZXZlbnQucHJl
c3N1cmUsIDEsICJwcmVzc3VyZSBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMSIpOworCisgICAg
ICAgIGlmIChldmVudC5idXR0b25zID09PSAwKSB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KGV2ZW50LnByZXNzdXJlLCAwLCAicHJlc3N1cmUgaXMgMCBmb3IgbW91c2Ugd2l0aCBubyBidXR0
b25zIHByZXNzZWQiKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFRBOiAxLjcsIDEuOAorICAg
ICAgICBpZiAoZXZlbnQucG9pbnRlclR5cGUgPT09ICJtb3VzZSIpIHsKKyAgICAgICAgICAgIGlm
IChldmVudC5idXR0b25zICE9PSAwKSB7CisgICAgICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhl
dmVudC5wcmVzc3VyZSwgMC41LCAicHJlc3N1cmUgaXMgMC41IGZvciBtb3VzZSB3aXRoIGEgYnV0
dG9uIHByZXNzZWQiKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0sIHBvaW50ZXJU
ZXN0TmFtZSArICIucHJlc3N1cmUgdmFsdWUgaXMgdmFsaWQiKTsKKworICAgIC8vIENoZWNrIG1v
dXNlLXNwZWNpZmljIHByb3BlcnRpZXMKKyAgICBpZiAoZXZlbnQucG9pbnRlclR5cGUgPT09ICJt
b3VzZSIpIHsKKyAgICAgICAgLy8gVEE6IDEuOSwgMS4xMCwgMS4xMworICAgICAgICB0ZXN0KGZ1
bmN0aW9uICgpIHsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQud2lkdGgsIDEsICJ3
aWR0aCBvZiBtb3VzZSBzaG91bGQgYmUgMSIpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhl
dmVudC5oZWlnaHQsIDEsICJoZWlnaHQgb2YgbW91c2Ugc2hvdWxkIGJlIDEiKTsKKyAgICAgICAg
ICAgIGFzc2VydF9lcXVhbHMoZXZlbnQudGlsdFgsIDAsIGV2ZW50LnR5cGUgKyAiLnRpbHRYIGlz
IDAgZm9yIG1vdXNlIik7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnRpbHRZLCAw
LCBldmVudC50eXBlICsgIi50aWx0WSBpcyAwIGZvciBtb3VzZSIpOworICAgICAgICAgICAgYXNz
ZXJ0X3RydWUoZXZlbnQuaXNQcmltYXJ5LCBldmVudC50eXBlICsgIi5pc1ByaW1hcnkgaXMgdHJ1
ZSBmb3IgbW91c2UiKTsKKyAgICAgICAgfSwgcG9pbnRlclRlc3ROYW1lICsgIiBwcm9wZXJ0aWVz
IGZvciBwb2ludGVyVHlwZSA9IG1vdXNlIik7CisgICAgICAgIC8vIENoZWNrIHByb3BlcnRpZXMg
Zm9yIHBvaW50ZXJzIG90aGVyIHRoYW4gbW91c2UKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHNob3dQ
b2ludGVyVHlwZXMoKSB7CisgICAgdmFyIGNvbXBsZXRlX25vdGljZSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb21wbGV0ZS1ub3RpY2UiKTsKKyAgICB2YXIgcG9pbnRlcnR5cGVfbG9nID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBvaW50ZXJ0eXBlLWxvZyIpOworICAgIHZhciBwb2lu
dGVydHlwZXMgPSBPYmplY3Qua2V5cyhkZXRlY3RlZF9wb2ludGVydHlwZXMpOworICAgIHBvaW50
ZXJ0eXBlX2xvZy5pbm5lckhUTUwgPSBwb2ludGVydHlwZXMubGVuZ3RoID8KKyAgICAgICAgcG9p
bnRlcnR5cGVzLmpvaW4oIiwiKSA6ICIobm9uZSkiOworICAgIGNvbXBsZXRlX25vdGljZS5zdHls
ZS5kaXNwbGF5ID0gImJsb2NrIjsKK30KKworZnVuY3Rpb24gc2hvd0xvZ2dlZEV2ZW50cygpIHsK
KyAgICB2YXIgZXZlbnRfbG9nX2VsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZXZlbnQt
bG9nIik7CisgICAgZXZlbnRfbG9nX2VsZW0uaW5uZXJIVE1MID0gZXZlbnRfbG9nLmxlbmd0aCA/
IGV2ZW50X2xvZy5qb2luKCIsICIpIDogIihub25lKSI7CisKKyAgICB2YXIgY29tcGxldGVfbm90
aWNlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbXBsZXRlLW5vdGljZSIpOworICAgIGNv
bXBsZXRlX25vdGljZS5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsKK30KKworZnVuY3Rpb24gbG9n
KG1zZywgZWwpIHsKKyAgICBpZiAoKytjb3VudCA+IDEwKXsKKyAgICAgIGNvdW50ID0gMDsKKyAg
ICAgIGVsLmlubmVySFRNTCA9ICcgJzsKKyAgICB9CisgICAgZWwuaW5uZXJIVE1MID0gbXNnICsg
JzsgJyArIGVsLmlubmVySFRNTDsKK30KKworIGZ1bmN0aW9uIGZhaWxPblNjcm9sbCgpIHsKKyAg
ICBhc3NlcnRfdHJ1ZShmYWxzZSwKKyAgICAic2Nyb2xsIHJlY2VpdmVkIHdoaWxlIHNob3VsZG4n
dCIpOworfQorCitmdW5jdGlvbiB1cGRhdGVEZXNjcmlwdGlvbk5leHRTdGVwKCkgeworICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdkZXNjJykuaW5uZXJIVE1MID0gIlRlc3QgRGVzY3JpcHRp
b246IFRyeSB0byBzY3JvbGwgdGV4dCBSSUdIVC4iOworfQorCitmdW5jdGlvbiB1cGRhdGVEZXNj
cmlwdGlvbkNvbXBsZXRlKCkgeworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkZXNjJyku
aW5uZXJIVE1MID0gIlRlc3QgRGVzY3JpcHRpb246IFRlc3QgY29tcGxldGUiOworfQorCitmdW5j
dGlvbiB1cGRhdGVEZXNjcmlwdGlvblNlY29uZFN0ZXBUb3VjaEFjdGlvbkVsZW1lbnQodGFyZ2V0
LCBzY3JvbGxSZXR1cm5JbnRlcnZhbCkgeworICAgIHdpbmRvdy5zdGVwX3RpbWVvdXQoZnVuY3Rp
b24oKSB7CisgICAgb2JqZWN0U2Nyb2xsZXIodGFyZ2V0LCAndXAnLCAwKTt9CisgICAgLCBzY3Jv
bGxSZXR1cm5JbnRlcnZhbCk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rlc2MnKS5p
bm5lckhUTUwgPSAiVGVzdCBEZXNjcmlwdGlvbjogVHJ5IHRvIHNjcm9sbCBlbGVtZW50IFJJR0hU
IG1vdmluZyB5b3VyIG91dHNpZGUgb2YgdGhlIHJlZCBib3JkZXIiOworfQorCitmdW5jdGlvbiB1
cGRhdGVEZXNjcmlwdGlvblRoaXJkU3RlcFRvdWNoQWN0aW9uRWxlbWVudCh0YXJnZXQsIHNjcm9s
bFJldHVybkludGVydmFsLCBjYWxsYmFjayA9IG51bGwpIHsKKyAgICB3aW5kb3cuc3RlcF90aW1l
b3V0KGZ1bmN0aW9uKCkgeworICAgICAgICBvYmplY3RTY3JvbGxlcih0YXJnZXQsICdsZWZ0Jywg
MCk7CisgICAgICAgIGlmIChjYWxsYmFjaykgeworICAgICAgICAgICAgY2FsbGJhY2soKTsKKyAg
ICAgICAgfQorICAgIH0sIHNjcm9sbFJldHVybkludGVydmFsKTsKKyAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnZGVzYycpLmlubmVySFRNTCA9ICJUZXN0IERlc2NyaXB0aW9uOiBUcnkgdG8g
c2Nyb2xsIGVsZW1lbnQgRE9XTiB0aGVuIFJJR0hUIHN0YXJ0aW5nIHlvdXIgdG91Y2ggaW5zaWRl
IG9mIHRoZSBlbGVtZW50LiBUaGVuIHRhcCBjb21wbGV0ZSBidXR0b24iOworfQorCitmdW5jdGlv
biB1cGRhdGVEZXNjcmlwdGlvbkZvdXJ0aFN0ZXBUb3VjaEFjdGlvbkVsZW1lbnQodGFyZ2V0LCBz
Y3JvbGxSZXR1cm5JbnRlcnZhbCkgeworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkZXNj
JykuaW5uZXJIVE1MID0gIlRlc3QgRGVzY3JpcHRpb246IFRyeSB0byBzY3JvbGwgZWxlbWVudCBS
SUdIVCBzdGFydGluZyB5b3VyIHRvdWNoIGluc2lkZSBvZiB0aGUgZWxlbWVudCI7Cit9CisKK2Z1
bmN0aW9uIG9iamVjdFNjcm9sbGVyKHRhcmdldCwgZGlyZWN0aW9uLCB2YWx1ZSkgeworICAgIGlm
IChkaXJlY3Rpb24gPT0gJ3VwJykgeworICAgICAgICB0YXJnZXQuc2Nyb2xsVG9wID0gMDsKKyAg
ICB9IGVsc2UgaWYgKGRpcmVjdGlvbiA9PSAnbGVmdCcpIHsKKyAgICAgICAgdGFyZ2V0LnNjcm9s
bExlZnQgPSAwOworICAgIH0KK30KKworZnVuY3Rpb24gc1BvaW50ZXJDYXB0dXJlKGUpIHsKKyAg
ICB0cnkgeworICAgICAgICB0YXJnZXQwLnNldFBvaW50ZXJDYXB0dXJlKGUucG9pbnRlcklkKTsK
KyAgICB9CisgICAgY2F0Y2goZSkgeworICAgIH0KK30KKworZnVuY3Rpb24gclBvaW50ZXJDYXB0
dXJlKGUpIHsKKyAgICB0cnkgeworICAgICAgICBjYXB0dXJlQnV0dG9uLnZhbHVlID0gJ1NldCBD
YXB0dXJlJzsKKyAgICAgICAgdGFyZ2V0MC5yZWxlYXNlUG9pbnRlckNhcHR1cmUoZS5wb2ludGVy
SWQpOworICAgIH0KKyAgICBjYXRjaChlKSB7CisgICAgfQorfQorCit2YXIgZ2xvYmFsUG9pbnRl
ckV2ZW50VGVzdCA9IG51bGw7Cit2YXIgZXhwZWN0ZWRQb2ludGVyVHlwZSA9IG51bGw7Citjb25z
dCBBTExfUE9JTlRFUlMgPSBbJ21vdXNlJywgJ3RvdWNoJywgJ3BlbiddOworY29uc3QgSE9WRVJB
QkxFX1BPSU5URVJTID0gWydtb3VzZScsICdwZW4nXTsKK2NvbnN0IE5PSE9WRVJfUE9JTlRFUlMg
PSBbJ3RvdWNoJ107CisKK2Z1bmN0aW9uIE11bHRpUG9pbnRlclR5cGVUZXN0KHRlc3ROYW1lLCB0
eXBlcykgeworICAgIHRoaXMudGVzdE5hbWUgPSB0ZXN0TmFtZTsKKyAgICB0aGlzLnR5cGVzID0g
dHlwZXM7CisgICAgdGhpcy5jdXJyZW50VHlwZUluZGV4ID0gMDsKKyAgICB0aGlzLmN1cnJlbnRU
ZXN0ID0gbnVsbDsKKyAgICB0aGlzLmNyZWF0ZU5leHRUZXN0KCk7Cit9CisKK011bHRpUG9pbnRl
clR5cGVUZXN0LnByb3RvdHlwZS5zdGVwID0gZnVuY3Rpb24ob3ApIHsKKyAgICB0aGlzLmN1cnJl
bnRUZXN0LnN0ZXAob3ApOworfQorCitNdWx0aVBvaW50ZXJUeXBlVGVzdC5wcm90b3R5cGUuc2tp
cCA9IGZ1bmN0aW9uKCkgeworICAgIHZhciBwcmV2VGVzdCA9IHRoaXMuY3VycmVudFRlc3Q7Cisg
ICAgdGhpcy5jcmVhdGVOZXh0VGVzdCgpOworICAgIHByZXZUZXN0LnRpbWVvdXQoKTsKK30KKwor
TXVsdGlQb2ludGVyVHlwZVRlc3QucHJvdG90eXBlLmRvbmUgPSBmdW5jdGlvbigpIHsKKyAgICBp
ZiAodGhpcy5jdXJyZW50VGVzdC5zdGF0dXMgIT0gMSkgeworICAgICAgICB2YXIgcHJldlRlc3Qg
PSB0aGlzLmN1cnJlbnRUZXN0OworICAgICAgICB0aGlzLmNyZWF0ZU5leHRUZXN0KCk7CisgICAg
ICAgIGlmIChwcmV2VGVzdCAhPSBudWxsKQorICAgICAgICAgICAgcHJldlRlc3QuZG9uZSgpOwor
ICAgIH0KK30KKworTXVsdGlQb2ludGVyVHlwZVRlc3QucHJvdG90eXBlLnN0ZXAgPSBmdW5jdGlv
bihzdGVwRnVuY3Rpb24pIHsKKyAgICB0aGlzLmN1cnJlbnRUZXN0LnN0ZXAoc3RlcEZ1bmN0aW9u
KTsKK30KKworTXVsdGlQb2ludGVyVHlwZVRlc3QucHJvdG90eXBlLmNyZWF0ZU5leHRUZXN0ID0g
ZnVuY3Rpb24oKSB7CisgICAgaWYgKHRoaXMuY3VycmVudFR5cGVJbmRleCA8IHRoaXMudHlwZXMu
bGVuZ3RoKSB7CisgICAgICAgIHZhciBwb2ludGVyVHlwZURlc2NyaXB0aW9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3BvaW50ZXJUeXBlRGVzY3JpcHRpb24nKTsKKyAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3BvaW50ZXJUeXBlRGVzY3JpcHRpb24nKS5pbm5lckhUTUwgPSAi
Rm9sbG93IHRoZSB0ZXN0IGluc3RydWN0aW9ucyB3aXRoIDxzcGFuIHN0eWxlPSdjb2xvcjogcmVk
Jz4iICsgdGhpcy50eXBlc1t0aGlzLmN1cnJlbnRUeXBlSW5kZXhdICsgIjwvc3Bhbj4uIElmIHlv
dSBkb24ndCBoYXZlIHRoZSBkZXZpY2UgPGEgaHJlZj0namF2YXNjcmlwdDo7JyBvbmNsaWNrPSdn
bG9iYWxQb2ludGVyRXZlbnRUZXN0LnNraXAoKSc+c2tpcCBpdDwvYT4uIjsKKyAgICAgICAgdGhp
cy5jdXJyZW50VGVzdCA9IGFzeW5jX3Rlc3QodGhpcy50eXBlc1t0aGlzLmN1cnJlbnRUeXBlSW5k
ZXhdICsgJyAnICsgdGhpcy50ZXN0TmFtZSk7CisgICAgICAgIGV4cGVjdGVkUG9pbnRlclR5cGUg
PSB0aGlzLnR5cGVzW3RoaXMuY3VycmVudFR5cGVJbmRleF07CisgICAgICAgIHRoaXMuY3VycmVu
dFR5cGVJbmRleCsrOworICAgIH0gZWxzZSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdwb2ludGVyVHlwZURlc2NyaXB0aW9uJykuaW5uZXJIVE1MID0gIiI7CisgICAgfQorICAg
IHJlc2V0VGVzdFN0YXRlKCk7Cit9CisKK2Z1bmN0aW9uIHNldHVwX3BvaW50ZXJldmVudF90ZXN0
KHRlc3ROYW1lLCBzdXBwb3J0ZWRQb2ludGVyVHlwZXMpIHsKKyAgICByZXR1cm4gZ2xvYmFsUG9p
bnRlckV2ZW50VGVzdCA9IG5ldyBNdWx0aVBvaW50ZXJUeXBlVGVzdCh0ZXN0TmFtZSwgc3VwcG9y
dGVkUG9pbnRlclR5cGVzKTsKK30KKworZnVuY3Rpb24gY2hlY2tQb2ludGVyRXZlbnRUeXBlKGV2
ZW50KSB7CisgICAgYXNzZXJ0X2VxdWFscyhldmVudC5wb2ludGVyVHlwZSwgZXhwZWN0ZWRQb2lu
dGVyVHlwZSwgInBvaW50ZXJUeXBlIHNob3VsZCBiZSB0aGUgc2FtZSBhcyB0aGUgcmVxdWVzdGVk
IGRldmljZS4iKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9wb2ludGVyZXZlbnRfdG91Y2gtYWN0aW9uLWls
bGVnYWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJldmVudF90b3VjaC1hY3Rpb24taWxsZWdhbC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTYzYmQyMDU5NDc5ZmU2NTdmYmUyYWY4NjVmNzJiOWIz
MzFiMTU3MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9wb2ludGVyZXZlbnRfdG91Y2gtYWN0aW9uLWls
bGVnYWwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1BvaW50ZXIgRXZlbnRzIHRvdWNo
LWFjdGlvbiBhdHRyaWJ1dGUgc3VwcG9ydAorCitUZXN0IERlc2NyaXB0aW9uOiBUZXN0IHdpbGwg
YXV0b21hdGljYWxseSBjaGVjayBiZWhhdmlvdXIgb2YgZm9sbG93aW5nIGNvbWJpbmF0aW9uczog
J3Bhbi14IG5vbmUnLCAncGFuLXkgbm9uZScsICdhdXRvIG5vbmUnCisKK3RvdWNoLWFjdGlvbjog
bm9uZQorCitUaGUgZm9sbG93aW5nIHBvaW50ZXIgdHlwZXMgd2VyZSBkZXRlY3RlZDogKG5vbmUp
LgorCisKK0ZBSUwgJ3Bhbi14IG5vbmUnIGlzIGNvcnJlY3RlZCBwcm9wZXJseSBhc3NlcnRfdHJ1
ZTogJ3Bhbi14IG5vbmUnIGlzIGNvcnJlY3RlZCBwcm9wZXJseSBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQorRkFJTCAncGFuLXkgbm9uZScgaXMgY29ycmVjdGVkIHByb3Blcmx5IGFzc2VydF90cnVl
OiAncGFuLXkgbm9uZScgaXMgY29ycmVjdGVkIHByb3Blcmx5IGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCitGQUlMICdhdXRvIG5vbmUnIGlzIGNvcnJlY3RlZCBwcm9wZXJseSBhc3NlcnRfdHJ1ZTog
J2F1dG8gbm9uZScgaXMgY29ycmVjdGVkIHByb3Blcmx5IGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcG9pbnRlcmV2ZW50cy9wb2ludGVyZXZlbnRfdG91Y2gtYWN0aW9uLWlsbGVnYWwuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50
cy9wb2ludGVyZXZlbnRfdG91Y2gtYWN0aW9uLWlsbGVnYWwuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZmU2
MTc5ODQwZWVkYTlhMDI1ZTk1MWY4ZmYyOGIyMTFkYTlmYWZlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRz
L3BvaW50ZXJldmVudF90b3VjaC1hY3Rpb24taWxsZWdhbC5odG1sCkBAIC0wLDAgKzEsNjcgQEAK
KzwhZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT50b3Vj
aC1hY3Rpb246IGlsbGVnYWw8L3RpdGxlPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIj4KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0icG9pbnRlcmV2ZW50X3N0eWxlcy5jc3MiPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9InBvaW50ZXJldmVudF9zdXBwb3J0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgI3RhcmdldDAgeworICAgICAgICAg
ICAgd2lkdGg6IDcwMHB4OworICAgICAgICAgICAgaGVpZ2h0OiA1MHB4OworICAgICAgICAgICAg
dG91Y2gtYWN0aW9uOiBwYW4teCBub25lOworICAgICAgICAgICAgfQorICAgICAgICAgICAgI3Rh
cmdldDEgeworICAgICAgICAgICAgd2lkdGg6IDcwMHB4OworICAgICAgICAgICAgaGVpZ2h0OiA1
MHB4OworICAgICAgICAgICAgYmFja2dyb3VuZDogYmxhY2s7CisgICAgICAgICAgICBtYXJnaW4t
dG9wOiA1cHg7CisgICAgICAgICAgICB0b3VjaC1hY3Rpb246IHBhbi15IG5vbmU7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICAjdGFyZ2V0MiB7CisgICAgICAgICAgICB3aWR0aDogNzAwcHg7
CisgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7CisgICAgICAgICAgICBiYWNrZ3JvdW5kOiBibGFj
azsKKyAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDsKKyAgICAgICAgICAgIHRvdWNoLWFjdGlv
bjogYXV0byBub25lOworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8Ym9keSBvbmxvYWQ9InJ1bigpIj4KKyAgICAgICAgPGgxPlBvaW50ZXIgRXZlbnRz
IHRvdWNoLWFjdGlvbiBhdHRyaWJ1dGUgc3VwcG9ydDwvaDE+CisgICAgICAgIDxoNCBpZD0iZGVz
YyI+VGVzdCBEZXNjcmlwdGlvbjogVGVzdCB3aWxsIGF1dG9tYXRpY2FsbHkgY2hlY2sgYmVoYXZp
b3VyIG9mIGZvbGxvd2luZyBjb21iaW5hdGlvbnM6ICdwYW4teCBub25lJywgJ3Bhbi15IG5vbmUn
LCAnYXV0byBub25lJzwvaDQ+CisgICAgICAgIDxkaXYgaWQ9InRhcmdldDAiPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJ0YXJnZXQxIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0idGFyZ2V0MiI+
PC9kaXY+CisgICAgICAgIDxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4KKyAgICAgICAg
ICAgIHZhciBkZXRlY3RlZF9wb2ludGVydHlwZXMgPSB7fTsKKworICAgICAgICAgICAgc2V0dXAo
eyBleHBsaWNpdF9kb25lOiB0cnVlIH0pOworICAgICAgICAgICAgYWRkX2NvbXBsZXRpb25fY2Fs
bGJhY2soc2hvd1BvaW50ZXJUeXBlcyk7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJ1bigpIHsK
KyAgICAgICAgICAgICAgICB2YXIgdGFyZ2V0MCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0
YXJnZXQwJyk7CisgICAgICAgICAgICAgICAgdmFyIHRhcmdldDEgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgndGFyZ2V0MScpOworICAgICAgICAgICAgICAgIHZhciB0YXJnZXQyID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldDInKTsKKworICAgICAgICAgICAgICAgIHRlc3QoZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIGFzc2VydF90cnVlKGdldENvbXB1dGVkU3R5
bGUodGFyZ2V0MCkudG91Y2hBY3Rpb24gPT0gJ2F1dG8nLCAiJ3Bhbi14IG5vbmUnIGlzIGNvcnJl
Y3RlZCBwcm9wZXJseSIpOworICAgICAgICAgICAgICAgIH0sICIncGFuLXggbm9uZScgaXMgY29y
cmVjdGVkIHByb3Blcmx5Iik7CisgICAgICAgICAgICAgICAgdGVzdChmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgICAgICAgICAgYXNzZXJ0X3RydWUoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQxKS50
b3VjaEFjdGlvbiA9PSAnYXV0bycsICIncGFuLXkgbm9uZScgaXMgY29ycmVjdGVkIHByb3Blcmx5
Iik7CisgICAgICAgICAgICAgICAgfSwgIidwYW4teSBub25lJyBpcyBjb3JyZWN0ZWQgcHJvcGVy
bHkiKTsKKyAgICAgICAgICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAg
ICAgICBhc3NlcnRfdHJ1ZShnZXRDb21wdXRlZFN0eWxlKHRhcmdldDIpLnRvdWNoQWN0aW9uID09
ICdhdXRvJywgIidhdXRvIG5vbmUnIGlzIGNvcnJlY3RlZCBwcm9wZXJseSIpOworICAgICAgICAg
ICAgICAgIH0sICInYXV0byBub25lJyBpcyBjb3JyZWN0ZWQgcHJvcGVybHkiKTsKKyAgICAgICAg
ICAgICAgICBkb25lKCk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgICAg
ICA8aDE+dG91Y2gtYWN0aW9uOiBub25lPC9oMT4KKyAgICAgICAgPGRpdiBpZD0iY29tcGxldGUt
bm90aWNlIj4KKyAgICAgICAgICAgIDxwPlRoZSBmb2xsb3dpbmcgcG9pbnRlciB0eXBlcyB3ZXJl
IGRldGVjdGVkOiA8c3BhbiBpZD0icG9pbnRlcnR5cGUtbG9nIj48L3NwYW4+LjwvcD4KKyAgICAg
ICAgPC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9wb2ludGVyZXZl
bnRfdG91Y2gtYWN0aW9uLXZlcmlmaWNhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvcG9pbnRlcmV2ZW50
X3RvdWNoLWFjdGlvbi12ZXJpZmljYXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc3MWJi
YTE2NGM2YjI3ZWQ0ZDYyNGJkMWIxNjk5NTEwYTA4MDEzNWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMv
cG9pbnRlcmV2ZW50X3RvdWNoLWFjdGlvbi12ZXJpZmljYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzMgQEAKK1BvaW50ZXIgRXZlbnRzIHRvdWNoLWFjdGlvbiBhdHRyaWJ1dGUgc3VwcG9y
dAorCitUZXN0IERlc2NyaXB0aW9uOiBUZXN0IHdpbGwgYXV0b21hdGljYWxseSBjaGVjayBwYXJz
aW5nIGJlaGF2aW91ciBvZiB2YXJpb3VzIHRvdWNoLWFjdGlvbiBjb21iaW5hdGlvbnMuCisKK3Rv
dWNoLWFjdGlvbjogYmFzaWMgdmVyaWZpY2F0aW9uCisKKworRkFJTCBkZWZhdWx0IGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChzdHJpbmcpICJh
dXRvIgorRkFJTCBzdHlsZXNoZWV0LW5vbmUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVm
aW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgIm5vbmUiCitGQUlMIGV4cGxpY2l0LWF1
dG8gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3Qg
KHN0cmluZykgImF1dG8iCitGQUlMIGV4cGxpY2l0LXBhbi14IGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChzdHJpbmcpICJwYW4teCIKK0ZBSUwg
ZXhwbGljaXQtcGFuLXkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZp
bmVkIGJ1dCBnb3QgKHN0cmluZykgInBhbi15IgorRkFJTCBleHBsaWNpdC1wYW4teC1wYW4teSBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdvdCAoc3Ry
aW5nKSAicGFuLXggcGFuLXkiCitGQUlMIGV4cGxpY2l0LXBhbi15LXBhbi14IGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChzdHJpbmcpICJwYW4t
eCBwYW4teSIKK0ZBSUwgZXhwbGljaXQtbWFuaXB1bGF0aW9uIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChzdHJpbmcpICJtYW5pcHVsYXRpb24i
CitGQUlMIGV4cGxpY2l0LW5vbmUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkg
dW5kZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgIm5vbmUiCitGQUlMIGV4cGxpY2l0LWludmFsaWQt
MSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdvdCAo
c3RyaW5nKSAiYXV0byIKK0ZBSUwgZXhwbGljaXQtaW52YWxpZC0yIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChzdHJpbmcpICJub25lIgorRkFJ
TCBleHBsaWNpdC1pbnZhbGlkLTMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkg
dW5kZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgImF1dG8iCitGQUlMIGV4cGxpY2l0LWludmFsaWQt
NCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdvdCAo
c3RyaW5nKSAiYXV0byIKK0ZBSUwgZXhwbGljaXQtaW52YWxpZC01IGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChzdHJpbmcpICJhdXRvIgorRkFJ
TCBleHBsaWNpdC1pbnZhbGlkLTYgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkg
dW5kZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgImF1dG8iCitGQUlMIGV4cGxpY2l0LWludmFsaWQt
NyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdvdCAo
c3RyaW5nKSAiYXV0byIKK0ZBSUwgZXhwbGljaXQtaW52YWxpZC04IGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChzdHJpbmcpICJhdXRvIgorRkFJ
TCBleHBsaWNpdC1pbnZhbGlkLTkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkg
dW5kZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgImF1dG8iCitGQUlMIGV4cGxpY2l0LWludmFsaWQt
MTAgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3Qg
KHN0cmluZykgImF1dG8iCitGQUlMIGV4cGxpY2l0LWludmFsaWQtMTEgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgImF1dG8iCitG
QUlMIGV4cGxpY2l0LWludmFsaWQtMTIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5l
ZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgImF1dG8iCitGQUlMIGV4cGxpY2l0LWludmFs
aWQtMTMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBn
b3QgKHN0cmluZykgImF1dG8iCitGQUlMIG5vdC1pbmhlcml0ZWQgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgImF1dG8iCitGQUlM
IGluaGVyaXQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1
dCBnb3QgKHN0cmluZykgIm5vbmUiCitGQUlMIGluaXRpYWwgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKHN0cmluZykgImF1dG8iCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRl
cmV2ZW50cy9wb2ludGVyZXZlbnRfdG91Y2gtYWN0aW9uLXZlcmlmaWNhdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3Bv
aW50ZXJldmVudF90b3VjaC1hY3Rpb24tdmVyaWZpY2F0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjQy
ZDlmNmJkNjcwM2I5NjIwNThiNzlmYWFlNDEzZmJlZDA3NTdjYwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50
cy9wb2ludGVyZXZlbnRfdG91Y2gtYWN0aW9uLXZlcmlmaWNhdGlvbi5odG1sCkBAIC0wLDAgKzEs
NzggQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDx0aXRs
ZT50b3VjaC1hY3Rpb246IGJhc2ljIHZlcmlmaWNhdGlvbjwvdGl0bGU+CisgICAgICAgIDxtZXRh
IG5hbWU9ImFzc2VydCIgY29udGVudD0iVEExNS4yMCAtIFRoZSB0b3VjaC1hY3Rpb24gQ1NTIHBy
b3BlcnR5IGRldGVybWluZXMgd2hldGhlciB0b3VjaCBpbnB1dCBNQVkgdHJpZ2dlciBkZWZhdWx0
IGJlaGF2aW9yIHN1cHBsaWVkIGJ5IHRoZSB1c2VyIGFnZW50LgorICAgICAgICBhdXRvOiBUaGUg
dXNlciBhZ2VudCBNQVkgZGV0ZXJtaW5lIGFueSBwZXJtaXR0ZWQgdG91Y2ggYmVoYXZpb3JzLCBz
dWNoIGFzIHBhbm5pbmcgYW5kIHpvb21pbmcgbWFuaXB1bGF0aW9ucyBvZiB0aGUgdmlld3BvcnQs
IGZvciB0b3VjaGVzIHRoYXQgYmVnaW4gb24gdGhlIGVsZW1lbnQuIAorICAgICAgICBub25lOiBU
b3VjaGVzIHRoYXQgYmVnaW4gb24gdGhlIGVsZW1lbnQgTVVTVCBOT1QgdHJpZ2dlciBkZWZhdWx0
IHRvdWNoIGJlaGF2aW9ycy4KKyAgICAgICAgcGFuLXg6IFRoZSB1c2VyIGFnZW50IE1BWSBjb25z
aWRlciB0b3VjaGVzIHRoYXQgYmVnaW4gb24gdGhlIGVsZW1lbnQgb25seSBmb3IgdGhlIHB1cnBv
c2VzIG9mIGhvcml6b250YWxseSBzY3JvbGxpbmcgdGhlIGVsZW1lbnQncyBuZWFyZXN0IGFuY2Vz
dG9yIHdpdGggaG9yaXpvbnRhbGx5IHNjcm9sbGFibGUgY29udGVudC4KKyAgICAgICAgcGFuLXk6
IFRoZSB1c2VyIGFnZW50IE1BWSBjb25zaWRlciB0b3VjaGVzIHRoYXQgYmVnaW4gb24gdGhlIGVs
ZW1lbnQgb25seSBmb3IgdGhlIHB1cnBvc2VzIG9mIHZlcnRpY2FsbHkgc2Nyb2xsaW5nIHRoZSBl
bGVtZW50J3MgbmVhcmVzdCBhbmNlc3RvciB3aXRoIHZlcnRpY2FsbHkgc2Nyb2xsYWJsZSBjb250
ZW50LgorICAgICAgICBtYW5pcHVsYXRpb246IFRoZSB1c2VyIGFnZW50IE1BWSBjb25zaWRlciB0
b3VjaGVzIHRoYXQgYmVnaW4gb24gdGhlIGVsZW1lbnQgb25seSBmb3IgdGhlIHB1cnBvc2VzIG9m
IHNjcm9sbGluZyBhbmQgY29udGludW91cyB6b29taW5nLiBBbnkgYWRkaXRpb25hbCBiZWhhdmlv
cnMgc3VwcG9ydGVkIGJ5IGF1dG8gYXJlIG91dCBvZiBzY29wZSBmb3IgdGhpcyBzcGVjaWZpY2F0
aW9uLiI+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgiPgorICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3Nz
IiBocmVmPSJwb2ludGVyZXZlbnRfc3R5bGVzLmNzcyI+CisgICAgICAgIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5
bGU+CisgICAgICAgICAgLyoKKyAgICAgICAgICBHaXZlIHNvbWUgcnVsZXMgYmVsb3cgc29tZXRo
aW5nIHRvIG92ZXJyaWRlIGluIG9yZGVyIHRvIHRlc3QKKyAgICAgICAgICB0aGF0IHRoZXkgcmVh
bGx5IGFyZSBiZWluZyBwYXJzZWQKKyAgICAgICAgICAqLworICAgICAgICAgIC5kZWZub25lIHsK
KyAgICAgICAgICB0b3VjaC1hY3Rpb246IG5vbmU7CisgICAgICAgICAgfQorICAgICAgICA8L3N0
eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9InJ1bigpIj4KKyAgICAgICAgPGgy
PlBvaW50ZXIgRXZlbnRzIHRvdWNoLWFjdGlvbiBhdHRyaWJ1dGUgc3VwcG9ydDwvaDI+CisgICAg
ICAgIDxoNCBpZD0iZGVzYyI+VGVzdCBEZXNjcmlwdGlvbjogVGVzdCB3aWxsIGF1dG9tYXRpY2Fs
bHkgY2hlY2sgcGFyc2luZyBiZWhhdmlvdXIgb2YgdmFyaW91cyB0b3VjaC1hY3Rpb24gY29tYmlu
YXRpb25zLjwvaDQ+CisgICAgICAgIDxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4KKyAg
ICAgICAgICAgIHZhciBkZXRlY3RlZF9wb2ludGVydHlwZXMgPSB7fTsKKworICAgICAgICAgICAg
c2V0dXAoeyBleHBsaWNpdF9kb25lOiB0cnVlIH0pOworCisgICAgICAgICAgICBmdW5jdGlvbiBy
dW4oKSB7CisgICAgICAgICAgICAgICAgdmFyIHRlc3RzID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
ckFsbCgnLnRlc3QnKTsKKyAgICAgICAgICAgICAgICAvL1RBIDE1LjIwCisgICAgICAgICAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAg
ICAgICAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgIHZhciBzdHls
ZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRlc3RzW2ldKTsKKyAgICAgICAgICAgICAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKHRlc3RzW2ldLmF0dHJpYnV0ZXMuZXhwZWN0ZWQudmFsdWUsIHN0
eWxlLnRvdWNoQWN0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgfSwgdGVzdHNbaV0uaWQpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBkb25lKCk7CisgICAgICAgICAgICB9
CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8aDE+dG91Y2gtYWN0aW9uOiBiYXNpYyB2ZXJp
ZmljYXRpb248L2gxPgorICAgICAgICA8ZGl2IGlkPSJjb21wbGV0ZS1ub3RpY2UiPgorICAgICAg
ICAgICAgPHA+VGhlIGZvbGxvd2luZyBwb2ludGVyIHR5cGVzIHdlcmUgZGV0ZWN0ZWQ6IDxzcGFu
IGlkPSJwb2ludGVydHlwZS1sb2ciPjwvc3Bhbj4uPC9wPgorICAgICAgICA8L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0idGVzdCIgaWQ9ImRl
ZmF1bHQiIGV4cGVjdGVkPSJhdXRvIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0idGVzdCBk
ZWZub25lIiBpZD0ic3R5bGVzaGVldC1ub25lIiBleHBlY3RlZD0ibm9uZSI+PC9kaXY+CisgICAg
ICAgIDxkaXYgY2xhc3M9InRlc3QgZGVmbm9uZSIgaWQ9ImV4cGxpY2l0LWF1dG8iIHN0eWxlPSJ0
b3VjaC1hY3Rpb246IGF1dG87IiBleHBlY3RlZD0iYXV0byI+PC9kaXY+CisgICAgICAgIDxkaXYg
Y2xhc3M9InRlc3QiIGlkPSJleHBsaWNpdC1wYW4teCIgc3R5bGU9InRvdWNoLWFjdGlvbjogcGFu
LXg7IiBleHBlY3RlZD0icGFuLXgiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0IiBp
ZD0iZXhwbGljaXQtcGFuLXkiIHN0eWxlPSJ0b3VjaC1hY3Rpb246IHBhbi15OyIgZXhwZWN0ZWQ9
InBhbi15Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0idGVzdCIgaWQ9ImV4cGxpY2l0LXBh
bi14LXBhbi15IiBzdHlsZT0idG91Y2gtYWN0aW9uOiBwYW4teCBwYW4teTsiIGV4cGVjdGVkPSJw
YW4teCBwYW4teSI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJleHBsaWNp
dC1wYW4teS1wYW4teCIgc3R5bGU9InRvdWNoLWFjdGlvbjogcGFuLXkgcGFuLXg7IiBleHBlY3Rl
ZD0icGFuLXggcGFuLXkiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iZXhw
bGljaXQtbWFuaXB1bGF0aW9uIiBzdHlsZT0idG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IiBl
eHBlY3RlZD0ibWFuaXB1bGF0aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0idGVzdCIg
aWQ9ImV4cGxpY2l0LW5vbmUiIHN0eWxlPSJ0b3VjaC1hY3Rpb246IG5vbmU7IiBleHBlY3RlZD0i
bm9uZSI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJleHBsaWNpdC1pbnZh
bGlkLTEiIHN0eWxlPSJ0b3VjaC1hY3Rpb246IGJvZ3VzOyIgZXhwZWN0ZWQ9ImF1dG8iPjwvZGl2
PgorICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0IGRlZm5vbmUiIGlkPSJleHBsaWNpdC1pbnZhbGlk
LTIiIHN0eWxlPSJ0b3VjaC1hY3Rpb246IGF1dG8gcGFuLXg7IiBleHBlY3RlZD0ibm9uZSI+PC9k
aXY+CisgICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJleHBsaWNpdC1pbnZhbGlkLTMiIHN0
eWxlPSJ0b3VjaC1hY3Rpb246IHBhbi15IG5vbmU7IiBleHBlY3RlZD0iYXV0byI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJleHBsaWNpdC1pbnZhbGlkLTQiIHN0eWxlPSJ0
b3VjaC1hY3Rpb246IHBhbi14IHBhbi14OyIgZXhwZWN0ZWQ9ImF1dG8iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iZXhwbGljaXQtaW52YWxpZC01IiBzdHlsZT0idG91Y2gt
YWN0aW9uOiBtYW5pcHVsYXRpb24gcGFuLXg7IiBleHBlY3RlZD0iYXV0byI+PC9kaXY+CisgICAg
ICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJleHBsaWNpdC1pbnZhbGlkLTYiIHN0eWxlPSJ0b3Vj
aC1hY3Rpb246IHBhbi14IHBhbi1sZWZ0OyIgZXhwZWN0ZWQ9ImF1dG8iPjwvZGl2PgorICAgICAg
ICA8ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iZXhwbGljaXQtaW52YWxpZC03IiBzdHlsZT0idG91Y2gt
YWN0aW9uOiBhdXRvIHBhbi1sZWZ0OyIgZXhwZWN0ZWQ9ImF1dG8iPjwvZGl2PgorICAgICAgICA8
ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iZXhwbGljaXQtaW52YWxpZC04IiBzdHlsZT0idG91Y2gtYWN0
aW9uOiBub25lIHBhbi1sZWZ0OyIgZXhwZWN0ZWQ9ImF1dG8iPjwvZGl2PgorICAgICAgICA8ZGl2
IGNsYXNzPSJ0ZXN0IiBpZD0iZXhwbGljaXQtaW52YWxpZC05IiBzdHlsZT0idG91Y2gtYWN0aW9u
OiBwYW4teCBwYW4tcmlnaHQ7IiBleHBlY3RlZD0iYXV0byI+PC9kaXY+CisgICAgICAgIDxkaXYg
Y2xhc3M9InRlc3QiIGlkPSJleHBsaWNpdC1pbnZhbGlkLTEwIiBzdHlsZT0idG91Y2gtYWN0aW9u
OiBwYW4teSBwYW4tdXA7IiBleHBlY3RlZD0iYXV0byI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xh
c3M9InRlc3QiIGlkPSJleHBsaWNpdC1pbnZhbGlkLTExIiBzdHlsZT0idG91Y2gtYWN0aW9uOiBw
YW4teSBwYW4tZG93bjsiIGV4cGVjdGVkPSJhdXRvIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFz
cz0idGVzdCIgaWQ9ImV4cGxpY2l0LWludmFsaWQtMTIiIHN0eWxlPSJ0b3VjaC1hY3Rpb246IHBh
bi1sZWZ0IHBhbi1yaWdodDsiIGV4cGVjdGVkPSJhdXRvIj48L2Rpdj4KKyAgICAgICAgPGRpdiBj
bGFzcz0idGVzdCIgaWQ9ImV4cGxpY2l0LWludmFsaWQtMTMiIHN0eWxlPSJ0b3VjaC1hY3Rpb246
IHBhbi11cCBwYW4tZG93bjsiIGV4cGVjdGVkPSJhdXRvIj48L2Rpdj4KKyAgICAgICAgPGRpdiBz
dHlsZT0idG91Y2gtYWN0aW9uOiBub25lOyI+CisgICAgICAgICAgPGRpdiBjbGFzcz0idGVzdCIg
aWQ9Im5vdC1pbmhlcml0ZWQiIGV4cGVjdGVkPSJhdXRvIj48L2Rpdj4KKyAgICAgICAgICA8ZGl2
IGNsYXNzPSJ0ZXN0IiBpZD0iaW5oZXJpdCIgc3R5bGU9InRvdWNoLWFjdGlvbjogaW5oZXJpdDsi
IGV4cGVjdGVkPSJub25lIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xh
c3M9InRlc3QgZGVmbm9uZSIgaWQ9ImluaXRpYWwiIHN0eWxlPSJ0b3VjaC1hY3Rpb246IGluaXRp
YWw7IiBleHBlY3RlZD0iYXV0byI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVy
ZXZlbnRzL3BvaW50ZXJsb2NrL3Jlc291cmNlcy9wb2ludGVyZXZlbnRfbW92ZW1lbnR4eS1pZnJh
bWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9p
bnRlcmV2ZW50cy9wb2ludGVybG9jay9yZXNvdXJjZXMvcG9pbnRlcmV2ZW50X21vdmVtZW50eHkt
aWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjI3YWYzYjYxY2FkNzRiYjExMjU1ODE2OWIxZTY2ZjZh
MjRiMTEyOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9wb2ludGVybG9jay9yZXNvdXJjZXMvcG9pbnRl
cmV2ZW50X21vdmVtZW50eHktaWZyYW1lLmh0bWwKQEAgLTAsMCArMSw4IEBACis8IWRvY3R5cGUg
aHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIj4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJsb2NrL3Jlc291cmNlcy93
M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcG9pbnRlcmV2ZW50cy9wb2ludGVybG9jay9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYWNmNTY1ZTc2NzQwMjUyZThmN2UzYzdhNmQ2NzgwNzk0Y2M1ZDJhNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cG9pbnRlcmV2ZW50cy9wb2ludGVybG9jay9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKQEAgLTAs
MCArMSwxNyBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJv
bSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5
IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdp
dGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVu
IHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWlt
cG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVy
dHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wb2ludGVyZXZlbnRzL3BvaW50ZXJsb2NrL3Jlc291cmNlcy9wb2ludGVyZXZlbnRf
bW92ZW1lbnR4eS1pZnJhbWUuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3Jlc291cmNlcy9wb2ludGVyZXZl
bnRfYXR0cmlidXRlc19ob3ZlcmFibGVfcG9pbnRlcnMtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvcmVzb3VyY2Vz
L3BvaW50ZXJldmVudF9hdHRyaWJ1dGVzX2hvdmVyYWJsZV9wb2ludGVycy1pZnJhbWUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41ZTU1ODY4MjgyY2U1Y2U1NDlmMWQzMjA5MjgzOWYwNWJkNDNhYmE3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9wb2ludGVyZXZlbnRzL3Jlc291cmNlcy9wb2ludGVyZXZlbnRfYXR0cmlidXRlc19ob3ZlcmFi
bGVfcG9pbnRlcnMtaWZyYW1lLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFkb2N0eXBlIGh0bWw+
Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCI+CisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
dHlwZT0idGV4dC9jc3MiIGhyZWY9Ii4uL3BvaW50ZXJldmVudF9zdHlsZXMuY3NzIj4KKyAgICA8
L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxkaXYgaWQ9InNxdWFyZTIiIGNsYXNzPSJzcXVh
cmUiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9yZXNvdXJjZXMv
cG9pbnRlcmV2ZW50X2ZyYWN0aW9uYWxfY29vcmRpbmF0ZXMtaWZyYW1lLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvcmVzb3Vy
Y2VzL3BvaW50ZXJldmVudF9mcmFjdGlvbmFsX2Nvb3JkaW5hdGVzLWlmcmFtZS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjUyNDVhM2YyZTE2YmYxMzk2NzE4NzIzMWRiNTE1NDMzMjE3OTEyYWEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Bv
aW50ZXJldmVudHMvcmVzb3VyY2VzL3BvaW50ZXJldmVudF9mcmFjdGlvbmFsX2Nvb3JkaW5hdGVz
LWlmcmFtZS5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgiPgorICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQv
Y3NzIiBocmVmPSIuLi9wb2ludGVyZXZlbnRfc3R5bGVzLmNzcyI+CisgICAgPC9oZWFkPgorICAg
IDxzdHlsZT4KKyAgICAgICAgLnNxdWFyZSB7CisgICAgICAgICAgICB3aWR0aDogM3B4OworICAg
ICAgICAgICAgaGVpZ2h0OjNweDsKKyAgICAgICAgICAgIGJhY2tncm91bmQ6IGJsYWNrOworICAg
ICAgICAgICAgY3Vyc29yOiBwb2ludGVyOworICAgICAgICB9CisgICAgICAgICNzMSB7CisgICAg
ICAgICAgICB0b3A6IDEwcHg7CisgICAgICAgICAgICBsZWZ0OiAxMHB4OworICAgICAgICB9Cisg
ICAgICAgICNzMiB7CisgICAgICAgICAgICB0b3A6IDMwcHg7CisgICAgICAgICAgICBsZWZ0OiA1
MHB4OworICAgICAgICB9CisgICAgICAgICNzMyB7CisgICAgICAgICAgICB0b3A6IDUwcHg7Cisg
ICAgICAgICAgICBsZWZ0OiAzMHB4OworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8Ym9k
eT4KKyAgICAgICAgPGRpdiBpZD0iczEiIGNsYXNzPSJzcXVhcmUiPjwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJzMiIgY2xhc3M9InNxdWFyZSI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InMzIiBj
bGFzcz0ic3F1YXJlIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMv
cmVzb3VyY2VzL3BvaW50ZXJldmVudF9wb2ludGVySWRfc2NvcGUtaWZyYW1lLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvcmVz
b3VyY2VzL3BvaW50ZXJldmVudF9wb2ludGVySWRfc2NvcGUtaWZyYW1lLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYWIzMzU2MGIzNTIxNmVhMDk3NmQxYzAzNzY1MDEyMmQ5MzM2YWUzOQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRl
cmV2ZW50cy9yZXNvdXJjZXMvcG9pbnRlcmV2ZW50X3BvaW50ZXJJZF9zY29wZS1pZnJhbWUuaHRt
bApAQCAtMCwwICsxLDM1IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDwhLS0KK1Rl
c3QgY2FzZXMgZm9yIFBvaW50ZXIgRXZlbnRzIHYxIHNwZWMKK1RoaXMgZG9jdW1lbnQgcmVmZXJl
bmNlcyBUZXN0IEFzc2VydGlvbnMgKGFiYnJldiBUQSBiZWxvdykgd3JpdHRlbiBieSBDYXRoeSBD
aGFuCitodHRwOi8vd3d3LnczLm9yZy93aWtpL1BvaW50ZXJFdmVudHMvVGVzdEFzc2VydGlvbnMK
Ky0tPgorICAgIDxoZWFkPgorICAgICAgICA8dGl0bGU+UG9pbnRlciBFdmVudHMgcG9pbnRlcmRv
d24gdGVzdHM8L3RpdGxlPgorICAgICAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ZGV2aWNlLXdpZHRoIj4KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBl
PSJ0ZXh0L2NzcyIgaHJlZj0iLi4vcG9pbnRlcmV2ZW50X3N0eWxlcy5jc3MiPgorICAgICAgICA8
c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24gcnVuKCkgeworICAgICAgICAgICAgICAgIHZh
ciB0YXJnZXQxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldDEiKTsKKworICAgICAg
ICAgICAgICAgIHZhciBldmVudExpc3QgPSBbJ3BvaW50ZXJlbnRlcicsICdwb2ludGVyb3Zlcics
ICdwb2ludGVybW92ZScsICdwb2ludGVyb3V0JywgJ3BvaW50ZXJsZWF2ZSddOworCisgICAgICAg
ICAgICAgICAgZXZlbnRMaXN0LmZvckVhY2goZnVuY3Rpb24oZXZlbnROYW1lKSB7CisgICAgICAg
ICAgICAgICAgICAgIHRhcmdldDEuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGZ1bmN0aW9u
IChldmVudCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHBhc3NfZGF0YSA9IHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAncG9pbnRlcklkJyA6IGV2ZW50LnBvaW50ZXJJZCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZScgOiBldmVudC50eXBlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICdwb2ludGVyVHlwZScgOiBldmVudC5wb2ludGVyVHlwZQor
ICAgICAgICAgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRvcC5w
b3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShwYXNzX2RhdGEpLCAiKiIpOworICAgICAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorICAgICAgICA8
L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJydW4oKSI+CisgICAgICAg
IDxkaXYgaWQ9InRhcmdldDEiIGNsYXNzPSJ0b3VjaEFjdGlvbk5vbmUiPgorICAgICAgICA8L2Rp
dj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvcmVzb3VyY2VzL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2lu
dGVyZXZlbnRzL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NDQ0MDlhZmU2
YjQ5YjQ3YjQzYzcyNjQ3Nzk1MDUyZmRkYjUzYTg4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVyZXZlbnRzL3Jlc291
cmNlcy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDE5IEBACitUaGUgdGVzdHMgaW4gdGhpcyBk
aXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBt
b2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEg
cHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWIt
cGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13
M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3Zl
IHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVm
aXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvcmVzb3VyY2Vz
L3BvaW50ZXJldmVudF9hdHRyaWJ1dGVzX2hvdmVyYWJsZV9wb2ludGVycy1pZnJhbWUuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50
cy9yZXNvdXJjZXMvcG9pbnRlcmV2ZW50X2ZyYWN0aW9uYWxfY29vcmRpbmF0ZXMtaWZyYW1lLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJl
dmVudHMvcmVzb3VyY2VzL3BvaW50ZXJldmVudF9wb2ludGVySWRfc2NvcGUtaWZyYW1lLmh0bWwK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cG9pbnRlcmV2ZW50cy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lOTQzNDAyYzk4NzI4MzFkYjlkMmQ2MWI1ZDdmMTA1ZjQxZWVlODI1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wb2ludGVy
ZXZlbnRzL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjUgQEAKK1RoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1v
dmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2ZW50cy9NRVRBLnlt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcG9pbnRlcmV2
ZW50cy9SRUFETUUubWQKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BvaW50ZXJldmVudHMvaWRsaGFybmVzcy53aW5kb3cuanMKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvcG9pbnRlcmV2ZW50X2Nv
bnN0cnVjdG9yLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3BvaW50ZXJldmVudHMvcG9pbnRlcmV2ZW50X29uX2V2ZW50X2hhbmRsZXJzLmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMv
cG9pbnRlcmV2ZW50X3N0eWxlcy5jc3MKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvcG9pbnRlcmV2ZW50X3N1cHBvcnQuanMKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvcG9p
bnRlcmV2ZW50X3RvdWNoLWFjdGlvbi1pbGxlZ2FsLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BvaW50ZXJldmVudHMvcG9pbnRlcmV2ZW50X3RvdWNo
LWFjdGlvbi12ZXJpZmljYXRpb24uaHRtbAo=
</data>
<flag name="review"
          id="367918"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>