<?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>202622</bug_id>
          
          <creation_ts>2019-10-06 20:28:18 -0700</creation_ts>
          <short_desc>[Clipboard API] Introduce bindings for the async Clipboard API</short_desc>
          <delta_ts>2019-10-08 07:50:37 -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>HTML Editing</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="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>annulen</cc>
    
    <cc>bdakin</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>joepeck</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>philipj</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1577285</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-06 20:28:18 -0700</bug_when>
    <thetext>Work in progress towards implementing the async Clipboard API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577365</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-07 09:04:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/56038126&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577373</commentid>
    <comment_count>2</comment_count>
      <attachid>380333</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-07 09:39:05 -0700</bug_when>
    <thetext>Created attachment 380333
IDL files and API stubs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577374</commentid>
    <comment_count>3</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-07 09:40:11 -0700</bug_when>
    <thetext>I’m working on upstreaming the existing web platform tests as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577376</commentid>
    <comment_count>4</comment_count>
      <attachid>380334</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-07 09:45:36 -0700</bug_when>
    <thetext>Created attachment 380334
Fix CMake builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577400</commentid>
    <comment_count>5</comment_count>
      <attachid>380339</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-07 11:22:25 -0700</bug_when>
    <thetext>Created attachment 380339
Adjust WK1 test expectations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577483</commentid>
    <comment_count>6</comment_count>
      <attachid>380339</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-07 13:46:07 -0700</bug_when>
    <thetext>Comment on attachment 380339
Adjust WK1 test expectations.

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

You can fix the GC issue in a separate patch but please be sure to file a bug before landing this so that we won&apos;t forget to fix it.

&gt; Source/WebCore/ChangeLog:9
&gt; +        Adds IDL support for the async clipboard API (with the exception of delayed item generation interfaces, which

Nit: Adds IDL. It&apos;s not like IDL is a feature to support.x

&gt; Source/WebCore/ChangeLog:11
&gt; +

Please add a link to the spec.

&gt; Source/WebCore/ChangeLog:18
&gt; +        * Modules/clipboard/Clipboard.cpp:

Can we use Modules/async-clipboard/ instead?
It&apos;s a bit confusing as is since we already have the support for sync clipboard API support.

&gt; Source/WebCore/Modules/clipboard/Clipboard.h:58
&gt; +    void refEventTarget() final { ref(); }
&gt; +    void derefEventTarget() final { deref(); }

Why do we need these??

&gt; Source/WebCore/Modules/clipboard/Clipboard.idl:32
&gt; +    EnabledBySetting=AsyncClipboardAPI,
&gt; +] interface Clipboard : EventTarget {

Probably need GenerateIsReachable=ReachableFromDOMWindow or something.
Otherwise, the wrapper of this object can be collected.

&gt; Source/WebCore/Modules/clipboard/ClipboardItem.idl:40
&gt; +    ImplementationLacksVTable
&gt; +] interface ClipboardItem {

We need to start thinking about GC model of this object.
You&apos;d probably need to make this item&apos;s Clipboard an opaque root if it&apos;s associated with one.
Alternatively, add GenerateIsReachable=ReachableFromDOMWindow
and make it return DOMWindow* when it&apos;s associated with Clipboard.

&gt; Source/WebCore/Modules/clipboard/NavigatorClipboard.h:43
&gt; +    static Clipboard* clipboard(Navigator&amp;);
&gt; +    Clipboard* clipboard();

Return RefPtr instead?

&gt; LayoutTests/platform/ios-wk1/TestExpectations:19
&gt; +# Async Clipboard API is not supported in WebKit1.
&gt; +editing/clipboard [ Skip ]
&gt; +

Can we add the support in a subsequent patch? It&apos;s not great to have discrepancy between WK1 and WK2 if we can avoid it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577525</commentid>
    <comment_count>7</comment_count>
      <attachid>380339</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-07 15:10:15 -0700</bug_when>
    <thetext>Comment on attachment 380339
Adjust WK1 test expectations.

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

&gt;&gt; Source/WebCore/ChangeLog:9
&gt;&gt; +        Adds IDL support for the async clipboard API (with the exception of delayed item generation interfaces, which
&gt; 
&gt; Nit: Adds IDL. It&apos;s not like IDL is a feature to support.x

Fixed.

&gt;&gt; Source/WebCore/ChangeLog:11
&gt;&gt; +
&gt; 
&gt; Please add a link to the spec.

Added.

&gt;&gt; Source/WebCore/ChangeLog:18
&gt;&gt; +        * Modules/clipboard/Clipboard.cpp:
&gt; 
&gt; Can we use Modules/async-clipboard/ instead?
&gt; It&apos;s a bit confusing as is since we already have the support for sync clipboard API support.

Sure! Renamed to async-clipboard. I also renamed the tests in the editing directory from clipboard to async-clipboard to match.

&gt;&gt; Source/WebCore/Modules/clipboard/Clipboard.h:58
&gt;&gt; +    void derefEventTarget() final { deref(); }
&gt; 
&gt; Why do we need these??

Clipboard is an EventTarget, and these are pure virtual methods on EventTarget. It looks like all other event target subclasses override refEventTarget() and derefEventTarget(), as well.

&gt;&gt; Source/WebCore/Modules/clipboard/Clipboard.idl:32
&gt;&gt; +] interface Clipboard : EventTarget {
&gt; 
&gt; Probably need GenerateIsReachable=ReachableFromDOMWindow or something.
&gt; Otherwise, the wrapper of this object can be collected.

Good catch! I added `GenerateIsReachable=ReachableFromNavigator` here to ensure that the wrapper object is kept alive by the Navigator, and then added a new layout test to verify that the wrapper is kept alive between GC passes.

&gt;&gt; Source/WebCore/Modules/clipboard/ClipboardItem.idl:40
&gt;&gt; +] interface ClipboardItem {
&gt; 
&gt; We need to start thinking about GC model of this object.
&gt; You&apos;d probably need to make this item&apos;s Clipboard an opaque root if it&apos;s associated with one.
&gt; Alternatively, add GenerateIsReachable=ReachableFromDOMWindow
&gt; and make it return DOMWindow* when it&apos;s associated with Clipboard.

Good call. As we chatted about in person, I’ll make this reachable from navigator, with the intention of returning the Clipboard’s navigator if the item is associated with a Clipboard (and otherwise, return null).

Since all APIs are stubs at the moment and there’s no way to get items associated with a Clipboard yet, this will just return null for now, until the subsequent patch that adds support for Clipboard.read().

&gt;&gt; Source/WebCore/Modules/clipboard/NavigatorClipboard.h:43
&gt;&gt; +    Clipboard* clipboard();
&gt; 
&gt; Return RefPtr instead?

Done!

&gt;&gt; LayoutTests/platform/ios-wk1/TestExpectations:19
&gt;&gt; +
&gt; 
&gt; Can we add the support in a subsequent patch? It&apos;s not great to have discrepancy between WK1 and WK2 if we can avoid it.

Okay — I filed https://bugs.webkit.org/show_bug.cgi?id=202654 to track this effort, and referenced the bug in the test expectations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577576</commentid>
    <comment_count>8</comment_count>
      <attachid>380374</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-07 17:09:07 -0700</bug_when>
    <thetext>Created attachment 380374
Incorporate review feedback + rebase on trunk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577581</commentid>
    <comment_count>9</comment_count>
      <attachid>380376</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-07 17:31:03 -0700</bug_when>
    <thetext>Created attachment 380376
Fix WPE build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577584</commentid>
    <comment_count>10</comment_count>
      <attachid>380378</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-07 17:52:38 -0700</bug_when>
    <thetext>Created attachment 380378
Try to fix GTK/WPE build again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577621</commentid>
    <comment_count>11</comment_count>
      <attachid>380386</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-07 20:08:15 -0700</bug_when>
    <thetext>Created attachment 380386
Try to fix GTK/WPE build (3)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577659</commentid>
    <comment_count>12</comment_count>
      <attachid>380401</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-10-07 21:59:01 -0700</bug_when>
    <thetext>Created attachment 380401
Rebase on trunk again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577774</commentid>
    <comment_count>13</comment_count>
      <attachid>380401</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-08 07:50:34 -0700</bug_when>
    <thetext>Comment on attachment 380401
Rebase on trunk again

Clearing flags on attachment: 380401

Committed r250824: &lt;https://trac.webkit.org/changeset/250824&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577775</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-08 07:50:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380333</attachid>
            <date>2019-10-07 09:39:05 -0700</date>
            <delta_ts>2019-10-07 09:45:34 -0700</delta_ts>
            <desc>IDL files and API stubs.</desc>
            <filename>bug-202622-20191007093904.patch</filename>
            <type>text/plain</type>
            <size>63622</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTg4ZDYxYTZjNGJlNGFm
MjA5MjgwOGIwNjYzNjZjNmQ2NDAyMzY2MS4uZDM1NzM4ZGRhZjdmOTc4ODEzMTY4ZDg5ZTBlYjUw
MmUxYjY4YTg0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDE5LTEwLTA3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtDbGlwYm9hcmQg
QVBJXSBJbnRyb2R1Y2UgYmluZGluZ3MgZm9yIHRoZSBhc3luYyBDbGlwYm9hcmQgQVBJCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI2MjIKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzU2MDM4MTI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgSURMIHN1cHBvcnQgZm9yIHRoZSBhc3luYyBjbGlw
Ym9hcmQgQVBJICh3aXRoIHRoZSBleGNlcHRpb24gb2YgZGVsYXllZCBpdGVtIGdlbmVyYXRpb24g
aW50ZXJmYWNlcywgd2hpY2gKKyAgICAgICAgSSdsbCBpdGVyYXRlIG9uIGFuZCBpbnRyb2R1Y2Ug
c2VwYXJhdGVseSkuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9jbGlwYm9hcmQvY2xpcGJvYXJk
LWludGVyZmFjZXMuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIE1vZHVsZXMvY2xpcGJvYXJkL0NsaXBib2FyZC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDbGlwYm9hcmQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OkNsaXBi
b2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OmV2ZW50VGFyZ2V0SW50ZXJmYWNl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZDo6c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OnJlYWRUZXh0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZDo6d3JpdGVUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OkNsaXBib2FyZDo6cmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OndyaXRlKToK
KworICAgICAgICBTdHViIG91dCB0aGVzZSBBUEkgY2FsbHMgZm9yIG5vdyBieSBpbW1lZGlhdGVs
eSByZWplY3RpbmcgdGhlIGdpdmVuIHByb21pc2UuCisKKyAgICAgICAgKiBNb2R1bGVzL2NsaXBi
b2FyZC9DbGlwYm9hcmQuaDoKKyAgICAgICAgKiBNb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmQu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvY2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkSXRlbTo6Q2xpcGJvYXJkSXRlbSk6CisgICAgICAgIChX
ZWJDb3JlOjpDbGlwYm9hcmRJdGVtOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJv
YXJkSXRlbTo6dHlwZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkSXRlbTo6
Z2V0VHlwZSk6CisKKyAgICAgICAgU3R1YiBvdXQgdGhlc2UgQVBJIGNhbGxzIGZvciBub3cgYnkg
aW1tZWRpYXRlbHkgcmVqZWN0aW5nIHRoZSBnaXZlbiBwcm9taXNlLgorCisgICAgICAgICogTW9k
dWxlcy9jbGlwYm9hcmQvQ2xpcGJvYXJkSXRlbS5oOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJv
YXJkSXRlbTo6cHJlc2VudGF0aW9uU3R5bGUgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvY2xp
cGJvYXJkL0NsaXBib2FyZEl0ZW0uaWRsOgorICAgICAgICAqIE1vZHVsZXMvY2xpcGJvYXJkL05h
dmlnYXRvckNsaXBib2FyZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDbGlwYm9h
cmQ6Ok5hdmlnYXRvckNsaXBib2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDbGlw
Ym9hcmQ6OmNsaXBib2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDbGlwYm9hcmQ6
OmZyb20pOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ2xpcGJvYXJkOjpzdXBwbGVtZW50
TmFtZSk6CisgICAgICAgICogTW9kdWxlcy9jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmg6
CisgICAgICAgICogTW9kdWxlcy9jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHA6CisgICAgICAgICogTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
Z3B1L1dlYkdQVVBpcGVsaW5lLmg6CisKKyAgICAgICAgTW9yZSB1bmlmaWVkIHNvdXJjZXMtcmVs
YXRlZCBidWlsZCBmaXhlcy4KKworICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9X
ZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uT3JN
b3Rpb25FdmVudC5jcHA6CisKKyAgICAgICAgVW5pZmllZCBzb3VyY2VzLXJlbGF0ZWQgYnVpbGQg
Zml4LgorCisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbjoKKyAgICAgICAgKiBm
ZWF0dXJlcy5qc29uOgorCisgICAgICAgIEFkZCBBc3luYyBDbGlwYm9hcmQgQVBJIGFzIGEgZmVh
dHVyZSBpbiBkZXZlbG9wbWVudCBvbiB3ZWJraXQub3JnLgorCisgICAgICAgICogcGFnZS9TZXR0
aW5ncy55YW1sOgorCiAyMDE5LTEwLTA2ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW0xGQ11bUGFpbnRpbmddIEludHJvZHVjZSBEaXNwbGF5OjpQYWludGVyCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCmluZGV4IDU3NDNkNGI1Yjk3NzZkNDQ2MmM0ODNhNmYyZWJkYzVkZDVhYzI3OWYuLjNmMTdm
MjcxYWNjMWY1ZGU2MjQ1YTBiNGM2NGU4N2QwMDMyMWRiZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMTktMTAtMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
CisKKyAgICAgICAgW0NsaXBib2FyZCBBUEldIEludHJvZHVjZSBiaW5kaW5ncyBmb3IgdGhlIGFz
eW5jIENsaXBib2FyZCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMjYyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYwMzgxMjY+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBhIG5ldyBl
eHBlcmltZW50YWwgZmVhdHVyZSBmbGFnLiBTZWUgV2ViQ29yZSBDaGFuZ2VMb2cgZm9yIG1vcmUg
ZGV0YWlscy4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorCiAyMDE5
LTEwLTA0ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgYSBi
ZXR0ZXIgbmFtZSB0aGFuIGFsbG93RmFzdENsaWNrc0V2ZXJ5d2hlcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKaW5kZXggODI2MmJlNjhjODI0MDhiZjcxNTZhMWM4MWZkZDdiNjJmYjRiNWMxYy4uYjRhZjI5
YjA3NzUwYjdhMzcwNDljM2Y1ZTRlOGM4OWQwODk2YzJkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
QEAgLTIzMSw2ICsyMzEsMTAgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBN
b2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5pZGwKICAgICBNb2R1bGVzL2NhY2hlL1dvcmtl
ckdsb2JhbFNjb3BlQ2FjaGVzLmlkbAogCisgICAgTW9kdWxlcy9jbGlwYm9hcmQvQ2xpcGJvYXJk
LmlkbAorICAgIE1vZHVsZXMvY2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uaWRsCisgICAgTW9kdWxl
cy9jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmlkbAorCiAgICAgTW9kdWxlcy9jcmVkZW50
aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuaWRsCiAgICAgTW9kdWxlcy9jcmVkZW50aWFs
bWFuYWdlbWVudC9DcmVkZW50aWFsQ3JlYXRpb25PcHRpb25zLmlkbAogICAgIE1vZHVsZXMvY3Jl
ZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggMmY5OGY5ZTMx
NWViNmY4M2UwMzM0Y2E3Zjc4NDhlM2RlYTRkMTIwOS4uN2UyZDFmOTIzZDQ3NjQ0MWE2ZTBjYmUx
MTEzNWRhZTkzNDgwZTE1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0CkBAIC01Myw2ICs1Myw5IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
Y2FjaGUvRE9NQ2FjaGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2NhY2hlL0RPTUNhY2hl
U3RvcmFnZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY2FjaGUvRE9NV2luZG93Q2FjaGVz
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hl
cy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY2xpcGJvYXJkL0NsaXBib2FyZC5pZGwKKyQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvY2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uaWRsCiskKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL2NsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuaWRsCiAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0Jhc2ljQ3JlZGVudGlhbC5pZGwK
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbENy
ZWF0aW9uT3B0aW9ucy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY3JlZGVudGlhbG1hbmFn
ZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCA5M2M1Yzg2NzU4NTk0YWEwYTA3
ZGI2MmIwYzhlMDRkMzQ0Yjg3ODFhLi43ZGZiODk3Nzc2OTE3NTllNTFkZmEwZWJkNjM5ODIwYzFm
YmE2MmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQu
eGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdApAQCAtMjkwLDggKzI5MCwxMiBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0NoYXJhY3RlckRhdGEuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NoYXJhY3RlckRhdGEuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDaGlsZE5vZGUuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NoaWxkTm9kZS5oCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NsaXBib2FyZC5jcHAK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2xpcGJvYXJk
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2xpcGJv
YXJkRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0NsaXBib2FyZEV2ZW50LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQ2xpcGJvYXJkSXRlbS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQ2xpcGJvYXJkSXRlbS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Nsb3NlRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Nsb3NlRXZlbnQuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDb21tYW5kTGluZUFQSUhvc3Qu
Y3BwCkBAIC0xMDY3LDYgKzEwNzEsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yQmVhY29uLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3JCZWFjb24uaAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3JDbGlw
Ym9hcmQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U05hdmlnYXRvckNsaXBib2FyZC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU05hdmlnYXRvckNyZWRlbnRpYWxzLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3JDcmVkZW50aWFscy5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvckVNRS5j
cHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDI4NDBlZmQ2ZmFlNjk0MDc5YzFj
MDE0YzMzYmEwMTUwMGYzMjk4N2MuLjkyZDM1OTVjNDA4MjFlZWZiZmE4ZTNmN2FjYjhlMmE5YzQy
N2Y4YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysr
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMzMsNiArMzMsNyBAQCBW
UEFUSCA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3Qg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9iZWFjb24gXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9jYWNoZSBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NsaXBib2FyZCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50IFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9sZWdhY3kgXApAQCAtMTI4LDYgKzEyOSw5IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGVTdG9yYWdlLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5pZGwgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5pZGwgXAorICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9jbGlwYm9hcmQvQ2xpcGJvYXJkLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL2NsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L2NsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQmFzaWNDcmVkZW50aWFsLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxDcmVhdGlvbk9wdGlv
bnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3Jl
ZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9j
bGlwYm9hcmQvQ2xpcGJvYXJkLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNDUzMTg1NjBjNzc4MTViMjRiNjUz
ODQ2NjBhZDUzYjNmMTNkOGQ3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jbGlwYm9hcmQvQ2xpcGJvYXJkLmNwcApAQCAtMCwwICsxLDc4IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNsaXBib2FyZC5oIgorCisjaW5jbHVk
ZSAiQ2xpcGJvYXJkSXRlbS5oIgorI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChDbGlwYm9hcmQpOworCitS
ZWY8Q2xpcGJvYXJkPiBDbGlwYm9hcmQ6OmNyZWF0ZShOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sK
KyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDbGlwYm9hcmQobmF2aWdhdG9yKSk7Cit9CisKK0Ns
aXBib2FyZDo6Q2xpcGJvYXJkKE5hdmlnYXRvciYgbmF2aWdhdG9yKQorICAgIDogbV9uYXZpZ2F0
b3IobWFrZVdlYWtQdHIobmF2aWdhdG9yKSkKK3sKK30KKworRXZlbnRUYXJnZXRJbnRlcmZhY2Ug
Q2xpcGJvYXJkOjpldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIENs
aXBib2FyZEV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsKK30KKworU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogQ2xpcGJvYXJkOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9uYXZpZ2F0b3IgPyBtX25hdmlnYXRvci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
IDogbnVsbHB0cjsKK30KKwordm9pZCBDbGlwYm9hcmQ6OnJlYWRUZXh0KFJlZjxEZWZlcnJlZFBy
b21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBwcm9taXNlLT5yZWplY3QoTm90U3VwcG9ydGVkRXJy
b3IpOworfQorCit2b2lkIENsaXBib2FyZDo6d3JpdGVUZXh0KGNvbnN0IFN0cmluZyYgZGF0YSwg
UmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIFVOVVNFRF9QQVJBTShkYXRh
KTsKKyAgICBwcm9taXNlLT5yZWplY3QoTm90U3VwcG9ydGVkRXJyb3IpOworfQorCit2b2lkIENs
aXBib2FyZDo6cmVhZChSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCit7CisgICAgcHJv
bWlzZS0+cmVqZWN0KE5vdFN1cHBvcnRlZEVycm9yKTsKK30KKwordm9pZCBDbGlwYm9hcmQ6Ondy
aXRlKGNvbnN0IFZlY3RvcjxSZWZQdHI8Q2xpcGJvYXJkSXRlbT4+JiBpdGVtcywgUmVmPERlZmVy
cmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIFVOVVNFRF9QQVJBTShpdGVtcyk7CisgICAg
cHJvbWlzZS0+cmVqZWN0KE5vdFN1cHBvcnRlZEVycm9yKTsKK30KKworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9jbGlwYm9hcmQvQ2xpcGJvYXJkLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMjRmZmFhYTEz
MzkxNzZmMDZhMzg0YTgxNDYyMjI2OThhZWM3MmI2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jbGlwYm9hcmQvQ2xpcGJvYXJkLmgKQEAgLTAsMCArMSw2MyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNp
bmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2xpcGJvYXJkSXRlbTsKK2NsYXNzIE5h
dmlnYXRvcjsKKworY2xhc3MgQ2xpcGJvYXJkIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Q2xp
cGJvYXJkPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEgeworICAgIFdURl9NQUtF
X0lTT19BTExPQ0FURUQoQ2xpcGJvYXJkKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPENsaXBi
b2FyZD4gY3JlYXRlKE5hdmlnYXRvciYpOworCisgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZl
bnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbDsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWw7CisKKyAgICB1c2luZyBS
ZWZDb3VudGVkOjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDo6ZGVyZWY7CisKKyAgICB2b2lk
IHJlYWRUZXh0KFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAgIHZvaWQgd3JpdGVUZXh0KGNv
bnN0IFN0cmluZyYgZGF0YSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisKKyAgICB2b2lkIHJl
YWQoUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisgICAgdm9pZCB3cml0ZShjb25zdCBWZWN0b3I8
UmVmUHRyPENsaXBib2FyZEl0ZW0+PiYgZGF0YSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisK
K3ByaXZhdGU6CisgICAgQ2xpcGJvYXJkKE5hdmlnYXRvciYpOworCisgICAgdm9pZCByZWZFdmVu
dFRhcmdldCgpIGZpbmFsIHsgcmVmKCk7IH0KKyAgICB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBm
aW5hbCB7IGRlcmVmKCk7IH0KKworICAgIFdlYWtQdHI8TmF2aWdhdG9yPiBtX25hdmlnYXRvcjsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2xpcGJvYXJkL0NsaXBib2FyZC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2NsaXBib2FyZC9DbGlwYm9hcmQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiZTRkMjAxNWMwYWYwY2Y0OGIw
Mjk1YjMyZGYxODQ1ZjMxYTBkMTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmQuaWRsCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCit0eXBlZGVmIHNlcXVlbmNlPENsaXBib2FyZEl0ZW0+IENsaXBib2FyZEl0ZW1zOworCitb
CisgICAgU2VjdXJlQ29udGV4dCwKKyAgICBFeHBvc2VkPVdpbmRvdywKKyAgICBFbmFibGVkQnlT
ZXR0aW5nPUFzeW5jQ2xpcGJvYXJkQVBJLAorXSBpbnRlcmZhY2UgQ2xpcGJvYXJkIDogRXZlbnRU
YXJnZXQgeworICAgIFtOZXdPYmplY3RdIFByb21pc2U8Q2xpcGJvYXJkSXRlbXM+IHJlYWQoKTsK
KyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPERPTVN0cmluZz4gcmVhZFRleHQoKTsKKyAgICBbTmV3
T2JqZWN0XSBQcm9taXNlPHZvaWQ+IHdyaXRlKENsaXBib2FyZEl0ZW1zIGRhdGEpOworICAgIFtO
ZXdPYmplY3RdIFByb21pc2U8dm9pZD4gd3JpdGVUZXh0KERPTVN0cmluZyBkYXRhKTsKK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmRJdGVt
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQ1Y2M2ZGM0NmQ1OWU0YmJjZWVkNmRhMzcwNWE1ZTcwNjJiNDg1ZWQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9h
cmRJdGVtLmNwcApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkNsaXBib2FyZEl0ZW0uaCIKKworI2luY2x1ZGUgIkpTRE9NUHJvbWlz
ZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworQ2xpcGJvYXJkSXRlbTo6fkNsaXBib2FyZEl0ZW0oKSA9IGRlZmF1bHQ7CisKK0Ns
aXBib2FyZEl0ZW06OkNsaXBib2FyZEl0ZW0oVmVjdG9yPEtleVZhbHVlUGFpcjxTdHJpbmcsIFJl
ZlB0cjxET01Qcm9taXNlPj4+JiYgaXRlbXMsIGNvbnN0IE9wdGlvbnMmIG9wdGlvbnMpCisgICAg
OiBtX3ByZXNlbnRhdGlvblN0eWxlKG9wdGlvbnMucHJlc2VudGF0aW9uU3R5bGUpCit7CisgICAg
VU5VU0VEX1BBUkFNKGl0ZW1zKTsKK30KKworUmVmPENsaXBib2FyZEl0ZW0+IENsaXBib2FyZEl0
ZW06OmNyZWF0ZShWZWN0b3I8S2V5VmFsdWVQYWlyPFN0cmluZywgUmVmUHRyPERPTVByb21pc2U+
Pj4mJiBkYXRhLCBjb25zdCBPcHRpb25zJiBvcHRpb25zKQoreworICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IENsaXBib2FyZEl0ZW0oV1RGTW92ZShkYXRhKSwgb3B0aW9ucykpOworfQorCitWZWN0
b3I8U3RyaW5nPiBDbGlwYm9hcmRJdGVtOjp0eXBlcygpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsg
fTsKK30KKwordm9pZCBDbGlwYm9hcmRJdGVtOjpnZXRUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSwg
UmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIFVOVVNFRF9QQVJBTSh0eXBl
KTsKKyAgICBwcm9taXNlLT5yZWplY3QoTm90U3VwcG9ydGVkRXJyb3IpOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBi
b2FyZC9DbGlwYm9hcmRJdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9D
bGlwYm9hcmRJdGVtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjg4MGRiZTE2NzZjNTMxYmUzZGMzZTAwMDBlZmYz
NjBhYzYxZjQ5ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2xp
cGJvYXJkL0NsaXBib2FyZEl0ZW0uaApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvS2V5VmFsdWVQYWlyLmg+CisjaW5jbHVkZSA8d3Rm
L1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGVmZXJyZWRQcm9t
aXNlOworY2xhc3MgRE9NUHJvbWlzZTsKKworY2xhc3MgQ2xpcGJvYXJkSXRlbSA6IHB1YmxpYyBS
ZWZDb3VudGVkPENsaXBib2FyZEl0ZW0+IHsKK3B1YmxpYzoKKyAgICB+Q2xpcGJvYXJkSXRlbSgp
OworCisgICAgZW51bSBjbGFzcyBQcmVzZW50YXRpb25TdHlsZSA6IHVpbnQ4X3QgeyBVbnNwZWNp
ZmllZCwgSW5saW5lLCBBdHRhY2htZW50IH07CisKKyAgICBzdHJ1Y3QgT3B0aW9ucyB7CisgICAg
ICAgIFByZXNlbnRhdGlvblN0eWxlIHByZXNlbnRhdGlvblN0eWxlIHsgUHJlc2VudGF0aW9uU3R5
bGU6OlVuc3BlY2lmaWVkIH07CisgICAgfTsKKworICAgIHN0YXRpYyBSZWY8Q2xpcGJvYXJkSXRl
bT4gY3JlYXRlKFZlY3RvcjxLZXlWYWx1ZVBhaXI8U3RyaW5nLCBSZWZQdHI8RE9NUHJvbWlzZT4+
PiYmLCBjb25zdCBPcHRpb25zJik7CisKKyAgICBWZWN0b3I8U3RyaW5nPiB0eXBlcygpIGNvbnN0
OworICAgIHZvaWQgZ2V0VHlwZShjb25zdCBTdHJpbmcmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYm
KTsKKworICAgIFByZXNlbnRhdGlvblN0eWxlIHByZXNlbnRhdGlvblN0eWxlKCkgY29uc3QgeyBy
ZXR1cm4gbV9wcmVzZW50YXRpb25TdHlsZTsgfTsKKworcHJpdmF0ZToKKyAgICBDbGlwYm9hcmRJ
dGVtKFZlY3RvcjxLZXlWYWx1ZVBhaXI8U3RyaW5nLCBSZWZQdHI8RE9NUHJvbWlzZT4+PiYmLCBj
b25zdCBPcHRpb25zJik7CisKKyAgICBQcmVzZW50YXRpb25TdHlsZSBtX3ByZXNlbnRhdGlvblN0
eWxlIHsgUHJlc2VudGF0aW9uU3R5bGU6OlVuc3BlY2lmaWVkIH07Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2Fy
ZC9DbGlwYm9hcmRJdGVtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2xpcGJvYXJkL0Ns
aXBib2FyZEl0ZW0uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyYjJhNTVjZTc2NzhjYjUxZDljMTVhYjAyMmNk
NjlmOGEyYWM5MzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Ns
aXBib2FyZC9DbGlwYm9hcmRJdGVtLmlkbApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
dHlwZWRlZiAoRE9NU3RyaW5nIG9yIEJsb2IpIENsaXBib2FyZEl0ZW1EYXRhVHlwZTsKK3R5cGVk
ZWYgUHJvbWlzZTxDbGlwYm9hcmRJdGVtRGF0YVR5cGU+IENsaXBib2FyZEl0ZW1EYXRhOworCitl
bnVtIFByZXNlbnRhdGlvblN0eWxlIHsgInVuc3BlY2lmaWVkIiwgImlubGluZSIsICJhdHRhY2ht
ZW50IiB9OworCitkaWN0aW9uYXJ5IENsaXBib2FyZEl0ZW1PcHRpb25zIHsKKyAgUHJlc2VudGF0
aW9uU3R5bGUgcHJlc2VudGF0aW9uU3R5bGUgPSAidW5zcGVjaWZpZWQiOworfTsKKworWworICAg
IENvbnN0cnVjdG9yKHJlY29yZDxET01TdHJpbmcsIENsaXBib2FyZEl0ZW1EYXRhPiBpdGVtcywg
b3B0aW9uYWwgQ2xpcGJvYXJkSXRlbU9wdGlvbnMgb3B0aW9ucyksCisgICAgRXhwb3NlZD1XaW5k
b3csCisgICAgRW5hYmxlZEJ5U2V0dGluZz1Bc3luY0NsaXBib2FyZEFQSSwKKyAgICBJbXBsZW1l
bnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBDbGlwYm9hcmRJdGVtIHsKKyAgICByZWFk
b25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RE9NU3RyaW5nPiB0eXBlczsKKyAgICBbTmV3T2Jq
ZWN0XSBQcm9taXNlPEJsb2I+IGdldFR5cGUoRE9NU3RyaW5nIHR5cGUpOworICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBQcmVzZW50YXRpb25TdHlsZSBwcmVzZW50YXRpb25TdHlsZTsKK307CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9h
cmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJv
YXJkLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zYzAwYmNlMGY0N2M5Y2M2ZjU0N2M4YmI1M2E0ZTYxNGM2ZTI2
NjY1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jbGlwYm9hcmQv
TmF2aWdhdG9yQ2xpcGJvYXJkLmNwcApAQCAtMCwwICsxLDcwIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5hdmlnYXRvckNsaXBib2FyZC5oIgorCisjaW5j
bHVkZSAiQ2xpcGJvYXJkLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVkZSA8d3Rm
L1N0ZExpYkV4dHJhcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK05hdmlnYXRvckNsaXBi
b2FyZDo6TmF2aWdhdG9yQ2xpcGJvYXJkKE5hdmlnYXRvciYgbmF2aWdhdG9yKQorICAgIDogbV9u
YXZpZ2F0b3IobmF2aWdhdG9yKQoreworfQorCitOYXZpZ2F0b3JDbGlwYm9hcmQ6On5OYXZpZ2F0
b3JDbGlwYm9hcmQoKSA9IGRlZmF1bHQ7CisKK0NsaXBib2FyZCogTmF2aWdhdG9yQ2xpcGJvYXJk
OjpjbGlwYm9hcmQoTmF2aWdhdG9yJiBuYXZpZ2F0b3IpCit7CisgICAgcmV0dXJuIE5hdmlnYXRv
ckNsaXBib2FyZDo6ZnJvbShuYXZpZ2F0b3IpLT5jbGlwYm9hcmQoKTsKK30KKworQ2xpcGJvYXJk
KiBOYXZpZ2F0b3JDbGlwYm9hcmQ6OmNsaXBib2FyZCgpCit7CisgICAgaWYgKCFtX2NsaXBib2Fy
ZCkKKyAgICAgICAgbV9jbGlwYm9hcmQgPSBDbGlwYm9hcmQ6OmNyZWF0ZShtX25hdmlnYXRvcik7
CisgICAgcmV0dXJuIG1fY2xpcGJvYXJkLmdldCgpOworfQorCitOYXZpZ2F0b3JDbGlwYm9hcmQq
IE5hdmlnYXRvckNsaXBib2FyZDo6ZnJvbShOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICBh
dXRvKiBzdXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8TmF2aWdhdG9yQ2xpcGJvYXJkKj4oU3VwcGxl
bWVudDxOYXZpZ2F0b3I+Ojpmcm9tKCZuYXZpZ2F0b3IsIHN1cHBsZW1lbnROYW1lKCkpKTsKKyAg
ICBpZiAoIXN1cHBsZW1lbnQpIHsKKyAgICAgICAgYXV0byBuZXdTdXBwbGVtZW50ID0gbWFrZVVu
aXF1ZTxOYXZpZ2F0b3JDbGlwYm9hcmQ+KG5hdmlnYXRvcik7CisgICAgICAgIHN1cHBsZW1lbnQg
PSBuZXdTdXBwbGVtZW50LmdldCgpOworICAgICAgICBwcm92aWRlVG8oJm5hdmlnYXRvciwgc3Vw
cGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7CisgICAgfQorICAgIHJldHVy
biBzdXBwbGVtZW50OworfQorCitjb25zdCBjaGFyKiBOYXZpZ2F0b3JDbGlwYm9hcmQ6OnN1cHBs
ZW1lbnROYW1lKCkKK3sKKyAgICByZXR1cm4gIk5hdmlnYXRvckNsaXBib2FyZCI7Cit9CisKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2xpcGJvYXJkL05hdmlnYXRvckNs
aXBib2FyZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jbGlwYm9hcmQvTmF2aWdhdG9yQ2xp
cGJvYXJkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZWU0ZGUzN2MzYmEzYWFkZGVmNDYyNGQ1MTUzMzNlNTUzY2Rj
YjgxNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2xpcGJvYXJk
L05hdmlnYXRvckNsaXBib2FyZC5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCisjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDbGlwYm9hcmQ7CitjbGFz
cyBOYXZpZ2F0b3I7CisKK2NsYXNzIE5hdmlnYXRvckNsaXBib2FyZCBmaW5hbCA6IHB1YmxpYyBT
dXBwbGVtZW50PE5hdmlnYXRvcj4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVi
bGljOgorICAgIGV4cGxpY2l0IE5hdmlnYXRvckNsaXBib2FyZChOYXZpZ2F0b3ImKTsKKyAgICB+
TmF2aWdhdG9yQ2xpcGJvYXJkKCk7CisKKyAgICBzdGF0aWMgQ2xpcGJvYXJkKiBjbGlwYm9hcmQo
TmF2aWdhdG9yJik7CisgICAgQ2xpcGJvYXJkKiBjbGlwYm9hcmQoKTsKKworcHJpdmF0ZToKKyAg
ICBzdGF0aWMgTmF2aWdhdG9yQ2xpcGJvYXJkKiBmcm9tKE5hdmlnYXRvciYpOworICAgIHN0YXRp
YyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpOworCisgICAgUmVmUHRyPENsaXBib2FyZD4g
bV9jbGlwYm9hcmQ7CisgICAgTmF2aWdhdG9yJiBtX25hdmlnYXRvcjsKK307CisKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2xpcGJvYXJkL05hdmlnYXRvckNsaXBib2Fy
ZC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9h
cmQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdkNmI1MzNmNjNhNjdiMDlhZTA3YTAwODdlNTU1NzQ2M2ZhOTk1
NDkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9O
YXZpZ2F0b3JDbGlwYm9hcmQuaWRsCkBAIC0wLDAgKzEsMzAgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisg
ICAgRW5hYmxlZEJ5U2V0dGluZz1Bc3luY0NsaXBib2FyZEFQSSwKK10gcGFydGlhbCBpbnRlcmZh
Y2UgTmF2aWdhdG9yIHsKKyAgICBbU2VjdXJlQ29udGV4dCwgU2FtZU9iamVjdF0gcmVhZG9ubHkg
YXR0cmlidXRlIENsaXBib2FyZCBjbGlwYm9hcmQ7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKaW5kZXggODUx
MzE3OTQ3MmM5MjE5MDRmYzExY2UxZWU1ZjA5YTEyN2Q0MTI2YS4uODYxY2ZhZmFlYzBhZGI3NTQ3
YjQ0YjVlYmZmZjNjMTgyNDk3MTBlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCkBAIC0zNSw2ICszNSw3IEBA
CiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVk
LmgiCiAjaW5jbHVkZSAiSlNPdmVyY29uc3RyYWluZWRFcnJvci5oIgorI2luY2x1ZGUgIkxvZ2dp
bmcuaCIKICNpbmNsdWRlICJNZWRpYUNvbnN0cmFpbnRzLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJl
YW0uaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbVByaXZhdGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCmluZGV4IDNlNmRj
MDg5NGU2NTUzYzNmOTAyZTQ5NzkzMGU5OThlYjdiZWEzY2QuLjZmZjRhYTVlNzdmOTdkZGY5MjNk
M2JmYjlhNmU2ZjcxYzVmZjU4NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5j
bHVkZSAiUlRDRFRNRlNlbmRlckJhY2tlbmQuaCIKICNpbmNsdWRlICJSVENEVE1GVG9uZUNoYW5n
ZUV2ZW50LmgiCisjaW5jbHVkZSAiUlRDUnRwU2VuZGVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmNw
cAppbmRleCAwMDdkMmMzYTRiOWViYTFjYWMxMzA0OTc2ODZkNDQ2ZDJmMDUzMjNiLi4yYTY2ZmY0
OGQxZjAyM2VjYmRhMDc5NTE0ZjU5ZDBkYjY0M2VkMWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwCkBAIC0zMyw2ICszMyw3
IEBACiAKICNpZiBFTkFCTEUoV0VCX1JUQykKIAorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVy
cmVkLmgiCiAjaW5jbHVkZSAiUlRDRFRNRlNlbmRlci5oIgogI2luY2x1ZGUgIlJUQ0RUTUZTZW5k
ZXJCYWNrZW5kLmgiCiAjaW5jbHVkZSAiUlRDUnRwQ2FwYWJpbGl0aWVzLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZS5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmUuaAppbmRleCAxZTMyM2M3OWJm
MTk4MjU4MjM2MmE3M2Y4YTY3NWYxMjhiNGE2ZjcxLi4zYjM0YTRlYjA2NWNiMDQxOTgyZTkxMzBi
ZGE2MjUwNzY1YjNhYjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFVQaXBlbGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dl
YkdQVVBpcGVsaW5lLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJHUFVPYmplY3RCYXNl
LmgiCiAjaW5jbHVkZSAiV2ViR1BVU2hhZGVyTW9kdWxlLmgiCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKaW5kZXggNGE4MTA5MjRkZTc0MzJmZmZlNjEyY2Y1ZWRkNmQxZmFiNjEzNTcyNy4u
ZmM1YWYyMGRjMjYwMTA0Nzk0MjgzYjAxNDJlZWJhNjFlN2Q0ODFmNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
QEAgLTQzLDYgKzQzLDEwIEBAIE1vZHVsZXMvY2FjaGUvRE9NV2luZG93Q2FjaGVzLmNwcAogTW9k
dWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcAogTW9kdWxlcy9jYWNo
ZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKIAorTW9kdWxlcy9jbGlwYm9hcmQvQ2xpcGJv
YXJkLmNwcAorTW9kdWxlcy9jbGlwYm9hcmQvQ2xpcGJvYXJkSXRlbS5jcHAKK01vZHVsZXMvY2xp
cGJvYXJkL05hdmlnYXRvckNsaXBib2FyZC5jcHAKKwogTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdl
bWVudC9CYXNpY0NyZWRlbnRpYWwuY3BwCiBNb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0Ny
ZWRlbnRpYWxzQ29udGFpbmVyLmNwcAogTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9OYXZp
Z2F0b3JDcmVkZW50aWFscy5jcHAKQEAgLTI2ODgsNyArMjY5Miw5IEBAIEpTQ2hhbm5lbE1lcmdl
ck5vZGUuY3BwCiBKU0NoYW5uZWxTcGxpdHRlck5vZGUuY3BwCiBKU0NoYXJhY3RlckRhdGEuY3Bw
CiBKU0NoaWxkTm9kZS5jcHAKK0pTQ2xpcGJvYXJkLmNwcAogSlNDbGlwYm9hcmRFdmVudC5jcHAK
K0pTQ2xpcGJvYXJkSXRlbS5jcHAKIEpTQ2xvc2VFdmVudC5jcHAKIEpTQ29tbWFuZExpbmVBUElI
b3N0LmNwcAogSlNDb21tZW50LmNwcApAQCAtMzAyOSw2ICszMDM1LDcgQEAgSlNNdXRhdGlvblJl
Y29yZC5jcHAKIEpTTmFtZWROb2RlTWFwLmNwcAogSlNOYXZpZ2F0b3IuY3BwCiBKU05hdmlnYXRv
ckJlYWNvbi5jcHAKK0pTTmF2aWdhdG9yQ2xpcGJvYXJkLmNwcAogSlNOYXZpZ2F0b3JDcmVkZW50
aWFscy5jcHAKIEpTTmF2aWdhdG9yR2VvbG9jYXRpb24uY3BwCiBKU05hdmlnYXRvckdQVS5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCA4M2M5ZWM3ZDhmZTA0NjNkMDUxZDUwZmU3NjljMzk5ODY2NzE1OTNmLi4xOGUzODRiNGEy
YjU1OGFkODM5ODc4YTMwNDgyNWIxOWRiMDZmOWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00ODcxLDYgKzQ4NzEsOSBAQAog
CQlGM0FCRkUwQzEzMEU5REEwMDBFN0Y3RDEgLyogSW5zdHJ1bWVudGluZ0FnZW50cy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjNBQkZFMEIxMzBFOURB
MDAwRTdGN0QxIC8qIEluc3RydW1lbnRpbmdBZ2VudHMuaCAqLzsgfTsKIAkJRjNENDYxNDkxMTYx
RDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0Q0NjE0NzExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJv
ckhhbmRsZXIuaCAqLzsgfTsKIAkJRjQzM0U5MDMxREJCREJBMjAwRUYwRDE0IC8qIFN0YXRpY1Bh
c3RlYm9hcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEY0MzNFOTAyMURCQkRCQTIwMEVGMEQxNCAvKiBTdGF0aWNQYXN0ZWJvYXJkLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRjQ0MEU3N0EyMzNEOTRE
NzAwNjNGOUFCIC8qIE5hdmlnYXRvckNsaXBib2FyZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0MEU3NkYyMzNEOTREMzAwNjNGOUFCIC8qIE5hdmln
YXRvckNsaXBib2FyZC5oICovOyB9OworCQlGNDQwRTc3QjIzM0Q5NEQ3MDA2M0Y5QUIgLyogQ2xp
cGJvYXJkSXRlbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjQ0MEU3NzAyMzNEOTRENDAwNjNGOUFCIC8qIENsaXBib2FyZEl0ZW0uaCAqLzsgfTsKKwkJ
RjQ0MEU3N0QyMzNEOTRENzAwNjNGOUFCIC8qIENsaXBib2FyZC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0MEU3NzIyMzNEOTRENTAwNjNGOUFCIC8q
IENsaXBib2FyZC5oICovOyB9OwogCQlGNDRBNUY1OTFGRUQzOEYyMDA3RjU5NDQgLyogTGVnYWN5
TlNQYXN0ZWJvYXJkVHlwZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEY0NEE1RjU3MUZFRDM4MzAwMDdGNTk0NCAvKiBMZWdhY3lOU1Bhc3RlYm9hcmRU
eXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUY0NEVCQkQ5MURCNUQyMTQwMDI3NzMzNCAvKiBTdGF0aWNSYW5nZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0RUJCRDgxREI1RDIxNDAwMjc3MzM0
IC8qIFN0YXRpY1JhbmdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJRjQ1QzIzMUUxOTk1QjczQjAwQTZFMkUzIC8qIEF4aXNTY3JvbGxTbmFwT2Zm
c2V0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ1
QzIzMUMxOTk1QjczQjAwQTZFMkUzIC8qIEF4aXNTY3JvbGxTbmFwT2Zmc2V0cy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMDA4OSw3ICsxMDA5
MiwxMSBAQAogCQk4MzZEMDMyQjFEQThBMTMyMDBGRkQ5NkIgLyogSlNFdmVudEluaXQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFdmVudEluaXQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzZEMDMyQzFEQThBMTMyMDBGRkQ5NkIgLyogSlNF
dmVudEluaXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudEluaXQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM2RDAzMkQxREE4QTEzMjAwRkZEOTZC
IC8qIEpTQ2xpcGJvYXJkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNDbGlwYm9hcmRFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTgzNkQwMzJEMURBOEExMzIwMEZGRDk2QyAvKiBKU0NsaXBib2FyZC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NsaXBib2FyZC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTgzNkQwMzJEMURBOEExMzIwMEZGRDk2RCAvKiBKU0NsaXBib2FyZEl0
ZW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDbGlwYm9hcmRJ
dGVtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM2RDAzMkUxREE4QTEzMjAw
RkZEOTZCIC8qIEpTQ2xpcGJvYXJkRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNDbGlwYm9hcmRFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4
MzZEMDMyRTFEQThBMTMyMDBGRkQ5NkMgLyogSlNDbGlwYm9hcmQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNDbGlwYm9hcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODM2RDAzMkUxREE4QTEzMjAwRkZEOTZEIC8qIEpTQ2xpcGJvYXJkSXRlbS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NsaXBib2FyZEl0ZW0uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM2REFBMDUxQ0VBQjdDRDAwQTJCNzA3IC8qIFJlbmRlckRl
c2NlbmRhbnRJdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5k
ZXJEZXNjZW5kYW50SXRlcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM3
MDU2ODgxRjUwOTE1MDAwRDkzNDI1IC8qIEpTRmlsZUNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRmlsZUNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJODM3MDU2ODkxRjUwOTE1MDAwRDkzNDI1IC8qIEpTRmlsZVN5c3Rl
bUVudHJ5Q2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGaWxl
U3lzdGVtRW50cnlDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTUx
NTcsNiArMTUxNjQsMTUgQEAKIAkJRjQyQ0VCNTQyMTQwMzFFRTAwMkRDQTcyIC8qIEZvbnRBdHRy
aWJ1dGVDaGFuZ2VzQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBGb250QXR0cmlidXRl
Q2hhbmdlc0NvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDMzRTkwMjFE
QkJEQkEyMDBFRjBEMTQgLyogU3RhdGljUGFzdGVib2FyZC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTdGF0aWNQYXN0ZWJvYXJkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUY0MzNFOTA0MURCQkRCQzIwMEVGMEQxNCAvKiBTdGF0aWNQYXN0ZWJvYXJkLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFN0YXRpY1Bhc3RlYm9hcmQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlGNDQwRTc2RTIzM0Q5NEQzMDA2M0Y5QUIgLyogQ2xpcGJvYXJkLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENsaXBib2FyZC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0NDBFNzZGMjMzRDk0RDMwMDYzRjlBQiAvKiBOYXZp
Z2F0b3JDbGlwYm9hcmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF2aWdh
dG9yQ2xpcGJvYXJkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0NDBFNzcwMjMz
RDk0RDQwMDYzRjlBQiAvKiBDbGlwYm9hcmRJdGVtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENsaXBib2FyZEl0ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RjQ0MEU3NzEyMzNEOTRENDAwNjNGOUFCIC8qIE5hdmlnYXRvckNsaXBib2FyZC5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gTmF2aWdhdG9yQ2xpcGJvYXJkLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRjQ0MEU3NzIyMzNEOTRENTAwNjNGOUFCIC8qIENsaXBib2FyZC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDbGlwYm9hcmQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0MEU3NzMyMzNEOTRENTAwNjNGOUFCIC8qIE5hdmlnYXRvckNs
aXBib2FyZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOYXZpZ2F0
b3JDbGlwYm9hcmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDQwRTc3NDIz
M0Q5NEQ2MDA2M0Y5QUIgLyogQ2xpcGJvYXJkLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBD
bGlwYm9hcmQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDQwRTc3NTIzM0Q5
NEQ2MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRlbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBDbGlwYm9hcmRJdGVtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRjQ0MEU3NzcyMzNEOTRENzAwNjNGOUFCIC8qIENsaXBib2FyZEl0ZW0uaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IENsaXBib2FyZEl0ZW0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGNDQyODUwQjIxNDA0MTI1MDBDQ0RBMjIgLyogRm9udEF0dHJpYnV0ZUNoYW5n
ZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9udEF0dHJpYnV0ZUNoYW5nZXMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDRBNUY1NzFGRUQzODMwMDA3RjU5NDQgLyogTGVn
YWN5TlNQYXN0ZWJvYXJkVHlwZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGVnYWN5TlNQYXN0ZWJvYXJk
VHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ0RUJCRDYxREI1RDFCNjAw
Mjc3MzM0IC8qIFN0YXRpY1JhbmdlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTdGF0aWNS
YW5nZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjU3NSw2ICsxNjU5MSw3
IEBACiAJCQkJMTIyMUUwNTgxQzAyQjQwOTAwNkExQTAwIC8qIEFuaW1hdGlvbiAqLywKIAkJCQkx
QUU5NkE3OTFEMUEwQTVDMDBCODY3NjggLyogQXBwbGVQYXkgKi8sCiAJCQkJNDFGQjI3ODgxRjM0
NDYxQjAwNzk1NDg4IC8qIENhY2hlQVBJICovLAorCQkJCUY0NDBFNzY5MjMzRDkzNjIwMDYzRjlB
QiAvKiBDbGlwYm9hcmQgKi8sCiAJCQkJQTgzQjc5MTAwQ0NCMDAxQjAwMEIwODI1IC8qIENvcmUg
Ki8sCiAJCQkJNTdDN0E2OEQxRTU2OUE4NDAwQzY3RDcxIC8qIENyZWRlbnRpYWxNYW5hZ2VtZW50
ICovLAogCQkJCUUxRkY4RjYxMTgwNzQ1QzYwMDEzMjY3NCAvKiBDcnlwdG8gKi8sCkBAIC0yMTky
NSw2ICsyMTk0Miw3IEBACiAJCQkJNjNCRDRBNUMxRjc3OEU4NDAwNDM4NzIyIC8qIGFwcGxpY2F0
aW9ubWFuaWZlc3QgKi8sCiAJCQkJODMyMTUwNzkxRjI3RTk2QjAwOTVCMTM2IC8qIGJlYWNvbiAq
LywKIAkJCQk0MTM4MEMxRTFGMzQzNjYwMDAxNTVGREEgLyogY2FjaGUgKi8sCisJCQkJRjQ0MEU3
NkEyMzNEOTNDODAwNjNGOUFCIC8qIGNsaXBib2FyZCAqLywKIAkJCQk1N0M3QTY4ODFFNTY5NDZE
MDBDNjdENzEgLyogY3JlZGVudGlhbG1hbmFnZW1lbnQgKi8sCiAJCQkJQ0RBOThEQkQxNjAxNEUw
ODAwRkVBM0IxIC8qIGVuY3J5cHRlZG1lZGlhICovLAogCQkJCTgzRkIzMzY1MUY1MDhBMTcwMDk4
NkU1NCAvKiBlbnRyaWVzYXBpICovLApAQCAtMjY3ODAsNiArMjY3OTgsMzMgQEAKIAkJCXBhdGgg
PSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQlGNDQwRTc2OTIzM0Q5
MzYyMDA2M0Y5QUIgLyogQ2xpcGJvYXJkICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQlj
aGlsZHJlbiA9ICgKKwkJCQk4MzZEMDMyRDFEQThBMTMyMDBGRkQ5NkMgLyogSlNDbGlwYm9hcmQu
Y3BwICovLAorCQkJCTgzNkQwMzJFMURBOEExMzIwMEZGRDk2QyAvKiBKU0NsaXBib2FyZC5oICov
LAorCQkJCTgzNkQwMzJEMURBOEExMzIwMEZGRDk2RCAvKiBKU0NsaXBib2FyZEl0ZW0uY3BwICov
LAorCQkJCTgzNkQwMzJFMURBOEExMzIwMEZGRDk2RCAvKiBKU0NsaXBib2FyZEl0ZW0uaCAqLywK
KwkJCSk7CisJCQluYW1lID0gQ2xpcGJvYXJkOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
KwkJfTsKKwkJRjQ0MEU3NkEyMzNEOTNDODAwNjNGOUFCIC8qIGNsaXBib2FyZCAqLyA9IHsKKwkJ
CWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJRjQ0MEU3NkUyMzNEOTREMzAw
NjNGOUFCIC8qIENsaXBib2FyZC5jcHAgKi8sCisJCQkJRjQ0MEU3NzIyMzNEOTRENTAwNjNGOUFC
IC8qIENsaXBib2FyZC5oICovLAorCQkJCUY0NDBFNzc0MjMzRDk0RDYwMDYzRjlBQiAvKiBDbGlw
Ym9hcmQuaWRsICovLAorCQkJCUY0NDBFNzc1MjMzRDk0RDYwMDYzRjlBQiAvKiBDbGlwYm9hcmRJ
dGVtLmNwcCAqLywKKwkJCQlGNDQwRTc3MDIzM0Q5NEQ0MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRl
bS5oICovLAorCQkJCUY0NDBFNzc3MjMzRDk0RDcwMDYzRjlBQiAvKiBDbGlwYm9hcmRJdGVtLmlk
bCAqLywKKwkJCQlGNDQwRTc3MzIzM0Q5NEQ1MDA2M0Y5QUIgLyogTmF2aWdhdG9yQ2xpcGJvYXJk
LmNwcCAqLywKKwkJCQlGNDQwRTc2RjIzM0Q5NEQzMDA2M0Y5QUIgLyogTmF2aWdhdG9yQ2xpcGJv
YXJkLmggKi8sCisJCQkJRjQ0MEU3NzEyMzNEOTRENDAwNjNGOUFCIC8qIE5hdmlnYXRvckNsaXBi
b2FyZC5pZGwgKi8sCisJCQkpOworCQkJcGF0aCA9IGNsaXBib2FyZDsKKwkJCXNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7CisJCX07CiAJCUY0ODM4OTc5MUUxREQyM0EwMDc2QjdFQSAvKiBFZGl0aW5n
SGlzdG9yeSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0y
ODczNSw4ICsyODc4MCwxMCBAQAogCQkJCUU0QTgxNEQ0MUM2REVDNDAwMEJGODVBQyAvKiBDbGFz
c0NoYW5nZUludmFsaWRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM0OEJGQUMxQjg1NzI5
ODAwOTEyRjM2IC8qIENsYXNzQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDEwNzkw
OEMxRkMzRjAzMzAwNjFCMjdBIC8qIENsaWVudE9yaWdpbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
RjQ0MEU3N0QyMzNEOTRENzAwNjNGOUFCIC8qIENsaXBib2FyZC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJN0MzQTkxRTYxQzk2M0I4ODAwRDFBN0UzIC8qIENsaXBib2FyZEFjY2Vzc1BvbGljeS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJODUwMzFCNDAwQTQ0RUZDNzAwRjk5MkUwIC8qIENsaXBib2FyZEV2
ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlGNDQwRTc3QjIzM0Q5NEQ3MDA2M0Y5QUIgLyogQ2xp
cGJvYXJkSXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkI5MkRGNEIxNUZFRDA4NzAwOTk0NDMz
IC8qIENsaXBQYXRoT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1ODAzNzE2MjFBNjZG
MDBBMDBCQUY1MTkgLyogQ2xpcFJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUFCRDEzMTRG
QTA5RDUwMDc0NTdBRSAvKiBDbG9zZUV2ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTMwOTc3LDYg
KzMxMDI0LDcgQEAKIAkJCQlBOUM2RTVBNjBENzQ2NDU4MDA2NDQyRTkgLyogTmF2aWdhdG9yLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlFMTI3MTlDNzBFRUVDMTY4MDBGNjEyMTMgLyogTmF2aWdhdG9y
QmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODMyMTUwN0UxRjI3RUExQjAwOTVCMTM2IC8qIE5h
dmlnYXRvckJlYWNvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjQ0MEU3N0EyMzNEOTRENzAwNjNG
OUFCIC8qIE5hdmlnYXRvckNsaXBib2FyZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzcyRDNFNTcy
MTY1NzhBRTAwQzVFMDIxIC8qIE5hdmlnYXRvckNyZWRlbnRpYWxzLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5NzExNDYwNDE0RUYwMDlBMDA2NzRGRDkgLyogTmF2aWdhdG9yR2VvbG9jYXRpb24uaCBp
biBIZWFkZXJzICovLAogCQkJCTVFQTcyNUQ2MUFDQUJENTcwMEVBRDE3QiAvKiBOYXZpZ2F0b3JN
ZWRpYURldmljZXMuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IGZmZDNlNTllZjg0OWEwMWE4ZmE1ZDI2
YzBmZWZjMWZkYTRlZmE5MjcuLjA2MGM3MDMyNzVmNGMzYzQ4MWRhZDI4YjM1M2VlYTEyMjAwM2Uy
NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGlu
TmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5h
bWVzLmgKQEAgLTU1LDYgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKENh
Y2hlU3RvcmFnZSkgXAogICAgIG1hY3JvKENsaWVudCkgXAogICAgIG1hY3JvKENsaWVudHMpIFwK
KyAgICBtYWNybyhDbGlwYm9hcmQpIFwKKyAgICBtYWNybyhDbGlwYm9hcmRJdGVtKSBcCiAgICAg
bWFjcm8oQ3JlZGVudGlhbCkgXAogICAgIG1hY3JvKENyZWRlbnRpYWxzQ29udGFpbmVyKSBcCiAg
ICAgbWFjcm8oQ1NTQW5pbWF0aW9uKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
ZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuY3BwCmluZGV4IDE1YzA1NmQ3NjQzMDE3NTlm
NmJjZTBlNWJmOTY3MjVmMGE5MWVmYTAuLjMwMjFhODFmYmU1ZGViZDZiMWZkYjM5ODJhZGYxMTMy
NTZjM2FmN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlv
bk9yTW90aW9uRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRh
dGlvbk9yTW90aW9uRXZlbnQuY3BwCkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50LmgiCiAKKyNpbmNs
dWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFj
Y2Vzc0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkpTRE9N
UHJvbWlzZURlZmVycmVkLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dFRhcmdldEZhY3RvcnkuaW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5
LmluCmluZGV4IDliOWJmOTM3Y2MwOTNhNjAwNWNkNjBjZTE2NDRjYjA4OGViZTY2MTIuLjI4Mjcw
ZjI3NTA1MDUzYTIzMzEwMzMyNmRiNDZjYzdjMGFiNGMxZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgpAQCAtNyw2ICs3LDcgQEAgQXBwbGVQYXlTZXNzaW9uIGNv
bmRpdGlvbmFsPUFQUExFX1BBWQogQXVkaW9Ob2RlIGNvbmRpdGlvbmFsPVdFQl9BVURJTwogQXVk
aW9Db250ZXh0IGNvbmRpdGlvbmFsPVdFQl9BVURJTwogQXVkaW9UcmFja0xpc3QgY29uZGl0aW9u
YWw9VklERU9fVFJBQ0sKK0NsaXBib2FyZAogRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUKIERP
TUFwcGxpY2F0aW9uQ2FjaGUKIERPTVdpbmRvdwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZmVhdHVyZXMuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2ZlYXR1cmVzLmpzb24KaW5kZXggZTU4N2Qy
MjM0OTRjMmZmZDgxMzliNjM3ZmQ1YmU3NzFkYzNjNGNiZi4uMjg3ZDBlYjM4NjNkNmI2MWY5ZDM3
ZjQ4NDM5Mzc0ZTg4MDM5NzQxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmVhdHVyZXMu
anNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9mZWF0dXJlcy5qc29uCkBAIC0xMSw2ICsxMSwyMSBA
QAogICAgICAgICAiY2F0ZWdvcnkiOiAid2ViYXBwcyIsCiAgICAgICAgICJkZXNjcmlwdGlvbiI6
ICJSZXNvdXJjZXMgYXJlIHNhdmVkIGZvciBvZmZsaW5lIHVzZSB1c2luZyBhIG1hbmlmZXN0LiIK
ICAgICB9LAorICAgIHsKKyAgICAgICAgIm5hbWUiOiAiQXN5bmMgQ2xpcGJvYXJkIEFQSSIsCisg
ICAgICAgICJzdGF0dXMiOiB7CisgICAgICAgICAgICAic3RhdHVzIjogIkluIERldmVsb3BtZW50
IgorICAgICAgICB9LAorICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9UUi9jbGlw
Ym9hcmQtYXBpcy8jYXN5bmMtY2xpcGJvYXJkLWFwaSIsCisgICAgICAgICJzcGVjaWZpY2F0aW9u
IjogIkNsaXBib2FyZCBBUEkiLAorICAgICAgICAiY2F0ZWdvcnkiOiAid2ViYXBwcyIsCisgICAg
ICAgICJkZXNjcmlwdGlvbiI6ICJBbiBBUEkgdGhhdCBhbGxvd3MgcmVhZGluZyBmcm9tIGFuZCB3
cml0aW5nIHRvIHRoZSBzeXN0ZW0gY2xpcGJvYXJkLiIsCisgICAgICAgICJjb250YWN0Ijogewor
ICAgICAgICAgICAgIm5hbWUiOiAiV2Vuc29uIEhzaWVoIiwKKyAgICAgICAgICAgICJlbWFpbCI6
ICJ3ZW5zb25faHNpZWhAYXBwbGUuY29tIiwKKyAgICAgICAgICAgICJ0d2l0dGVyIjogIkB3ZW5z
b25oc2llaCIKKyAgICAgICAgfQorICAgIH0sCiAgICAgewogICAgICAgICAibmFtZSI6ICJCYXR0
ZXJ5IFN0YXR1cyBBUEkiLAogICAgICAgICAic3RhdHVzIjogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy55YW1sCmluZGV4IDMzNWI3OGFlZDYzMjNkMTA4MTg2NTViZGNiNDhhZDhjZTE3NWUxYjUuLmVm
YmM2MzVlMzJhNmZiMDMwYWJlOTk2ZmE5NTkwYWU2YzI3ZTAzOTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLnlhbWwKQEAgLTExOCw2ICsxMTgsOCBAQCBzaG91bGRQcmludEJhY2tncm91bmRzOgog
Y2xpcGJvYXJkQWNjZXNzUG9saWN5OgogICB0eXBlOiBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kKICAg
aW5pdGlhbDogQ2xpcGJvYXJkQWNjZXNzUG9saWN5OjpSZXF1aXJlc1VzZXJHZXN0dXJlCithc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCiAKIHRleHRBcmVhc0FyZVJl
c2l6YWJsZToKICAgaW5pdGlhbDogZmFsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJl
bmNlcy55YW1sCmluZGV4IDVjYmVhM2RkZjhmZTA5MDc4YmFjYWFhODM5MWI2NGNhNjJkMDBlYmEu
LmFjZDJiMWI5N2IyNGQ3ZTgyZjQ0NDI1MzVlMWY1MGEwMTcwNmYzZmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtODQ2LDYgKzg0NiwxMyBAQCBDdXN0b21Q
YXN0ZWJvYXJkRGF0YUVuYWJsZWQ6CiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJs
ZSBjdXN0b20gY2xpcGJvYXJkIHR5cGVzIGFuZCBiZXR0ZXIgc2VjdXJpdHkgbW9kZWwgZm9yIGNs
aXBib2FyZCBBUEkuIgogICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwog
CitBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVl
OiBmYWxzZQorICBodW1hblJlYWRhYmxlTmFtZTogIkFzeW5jIGNsaXBib2FyZCBBUEkiCisgIGh1
bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSB0aGUgYXN5bmMgY2xpcGJvYXJkIEFQSSIK
KyAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorCiBXZWJTaGFyZUVuYWJsZWQ6CiAgIHR5cGU6IGJv
b2wKICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX1dFQl9TSEFSRV9FTkFCTEVECmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGJj
ZDk4NjA5ZGVlNzc5ZmMwMzFlNjEwOTIzYmU5ZWUxNzUyZDVkOS4uZmZiMDE1OGE2MDg1NjgyMWYz
MmVlZWNmNDIwMmJmZDg0ZDFmMDhiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE5LTEwLTA3
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtDbGlw
Ym9hcmQgQVBJXSBJbnRyb2R1Y2UgYmluZGluZ3MgZm9yIHRoZSBhc3luYyBDbGlwYm9hcmQgQVBJ
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI2MjIK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU2MDM4MTI2PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9jbGlwYm9hcmQvY2xpcGJvYXJk
LWludGVyZmFjZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2NsaXBi
b2FyZC9jbGlwYm9hcmQtaW50ZXJmYWNlcy5odG1sOiBBZGRlZC4KKworICAgICAgICBBZGQgYSBu
ZXcgdGVzdCB0byBzYW5pdHkgY2hlY2sgdGhlIG5ldyBjbGlwYm9hcmQgQVBJIGludGVyZmFjZXMg
YW5kIGludGVyZmFjZSBleHRlbnNpb25zLgorCisgICAgICAgICogZmFzdC9kb20vbmF2aWdhdG9y
LWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMt
aGlnaHNpZXJyYS13azEvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtaGlnaHNpZXJyYS9mYXN0L2RvbS9uYXZp
Z2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5v
LWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZmFzdC9kb20vbmF2
aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS93aW5jYWlyby9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQu
dHh0OgorCisgICAgICAgIFVwZGF0ZSBhbiBleGlzdGluZyBsYXlvdXQgdGVzdCB0byBpbmNsdWRl
ICJuYXZpZ2F0b3IuY2xpcGJvYXJkIi4KKwogMjAxOS0xMC0wNCAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFsbG93IHBhZ2VzIHVzaW5nIEV2ZW50U291cmNlIHRv
IGVudGVyIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvY2xpcGJvYXJkL2NsaXBib2FyZC1pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvY2xpcGJvYXJkL2NsaXBib2FyZC1pbnRlcmZhY2VzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45OWM1MGExYmQ0NDVkZDYyYjcxOWFiMmVmNDFlYmJlZGVmNjdlNjllCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9jbGlwYm9hcmQvY2xpcGJvYXJk
LWludGVyZmFjZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTEgQEAKK1Rlc3RzIHRoZSBpbnRl
cmZhY2VzIG9mIHRoZSBhc3luYyBjbGlwYm9hcmQgQVBJLCB3aGljaCBpbmNsdWRlIENsaXBib2Fy
ZCwgQ2xpcGJvYXJkSXRlbSwgYW5kIGV4dGVuc2lvbnMgdG8gTmF2aWdhdG9yLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworCitUZXN0aW5nIENsaXBib2FyZDoKK1BBU1MgQ2xpcGJv
YXJkIGluc3RhbmNlb2YgRnVuY3Rpb24gaXMgdHJ1ZQorUEFTUyB0eXBlb2YgQ2xpcGJvYXJkIGlz
ICJmdW5jdGlvbiIKK1BBU1MgbmF2aWdhdG9yLmNsaXBib2FyZCBpbnN0YW5jZW9mIENsaXBib2Fy
ZCBpcyB0cnVlCitQQVNTIE9iamVjdC5nZXRQcm90b3R5cGVPZihuYXZpZ2F0b3IuY2xpcGJvYXJk
KSA9PT0gQ2xpcGJvYXJkLnByb3RvdHlwZSBpcyB0cnVlCitQQVNTIENsaXBib2FyZC5wcm90b3R5
cGUucmVhZFRleHQgaW5zdGFuY2VvZiBGdW5jdGlvbiBpcyB0cnVlCitQQVNTIENsaXBib2FyZC5w
cm90b3R5cGUud3JpdGVUZXh0IGluc3RhbmNlb2YgRnVuY3Rpb24gaXMgdHJ1ZQorUEFTUyBDbGlw
Ym9hcmQucHJvdG90eXBlLnJlYWQgaW5zdGFuY2VvZiBGdW5jdGlvbiBpcyB0cnVlCitQQVNTIENs
aXBib2FyZC5wcm90b3R5cGUud3JpdGUgaW5zdGFuY2VvZiBGdW5jdGlvbiBpcyB0cnVlCitQQVNT
IENsaXBib2FyZCgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IElsbGVnYWwgY29uc3RydWN0
b3IuCitQQVNTIG5ldyBDbGlwYm9hcmQoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBmdW5j
dGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IENsaXBib2FyZCgpJyku
CitQQVNTIENsaXBib2FyZC50b1N0cmluZygpIGlzICJmdW5jdGlvbiBDbGlwYm9hcmQoKSB7XG4g
ICAgW25hdGl2ZSBjb2RlXVxufSIKK1BBU1MgbmF2aWdhdG9yLmNsaXBib2FyZC50b1N0cmluZygp
IGlzICJbb2JqZWN0IENsaXBib2FyZF0iCitQQVNTIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVU
ZXh0KCdmb28nKSBpbnN0YW5jZW9mIFByb21pc2UgaXMgdHJ1ZQorUEFTUyBuYXZpZ2F0b3IuY2xp
cGJvYXJkLndyaXRlKFsgXSkgaW5zdGFuY2VvZiBQcm9taXNlIGlzIHRydWUKK1BBU1MgbmF2aWdh
dG9yLmNsaXBib2FyZC5yZWFkKCkgaW5zdGFuY2VvZiBQcm9taXNlIGlzIHRydWUKK1BBU1MgbmF2
aWdhdG9yLmNsaXBib2FyZC5yZWFkVGV4dCgpIGluc3RhbmNlb2YgUHJvbWlzZSBpcyB0cnVlCitQ
QVNTIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUoKSByZWplY3RlZCB3aXRoIFR5cGVFcnJvcjog
Tm90IGVub3VnaCBhcmd1bWVudHMKK1BBU1MgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQo
KSByZWplY3RlZCB3aXRoIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMKK1BBU1MgbmF2
aWdhdG9yLmNsaXBib2FyZC53cml0ZSgnZm9vJykgcmVqZWN0ZWQgd2l0aCBUeXBlRXJyb3I6IFZh
bHVlIGlzIG5vdCBhIHNlcXVlbmNlCitQQVNTIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUoWzEs
IDIsIDNdKSByZWplY3RlZCB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvcgorUEFTUyBuYXZpZ2F0
b3IuY2xpcGJvYXJkLndyaXRlKG5ldyBDbGlwYm9hcmRJdGVtKHsgfSkpIHJlamVjdGVkIHdpdGgg
VHlwZUVycm9yOiBUeXBlIGVycm9yCisKK1Rlc3RpbmcgQ2xpcGJvYXJkSXRlbToKK1BBU1MgQ2xp
cGJvYXJkSXRlbSBpbnN0YW5jZW9mIEZ1bmN0aW9uIGlzIHRydWUKK1BBU1MgdHlwZW9mIENsaXBi
b2FyZEl0ZW0gaXMgImZ1bmN0aW9uIgorUEFTUyBDbGlwYm9hcmRJdGVtLnByb3RvdHlwZS5nZXRU
eXBlIGluc3RhbmNlb2YgRnVuY3Rpb24gaXMgdHJ1ZQorUEFTUyBDbGlwYm9hcmRJdGVtKCkgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQ29uc3RydWN0b3IgcmVxdWlyZXMgJ25ldycgb3BlcmF0
b3IuCitQQVNTIG5ldyBDbGlwYm9hcmRJdGVtKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
Tm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG5ldyBDbGlwYm9hcmRJdGVtKCdmb28nKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBuZXcgQ2xpcGJvYXJkSXRl
bSh7IH0pIGluc3RhbmNlb2YgQ2xpcGJvYXJkSXRlbSBpcyB0cnVlCitQQVNTIE9iamVjdC5nZXRQ
cm90b3R5cGVPZihuZXcgQ2xpcGJvYXJkSXRlbSh7IH0pKSA9PT0gQ2xpcGJvYXJkSXRlbS5wcm90
b3R5cGUgaXMgdHJ1ZQorUEFTUyBuZXcgQ2xpcGJvYXJkSXRlbSh7IH0pLnR5cGVzIGluc3RhbmNl
b2YgQXJyYXkgaXMgdHJ1ZQorUEFTUyBDbGlwYm9hcmRJdGVtLnRvU3RyaW5nKCkgaXMgImZ1bmN0
aW9uIENsaXBib2FyZEl0ZW0oKSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIKK1BBU1MgbmV3IENs
aXBib2FyZEl0ZW0oeyB9KS50b1N0cmluZygpIGlzICJbb2JqZWN0IENsaXBib2FyZEl0ZW1dIgor
UEFTUyBuZXcgQ2xpcGJvYXJkSXRlbSh7IH0sIHsgZm9vOiAnYXR0YWNobWVudCcgfSkucHJlc2Vu
dGF0aW9uU3R5bGUgaXMgInVuc3BlY2lmaWVkIgorUEFTUyBuZXcgQ2xpcGJvYXJkSXRlbSh7IH0s
IHsgcHJlc2VudGF0aW9uU3R5bGU6ICdBdHRhQ0htZW5UJyB9KS5wcmVzZW50YXRpb25TdHlsZSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBuZXcgQ2xpcGJvYXJk
SXRlbSh7IH0sIHsgcHJlc2VudGF0aW9uU3R5bGU6ICd1bnNwZWNpZmllZCcgfSkucHJlc2VudGF0
aW9uU3R5bGUgaXMgInVuc3BlY2lmaWVkIgorUEFTUyBuZXcgQ2xpcGJvYXJkSXRlbSh7IH0sIHsg
cHJlc2VudGF0aW9uU3R5bGU6ICdhdHRhY2htZW50JyB9KS5wcmVzZW50YXRpb25TdHlsZSBpcyAi
YXR0YWNobWVudCIKK1BBU1MgbmV3IENsaXBib2FyZEl0ZW0oeyB9LCB7IHByZXNlbnRhdGlvblN0
eWxlOiAnaW5saW5lJyB9KS5wcmVzZW50YXRpb25TdHlsZSBpcyAiaW5saW5lIgorUEFTUyBuZXcg
Q2xpcGJvYXJkSXRlbSh7IH0sICdpbmxpbmUnKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBU
eXBlIGVycm9yLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvY2xpcGJvYXJkL2NsaXBib2Fy
ZC1pbnRlcmZhY2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2NsaXBib2FyZC9jbGlwYm9h
cmQtaW50ZXJmYWNlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1YTI2NzY4MjE0OGUzZWM2ZDcwNTcwMTQz
ZTIxZGYzZWVkYjU1NTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Ns
aXBib2FyZC9jbGlwYm9hcmQtaW50ZXJmYWNlcy5odG1sCkBAIC0wLDAgKzEsNjggQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDphc3luY0Ns
aXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
PC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisg
ICAgICAgIGFzeW5jIGZ1bmN0aW9uIHNob3VsZFJlamVjdChzY3JpcHRUb0V2YWx1YXRlKQorICAg
ICAgICB7CisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYCR7
c2NyaXB0VG9FdmFsdWF0ZX0gcmVzb2x2ZWQgdG8gJHthd2FpdCBldmFsKHNjcmlwdFRvRXZhbHVh
dGUpfWApOworICAgICAgICAgICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAg
ICAgdGVzdFBhc3NlZChgJHtzY3JpcHRUb0V2YWx1YXRlfSByZWplY3RlZCB3aXRoICR7ZXhjZXB0
aW9ufWApOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgYXN5bmMgZnVuY3Rp
b24gcnVuVGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0
aGUgaW50ZXJmYWNlcyBvZiB0aGUgYXN5bmMgY2xpcGJvYXJkIEFQSSwgd2hpY2ggaW5jbHVkZSBD
bGlwYm9hcmQsIENsaXBib2FyZEl0ZW0sIGFuZCBleHRlbnNpb25zIHRvIE5hdmlnYXRvci4iKTsK
KworICAgICAgICAgICAgZGVidWcoIlxuVGVzdGluZyBDbGlwYm9hcmQ6Iik7CisgICAgICAgICAg
ICBzaG91bGRCZVRydWUoIkNsaXBib2FyZCBpbnN0YW5jZW9mIEZ1bmN0aW9uIik7CisgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInR5cGVvZiBDbGlwYm9hcmQiLCAiZnVuY3Rpb24i
KTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgibmF2aWdhdG9yLmNsaXBib2FyZCBpbnN0YW5j
ZW9mIENsaXBib2FyZCIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJPYmplY3QuZ2V0UHJv
dG90eXBlT2YobmF2aWdhdG9yLmNsaXBib2FyZCkgPT09IENsaXBib2FyZC5wcm90b3R5cGUiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiQ2xpcGJvYXJkLnByb3RvdHlwZS5yZWFkVGV4dCBp
bnN0YW5jZW9mIEZ1bmN0aW9uIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIkNsaXBib2Fy
ZC5wcm90b3R5cGUud3JpdGVUZXh0IGluc3RhbmNlb2YgRnVuY3Rpb24iKTsKKyAgICAgICAgICAg
IHNob3VsZEJlVHJ1ZSgiQ2xpcGJvYXJkLnByb3RvdHlwZS5yZWFkIGluc3RhbmNlb2YgRnVuY3Rp
b24iKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiQ2xpcGJvYXJkLnByb3RvdHlwZS53cml0
ZSBpbnN0YW5jZW9mIEZ1bmN0aW9uIik7CisgICAgICAgICAgICBzaG91bGRUaHJvdygiQ2xpcGJv
YXJkKCkiKTsKKyAgICAgICAgICAgIHNob3VsZFRocm93KCJuZXcgQ2xpcGJvYXJkKCkiKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiQ2xpcGJvYXJkLnRvU3RyaW5nKCkiLCAi
ZnVuY3Rpb24gQ2xpcGJvYXJkKCkge1xuICAgIFtuYXRpdmUgY29kZV1cbn0iKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmF2aWdhdG9yLmNsaXBib2FyZC50b1N0cmluZygp
IiwgIltvYmplY3QgQ2xpcGJvYXJkXSIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJuYXZp
Z2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCgnZm9vJykgaW5zdGFuY2VvZiBQcm9taXNlIik7Cisg
ICAgICAgICAgICBzaG91bGRCZVRydWUoIm5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUoWyBdKSBp
bnN0YW5jZW9mIFByb21pc2UiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgibmF2aWdhdG9y
LmNsaXBib2FyZC5yZWFkKCkgaW5zdGFuY2VvZiBQcm9taXNlIik7CisgICAgICAgICAgICBzaG91
bGRCZVRydWUoIm5hdmlnYXRvci5jbGlwYm9hcmQucmVhZFRleHQoKSBpbnN0YW5jZW9mIFByb21p
c2UiKTsKKyAgICAgICAgICAgIGF3YWl0IHNob3VsZFJlamVjdCgibmF2aWdhdG9yLmNsaXBib2Fy
ZC53cml0ZSgpIik7CisgICAgICAgICAgICBhd2FpdCBzaG91bGRSZWplY3QoIm5hdmlnYXRvci5j
bGlwYm9hcmQud3JpdGVUZXh0KCkiKTsKKyAgICAgICAgICAgIGF3YWl0IHNob3VsZFJlamVjdCgi
bmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZSgnZm9vJykiKTsKKyAgICAgICAgICAgIGF3YWl0IHNo
b3VsZFJlamVjdCgibmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZShbMSwgMiwgM10pIik7CisgICAg
ICAgICAgICBhd2FpdCBzaG91bGRSZWplY3QoIm5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUobmV3
IENsaXBib2FyZEl0ZW0oeyB9KSkiKTsKKworICAgICAgICAgICAgZGVidWcoIlxuVGVzdGluZyBD
bGlwYm9hcmRJdGVtOiIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJDbGlwYm9hcmRJdGVt
IGluc3RhbmNlb2YgRnVuY3Rpb24iKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygidHlwZW9mIENsaXBib2FyZEl0ZW0iLCAiZnVuY3Rpb24iKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlVHJ1ZSgiQ2xpcGJvYXJkSXRlbS5wcm90b3R5cGUuZ2V0VHlwZSBpbnN0YW5jZW9mIEZ1bmN0
aW9uIik7CisgICAgICAgICAgICBzaG91bGRUaHJvdygiQ2xpcGJvYXJkSXRlbSgpIik7CisgICAg
ICAgICAgICBzaG91bGRUaHJvdygibmV3IENsaXBib2FyZEl0ZW0oKSIpOworICAgICAgICAgICAg
c2hvdWxkVGhyb3coIm5ldyBDbGlwYm9hcmRJdGVtKCdmb28nKSIpOworICAgICAgICAgICAgc2hv
dWxkQmVUcnVlKCJuZXcgQ2xpcGJvYXJkSXRlbSh7IH0pIGluc3RhbmNlb2YgQ2xpcGJvYXJkSXRl
bSIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJPYmplY3QuZ2V0UHJvdG90eXBlT2YobmV3
IENsaXBib2FyZEl0ZW0oeyB9KSkgPT09IENsaXBib2FyZEl0ZW0ucHJvdG90eXBlIik7CisgICAg
ICAgICAgICBzaG91bGRCZVRydWUoIm5ldyBDbGlwYm9hcmRJdGVtKHsgfSkudHlwZXMgaW5zdGFu
Y2VvZiBBcnJheSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJDbGlwYm9h
cmRJdGVtLnRvU3RyaW5nKCkiLCAiZnVuY3Rpb24gQ2xpcGJvYXJkSXRlbSgpIHtcbiAgICBbbmF0
aXZlIGNvZGVdXG59Iik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBD
bGlwYm9hcmRJdGVtKHsgfSkudG9TdHJpbmcoKSIsICJbb2JqZWN0IENsaXBib2FyZEl0ZW1dIik7
CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBDbGlwYm9hcmRJdGVtKHsg
fSwgeyBmb286ICdhdHRhY2htZW50JyB9KS5wcmVzZW50YXRpb25TdHlsZSIsICJ1bnNwZWNpZmll
ZCIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3coIm5ldyBDbGlwYm9hcmRJdGVtKHsgfSwgeyBw
cmVzZW50YXRpb25TdHlsZTogJ0F0dGFDSG1lblQnIH0pLnByZXNlbnRhdGlvblN0eWxlIik7Cisg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBDbGlwYm9hcmRJdGVtKHsgfSwg
eyBwcmVzZW50YXRpb25TdHlsZTogJ3Vuc3BlY2lmaWVkJyB9KS5wcmVzZW50YXRpb25TdHlsZSIs
ICJ1bnNwZWNpZmllZCIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcg
Q2xpcGJvYXJkSXRlbSh7IH0sIHsgcHJlc2VudGF0aW9uU3R5bGU6ICdhdHRhY2htZW50JyB9KS5w
cmVzZW50YXRpb25TdHlsZSIsICJhdHRhY2htZW50Iik7CisgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoIm5ldyBDbGlwYm9hcmRJdGVtKHsgfSwgeyBwcmVzZW50YXRpb25TdHlsZTog
J2lubGluZScgfSkucHJlc2VudGF0aW9uU3R5bGUiLCAiaW5saW5lIik7CisgICAgICAgICAgICBz
aG91bGRUaHJvdygibmV3IENsaXBib2FyZEl0ZW0oeyB9LCAnaW5saW5lJykiKTsKKworICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eSBvbmxvYWQ9cnVuVGVzdCgpPjwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQu
dHh0CmluZGV4IGYyZjYzZTg1NjUwZDYyMWM0NmExNzAxYWQyNTdkMmQ0MmY4NzY3M2YuLjI3ZmJi
ZWExYTQxOWYxZDFmZTNmNDZlMWQyYTYzNGRjNTEzY2IwZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVj
dGVkLnR4dApAQCAtNSw2ICs1LDcgQEAgVGhpcyB0ZXN0cyB0aGF0IHRoZSBuYXZpZ2F0b3Igb2Jq
ZWN0IG9mIGEgZGVsZXRlZCBmcmFtZSBpcyBkaXNjb25uZWN0ZWQgcHJvcGVybHkKIG5hdmlnYXRv
ci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5h
cHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29v
a2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9yLmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3Iu
Z2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwpAQCAtMzEsNiArMzIsNyBAQCBuYXZpZ2F0b3Iud2Vi
ZHJpdmVyIGlzIE9LCiBuYXZpZ2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBO
YW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2aWdhdG9yLmNsaXBib2Fy
ZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5hdmlnYXRvci5jcmVkZW50
aWFscyBpcyBPSwogbmF2aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkgaXMgT0sKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1oaWdoc2llcnJhLXdrMS9mYXN0L2RvbS9uYXZp
Z2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLWhpZ2hzaWVycmEtd2sxL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFz
aC1leHBlY3RlZC50eHQKaW5kZXggZmMyOWU0YjAwOTU0ZmU0NjZmNTEwMGQ0YTAyNTYyMWQ5OThl
ZTFhNS4uZTRiYjQ0N2MyMGRkNDY1MmY1YTk3MjdhNWJlYTU0ODM2YmQwY2I0NiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWhpZ2hzaWVycmEtd2sxL2Zhc3QvZG9tL25hdmln
YXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLWhpZ2hzaWVycmEtd2sxL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1j
cmFzaC1leHBlY3RlZC50eHQKQEAgLTMsNiArMyw3IEBAIFRoaXMgdGVzdHMgdGhhdCB0aGUgbmF2
aWdhdG9yIG9iamVjdCBvZiBhIGRlbGV0ZWQgZnJhbWUgaXMgZGlzY29ubmVjdGVkIHByb3Blcmx5
CiBuYXZpZ2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBu
YXZpZ2F0b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2
aWdhdG9yLmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5hdmlnYXRvci5nZXRTdG9yYWdlVXBkYXRlcygp
IGlzIE9LCiBuYXZpZ2F0b3IuamF2YUVuYWJsZWQoKSBpcyBPSwpAQCAtMjMsNiArMjQsNyBAQCBu
YXZpZ2F0b3Iud2ViZHJpdmVyIGlzIE9LCiBuYXZpZ2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sKIG5h
dmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2aWdh
dG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5hdmln
YXRvci5nZXRTdG9yYWdlVXBkYXRlcygpIGlzIE9LCiBuYXZpZ2F0b3IuamF2YUVuYWJsZWQoKSBp
cyBPSwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWhpZ2hzaWVycmEvZmFz
dC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy1oaWdoc2llcnJhL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1u
by1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggODUwODA3NjA3NTVlMGJkNTAwNTljODc3ZmRlYmMy
ZTc0MzY0NzNiZS4uMjg1YjFlN2FjZDUwMDA1MTk1YjBkOGU4NWMxOWVjOTgyN2U5MzU0MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWhpZ2hzaWVycmEvZmFzdC9kb20vbmF2
aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtaGlnaHNpZXJyYS9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jh
c2gtZXhwZWN0ZWQudHh0CkBAIC00LDYgKzQsNyBAQCBUaGlzIHRlc3RzIHRoYXQgdGhlIG5hdmln
YXRvciBvYmplY3Qgb2YgYSBkZWxldGVkIGZyYW1lIGlzIGRpc2Nvbm5lY3RlZCBwcm9wZXJseQog
bmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwTmFtZSBpcyBPSwogbmF2
aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25hdmlnYXRvci5jbGlwYm9hcmQgaXMgT0sKIG5hdmln
YXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBuYXZpZ2F0b3IuY3JlZGVudGlhbHMgaXMgT0sKIG5h
dmlnYXRvci5nZXRTdG9yYWdlVXBkYXRlcygpIGlzIE9LCkBAIC0yOCw2ICsyOSw3IEBAIG5hdmln
YXRvci53ZWJkcml2ZXIgaXMgT0sKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdh
dG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3Iu
Y2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9y
LmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0
b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0
CmluZGV4IDNjZjBkYjJiZDgxOGM3ZWQwNzkwMjk3ZDUyMWE1YjUzNTQwZmQ5ZjguLjM0MTI4NDAx
N2I0Mjc0NGQxYmQxMWI1OWQ2MmExODVmMmQ3MGRjOWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25h
dmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTUsNiArNSw3IEBAIFRo
aXMgdGVzdHMgdGhhdCB0aGUgbmF2aWdhdG9yIG9iamVjdCBvZiBhIGRlbGV0ZWQgZnJhbWUgaXMg
ZGlzY29ubmVjdGVkIHByb3Blcmx5CiBuYXZpZ2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sKIG5hdmln
YXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2aWdhdG9y
LmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5hdmlnYXRv
ci5jcmVkZW50aWFscyBpcyBPSwogbmF2aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkgaXMgT0sK
QEAgLTMxLDYgKzMyLDcgQEAgbmF2aWdhdG9yLndlYmRyaXZlciBpcyBPSwogbmF2aWdhdG9yLmFw
cENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcFZl
cnNpb24gaXMgT0sKK25hdmlnYXRvci5jbGlwYm9hcmQgaXMgT0sKIG5hdmlnYXRvci5jb29raWVF
bmFibGVkIGlzIE9LCiBuYXZpZ2F0b3IuY3JlZGVudGlhbHMgaXMgT0sKIG5hdmlnYXRvci5nZXRT
dG9yYWdlVXBkYXRlcygpIGlzIE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jh
c2gtZXhwZWN0ZWQudHh0CmluZGV4IDMzM2VjOTYwOGQ4ZDRkZjU3YzFmZjBmMmQ3ZTRlMjUzNzhi
YTM3M2YuLmZmMWM1MjFkMTAxMDgwNmU5MGQ1NzA1ZGU0NDMyNDMyNDM3YWY5Y2IgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQt
bm8tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC00LDYgKzQs
NyBAQCBUaGlzIHRlc3RzIHRoYXQgdGhlIG5hdmlnYXRvciBvYmplY3Qgb2YgYSBkZWxldGVkIGZy
YW1lIGlzIGRpc2Nvbm5lY3RlZCBwcm9wZXJseQogbmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9L
CiBuYXZpZ2F0b3IuYXBwTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25h
dmlnYXRvci5jbGlwYm9hcmQgaXMgT0sKIG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBu
YXZpZ2F0b3IuY3JlZGVudGlhbHMgaXMgT0sKIG5hdmlnYXRvci5nZXRTdG9yYWdlVXBkYXRlcygp
IGlzIE9LCkBAIC0yNyw2ICsyOCw3IEBAIG5hdmlnYXRvci53ZWJkcml2ZXIgaXMgT0sKIG5hdmln
YXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRv
ci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3Iu
Y29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9yLmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0
b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVk
LW5vLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCA5Y2NjZWFjNTkzMjUwNGQxYjdhMTBiMWZjOTE1
ZWYzZTVjMTU5ZWUzLi4yMTg4ZWZhN2YzMmM5NGY3YzM4OTZjNGIxNzdkYTU5NzMzZjYwMzg2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC9kb20vbmF2aWdhdG9yLWRl
dGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAt
NCw2ICs0LDcgQEAgVGhpcyB0ZXN0cyB0aGF0IHRoZSBuYXZpZ2F0b3Igb2JqZWN0IG9mIGEgZGVs
ZXRlZCBmcmFtZSBpcyBkaXNjb25uZWN0ZWQgcHJvcGVybHkKIG5hdmlnYXRvci5hcHBDb2RlTmFt
ZSBpcyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlz
IE9LCituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBp
cyBPSwogbmF2aWdhdG9yLmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVw
ZGF0ZXMoKSBpcyBPSwpAQCAtMjQsNiArMjUsNyBAQCBuYXZpZ2F0b3Iud2ViZHJpdmVyIGlzIE9L
CiBuYXZpZ2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBu
YXZpZ2F0b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2
aWdhdG9yLmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5hdmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwog
bmF2aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkgaXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbmNhaXJvL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFz
aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9mYXN0L2RvbS9u
YXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IGIzYjI1MmZkZTdl
MDk2NTMzOTgyNjRlZmQ1ZTBjOGM3MDg4ZjY0NTcuLmQxOWM1NzZhNTE3ZmIyYTMyYWNiZThlM2Zj
NDc3YTdkMWRhYjBmMTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJv
L2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVk
LW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMyw2ICszLDcgQEAgVGhpcyB0ZXN0cyB0aGF0IHRo
ZSBuYXZpZ2F0b3Igb2JqZWN0IG9mIGEgZGVsZXRlZCBmcmFtZSBpcyBkaXNjb25uZWN0ZWQgcHJv
cGVybHkKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMg
T0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9L
CiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9yLmdldFN0b3JhZ2VVcGRh
dGVzKCkgaXMgT0sKIG5hdmlnYXRvci5qYXZhRW5hYmxlZCgpIGlzIE9LCkBAIC0yMSw2ICsyMiw3
IEBAIG5hdmlnYXRvci53ZWJkcml2ZXIgaXMgT0sKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBP
SwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCitu
YXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwog
bmF2aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkgaXMgT0sKIG5hdmlnYXRvci5qYXZhRW5hYmxl
ZCgpIGlzIE9LCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380334</attachid>
            <date>2019-10-07 09:45:36 -0700</date>
            <delta_ts>2019-10-07 11:22:23 -0700</delta_ts>
            <desc>Fix CMake builds</desc>
            <filename>bug-202622-20191007094535.patch</filename>
            <type>text/plain</type>
            <size>63991</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTg4ZDYxYTZjNGJlNGFm
MjA5MjgwOGIwNjYzNjZjNmQ2NDAyMzY2MS4uZDM1NzM4ZGRhZjdmOTc4ODEzMTY4ZDg5ZTBlYjUw
MmUxYjY4YTg0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDE5LTEwLTA3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtDbGlwYm9hcmQg
QVBJXSBJbnRyb2R1Y2UgYmluZGluZ3MgZm9yIHRoZSBhc3luYyBDbGlwYm9hcmQgQVBJCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI2MjIKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzU2MDM4MTI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgSURMIHN1cHBvcnQgZm9yIHRoZSBhc3luYyBjbGlw
Ym9hcmQgQVBJICh3aXRoIHRoZSBleGNlcHRpb24gb2YgZGVsYXllZCBpdGVtIGdlbmVyYXRpb24g
aW50ZXJmYWNlcywgd2hpY2gKKyAgICAgICAgSSdsbCBpdGVyYXRlIG9uIGFuZCBpbnRyb2R1Y2Ug
c2VwYXJhdGVseSkuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9jbGlwYm9hcmQvY2xpcGJvYXJk
LWludGVyZmFjZXMuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIE1vZHVsZXMvY2xpcGJvYXJkL0NsaXBib2FyZC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDbGlwYm9hcmQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OkNsaXBi
b2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OmV2ZW50VGFyZ2V0SW50ZXJmYWNl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZDo6c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OnJlYWRUZXh0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZDo6d3JpdGVUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OkNsaXBib2FyZDo6cmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OndyaXRlKToK
KworICAgICAgICBTdHViIG91dCB0aGVzZSBBUEkgY2FsbHMgZm9yIG5vdyBieSBpbW1lZGlhdGVs
eSByZWplY3RpbmcgdGhlIGdpdmVuIHByb21pc2UuCisKKyAgICAgICAgKiBNb2R1bGVzL2NsaXBi
b2FyZC9DbGlwYm9hcmQuaDoKKyAgICAgICAgKiBNb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmQu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvY2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkSXRlbTo6Q2xpcGJvYXJkSXRlbSk6CisgICAgICAgIChX
ZWJDb3JlOjpDbGlwYm9hcmRJdGVtOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJv
YXJkSXRlbTo6dHlwZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkSXRlbTo6
Z2V0VHlwZSk6CisKKyAgICAgICAgU3R1YiBvdXQgdGhlc2UgQVBJIGNhbGxzIGZvciBub3cgYnkg
aW1tZWRpYXRlbHkgcmVqZWN0aW5nIHRoZSBnaXZlbiBwcm9taXNlLgorCisgICAgICAgICogTW9k
dWxlcy9jbGlwYm9hcmQvQ2xpcGJvYXJkSXRlbS5oOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJv
YXJkSXRlbTo6cHJlc2VudGF0aW9uU3R5bGUgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvY2xp
cGJvYXJkL0NsaXBib2FyZEl0ZW0uaWRsOgorICAgICAgICAqIE1vZHVsZXMvY2xpcGJvYXJkL05h
dmlnYXRvckNsaXBib2FyZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDbGlwYm9h
cmQ6Ok5hdmlnYXRvckNsaXBib2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDbGlw
Ym9hcmQ6OmNsaXBib2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDbGlwYm9hcmQ6
OmZyb20pOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ2xpcGJvYXJkOjpzdXBwbGVtZW50
TmFtZSk6CisgICAgICAgICogTW9kdWxlcy9jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmg6
CisgICAgICAgICogTW9kdWxlcy9jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHA6CisgICAgICAgICogTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
Z3B1L1dlYkdQVVBpcGVsaW5lLmg6CisKKyAgICAgICAgTW9yZSB1bmlmaWVkIHNvdXJjZXMtcmVs
YXRlZCBidWlsZCBmaXhlcy4KKworICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9X
ZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uT3JN
b3Rpb25FdmVudC5jcHA6CisKKyAgICAgICAgVW5pZmllZCBzb3VyY2VzLXJlbGF0ZWQgYnVpbGQg
Zml4LgorCisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbjoKKyAgICAgICAgKiBm
ZWF0dXJlcy5qc29uOgorCisgICAgICAgIEFkZCBBc3luYyBDbGlwYm9hcmQgQVBJIGFzIGEgZmVh
dHVyZSBpbiBkZXZlbG9wbWVudCBvbiB3ZWJraXQub3JnLgorCisgICAgICAgICogcGFnZS9TZXR0
aW5ncy55YW1sOgorCiAyMDE5LTEwLTA2ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW0xGQ11bUGFpbnRpbmddIEludHJvZHVjZSBEaXNwbGF5OjpQYWludGVyCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCmluZGV4IDU3NDNkNGI1Yjk3NzZkNDQ2MmM0ODNhNmYyZWJkYzVkZDVhYzI3OWYuLjNmMTdm
MjcxYWNjMWY1ZGU2MjQ1YTBiNGM2NGU4N2QwMDMyMWRiZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMTktMTAtMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
CisKKyAgICAgICAgW0NsaXBib2FyZCBBUEldIEludHJvZHVjZSBiaW5kaW5ncyBmb3IgdGhlIGFz
eW5jIENsaXBib2FyZCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMjYyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYwMzgxMjY+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBhIG5ldyBl
eHBlcmltZW50YWwgZmVhdHVyZSBmbGFnLiBTZWUgV2ViQ29yZSBDaGFuZ2VMb2cgZm9yIG1vcmUg
ZGV0YWlscy4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorCiAyMDE5
LTEwLTA0ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgYSBi
ZXR0ZXIgbmFtZSB0aGFuIGFsbG93RmFzdENsaWNrc0V2ZXJ5d2hlcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKaW5kZXggODI2MmJlNjhjODI0MDhiZjcxNTZhMWM4MWZkZDdiNjJmYjRiNWMxYy4uNWE5NGQ5
OWIwNjNiNzYwNGEyNzczZmU1Y2JmZjhjYzI4ZjA4MzMyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
QEAgLTMwLDYgKzMwLDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9JTkNMVURFX0RJUkVDVE9SSUVT
CiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdCIKICAgICAi
JHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9iZWFjb24iCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVs
ZXMvY2FjaGUiCisgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvY2xpcGJvYXJkIgogICAgICIk
e1dFQkNPUkVfRElSfS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50IgogICAgICIke1dFQkNP
UkVfRElSfS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeSIKQEAgLTIzMSw2ICsyMzIsMTAgQEAgc2V0KFdlYkNv
cmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5p
ZGwKICAgICBNb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmlkbAogCisgICAg
TW9kdWxlcy9jbGlwYm9hcmQvQ2xpcGJvYXJkLmlkbAorICAgIE1vZHVsZXMvY2xpcGJvYXJkL0Ns
aXBib2FyZEl0ZW0uaWRsCisgICAgTW9kdWxlcy9jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJk
LmlkbAorCiAgICAgTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwu
aWRsCiAgICAgTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsQ3JlYXRpb25P
cHRpb25zLmlkbAogICAgIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJl
cXVlc3RPcHRpb25zLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QKaW5kZXggMmY5OGY5ZTMxNWViNmY4M2UwMzM0Y2E3Zjc4NDhlM2RlYTRkMTIw
OS4uN2UyZDFmOTIzZDQ3NjQ0MWE2ZTBjYmUxMTEzNWRhZTkzNDgwZTE1MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC01Myw2ICs1Myw5
IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGUuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL2NhY2hlL0RPTUNhY2hlU3RvcmFnZS5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvY2FjaGUvRE9NV2luZG93Q2FjaGVzLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9j
YWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
Y2xpcGJvYXJkL0NsaXBib2FyZC5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY2xpcGJvYXJk
L0NsaXBib2FyZEl0ZW0uaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2NsaXBib2FyZC9OYXZp
Z2F0b3JDbGlwYm9hcmQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5h
Z2VtZW50L0Jhc2ljQ3JlZGVudGlhbC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY3JlZGVu
dGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25z
LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlz
dAppbmRleCA5M2M1Yzg2NzU4NTk0YWEwYTA3ZGI2MmIwYzhlMDRkMzQ0Yjg3ODFhLi43ZGZiODk3
Nzc2OTE3NTllNTFkZmEwZWJkNjM5ODIwYzFmYmE2MmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMjkwLDggKzI5MCwxMiBAQCAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NoYXJhY3RlckRh
dGEuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0No
YXJhY3RlckRhdGEuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDaGlsZE5vZGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0NoaWxkTm9kZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0NsaXBib2FyZC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTQ2xpcGJvYXJkLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQ2xpcGJvYXJkRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NsaXBib2FyZEV2ZW50LmgKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2xpcGJvYXJkSXRlbS5jcHAK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2xpcGJvYXJk
SXRlbS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Ns
b3NlRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0Nsb3NlRXZlbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNDb21tYW5kTGluZUFQSUhvc3QuY3BwCkBAIC0xMDY3LDYgKzEwNzEsOCBAQCAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5jcHAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9y
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdh
dG9yQmVhY29uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNOYXZpZ2F0b3JCZWFjb24uaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3JDbGlwYm9hcmQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvckNsaXBib2FyZC5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvckNyZWRlbnRp
YWxzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNO
YXZpZ2F0b3JDcmVkZW50aWFscy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU05hdmlnYXRvckVNRS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CmluZGV4IDI4NDBlZmQ2ZmFlNjk0MDc5YzFjMDE0YzMzYmEwMTUwMGYzMjk4N2MuLjkyZDM1OTVj
NDA4MjFlZWZiZmE4ZTNmN2FjYjhlMmE5YzQyN2Y4YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQpAQCAtMzMsNiArMzMsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9iZWFj
b24gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jYWNoZSBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL2NsaXBib2FyZCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2Vt
ZW50IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kgXApAQCAtMTI4LDYgKzEyOSw5IEBA
IEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY2FjaGUvRE9NQ2Fj
aGVTdG9yYWdlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0Nh
Y2hlcy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29w
ZUNhY2hlcy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jbGlwYm9hcmQvQ2xpcGJvYXJk
LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmlk
bCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQu
aWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQmFzaWND
cmVkZW50aWFsLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2Vt
ZW50L0NyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jbGlwYm9hcmQvQ2xpcGJvYXJkLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kNDUzMTg1NjBjNzc4MTViMjRiNjUzODQ2NjBhZDUzYjNmMTNkOGQ3Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jbGlwYm9hcmQvQ2xpcGJvYXJkLmNwcApA
QCAtMCwwICsxLDc4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkNsaXBib2FyZC5oIgorCisjaW5jbHVkZSAiQ2xpcGJvYXJkSXRlbS5oIgorI2luY2x1ZGUg
Ik5hdmlnYXRvci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExP
Q0FURURfSU1QTChDbGlwYm9hcmQpOworCitSZWY8Q2xpcGJvYXJkPiBDbGlwYm9hcmQ6OmNyZWF0
ZShOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDbGlw
Ym9hcmQobmF2aWdhdG9yKSk7Cit9CisKK0NsaXBib2FyZDo6Q2xpcGJvYXJkKE5hdmlnYXRvciYg
bmF2aWdhdG9yKQorICAgIDogbV9uYXZpZ2F0b3IobWFrZVdlYWtQdHIobmF2aWdhdG9yKSkKK3sK
K30KKworRXZlbnRUYXJnZXRJbnRlcmZhY2UgQ2xpcGJvYXJkOjpldmVudFRhcmdldEludGVyZmFj
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIENsaXBib2FyZEV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlw
ZTsKK30KKworU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogQ2xpcGJvYXJkOjpzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9uYXZpZ2F0b3IgPyBtX25hdmlnYXRv
ci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIDogbnVsbHB0cjsKK30KKwordm9pZCBDbGlwYm9h
cmQ6OnJlYWRUZXh0KFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBwcm9t
aXNlLT5yZWplY3QoTm90U3VwcG9ydGVkRXJyb3IpOworfQorCit2b2lkIENsaXBib2FyZDo6d3Jp
dGVUZXh0KGNvbnN0IFN0cmluZyYgZGF0YSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNl
KQoreworICAgIFVOVVNFRF9QQVJBTShkYXRhKTsKKyAgICBwcm9taXNlLT5yZWplY3QoTm90U3Vw
cG9ydGVkRXJyb3IpOworfQorCit2b2lkIENsaXBib2FyZDo6cmVhZChSZWY8RGVmZXJyZWRQcm9t
aXNlPiYmIHByb21pc2UpCit7CisgICAgcHJvbWlzZS0+cmVqZWN0KE5vdFN1cHBvcnRlZEVycm9y
KTsKK30KKwordm9pZCBDbGlwYm9hcmQ6OndyaXRlKGNvbnN0IFZlY3RvcjxSZWZQdHI8Q2xpcGJv
YXJkSXRlbT4+JiBpdGVtcywgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAg
IFVOVVNFRF9QQVJBTShpdGVtcyk7CisgICAgcHJvbWlzZS0+cmVqZWN0KE5vdFN1cHBvcnRlZEVy
cm9yKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jbGlwYm9h
cmQvQ2xpcGJvYXJkLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9h
cmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jMjRmZmFhYTEzMzkxNzZmMDZhMzg0YTgxNDYyMjI2OThhZWM3MmI2
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jbGlwYm9hcmQvQ2xp
cGJvYXJkLmgKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5o
PgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgQ2xpcGJvYXJkSXRlbTsKK2NsYXNzIE5hdmlnYXRvcjsKKworY2xhc3MgQ2xpcGJvYXJkIGZp
bmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Q2xpcGJvYXJkPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0
aElubGluZURhdGEgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ2xpcGJvYXJkKTsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUmVmPENsaXBib2FyZD4gY3JlYXRlKE5hdmlnYXRvciYpOworCisg
ICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5h
bDsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkg
Y29uc3QgZmluYWw7CisKKyAgICB1c2luZyBSZWZDb3VudGVkOjpyZWY7CisgICAgdXNpbmcgUmVm
Q291bnRlZDo6ZGVyZWY7CisKKyAgICB2b2lkIHJlYWRUZXh0KFJlZjxEZWZlcnJlZFByb21pc2U+
JiYpOworICAgIHZvaWQgd3JpdGVUZXh0KGNvbnN0IFN0cmluZyYgZGF0YSwgUmVmPERlZmVycmVk
UHJvbWlzZT4mJik7CisKKyAgICB2b2lkIHJlYWQoUmVmPERlZmVycmVkUHJvbWlzZT4mJik7Cisg
ICAgdm9pZCB3cml0ZShjb25zdCBWZWN0b3I8UmVmUHRyPENsaXBib2FyZEl0ZW0+PiYgZGF0YSwg
UmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisKK3ByaXZhdGU6CisgICAgQ2xpcGJvYXJkKE5hdmln
YXRvciYpOworCisgICAgdm9pZCByZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgcmVmKCk7IH0KKyAg
ICB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KKworICAgIFdlYWtQ
dHI8TmF2aWdhdG9yPiBtX25hdmlnYXRvcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2xpcGJvYXJkL0NsaXBib2FyZC5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmQuaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjFiZTRkMjAxNWMwYWYwY2Y0OGIwMjk1YjMyZGYxODQ1ZjMxYTBkMTEKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmQuaWRs
CkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCit0eXBlZGVmIHNlcXVlbmNlPENsaXBib2Fy
ZEl0ZW0+IENsaXBib2FyZEl0ZW1zOworCitbCisgICAgU2VjdXJlQ29udGV4dCwKKyAgICBFeHBv
c2VkPVdpbmRvdywKKyAgICBFbmFibGVkQnlTZXR0aW5nPUFzeW5jQ2xpcGJvYXJkQVBJLAorXSBp
bnRlcmZhY2UgQ2xpcGJvYXJkIDogRXZlbnRUYXJnZXQgeworICAgIFtOZXdPYmplY3RdIFByb21p
c2U8Q2xpcGJvYXJkSXRlbXM+IHJlYWQoKTsKKyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPERPTVN0
cmluZz4gcmVhZFRleHQoKTsKKyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPHZvaWQ+IHdyaXRlKENs
aXBib2FyZEl0ZW1zIGRhdGEpOworICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gd3JpdGVU
ZXh0KERPTVN0cmluZyBkYXRhKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1Y2M2ZGM0NmQ1OWU0YmJj
ZWVkNmRhMzcwNWE1ZTcwNjJiNDg1ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmNwcApAQCAtMCwwICsxLDU4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNsaXBib2FyZEl0ZW0u
aCIKKworI2luY2x1ZGUgIkpTRE9NUHJvbWlzZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURl
ZmVycmVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ2xpcGJvYXJkSXRlbTo6fkNsaXBi
b2FyZEl0ZW0oKSA9IGRlZmF1bHQ7CisKK0NsaXBib2FyZEl0ZW06OkNsaXBib2FyZEl0ZW0oVmVj
dG9yPEtleVZhbHVlUGFpcjxTdHJpbmcsIFJlZlB0cjxET01Qcm9taXNlPj4+JiYgaXRlbXMsIGNv
bnN0IE9wdGlvbnMmIG9wdGlvbnMpCisgICAgOiBtX3ByZXNlbnRhdGlvblN0eWxlKG9wdGlvbnMu
cHJlc2VudGF0aW9uU3R5bGUpCit7CisgICAgVU5VU0VEX1BBUkFNKGl0ZW1zKTsKK30KKworUmVm
PENsaXBib2FyZEl0ZW0+IENsaXBib2FyZEl0ZW06OmNyZWF0ZShWZWN0b3I8S2V5VmFsdWVQYWly
PFN0cmluZywgUmVmUHRyPERPTVByb21pc2U+Pj4mJiBkYXRhLCBjb25zdCBPcHRpb25zJiBvcHRp
b25zKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENsaXBib2FyZEl0ZW0oV1RGTW92ZShk
YXRhKSwgb3B0aW9ucykpOworfQorCitWZWN0b3I8U3RyaW5nPiBDbGlwYm9hcmRJdGVtOjp0eXBl
cygpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsgfTsKK30KKwordm9pZCBDbGlwYm9hcmRJdGVtOjpn
ZXRUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNl
KQoreworICAgIFVOVVNFRF9QQVJBTSh0eXBlKTsKKyAgICBwcm9taXNlLT5yZWplY3QoTm90U3Vw
cG9ydGVkRXJyb3IpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjg4
MGRiZTE2NzZjNTMxYmUzZGMzZTAwMDBlZmYzNjBhYzYxZjQ5ZAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uaApAQCAtMCww
ICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvS2V5
VmFsdWVQYWlyLmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgRGVmZXJyZWRQcm9taXNlOworY2xhc3MgRE9NUHJvbWlzZTsKKworY2xh
c3MgQ2xpcGJvYXJkSXRlbSA6IHB1YmxpYyBSZWZDb3VudGVkPENsaXBib2FyZEl0ZW0+IHsKK3B1
YmxpYzoKKyAgICB+Q2xpcGJvYXJkSXRlbSgpOworCisgICAgZW51bSBjbGFzcyBQcmVzZW50YXRp
b25TdHlsZSA6IHVpbnQ4X3QgeyBVbnNwZWNpZmllZCwgSW5saW5lLCBBdHRhY2htZW50IH07CisK
KyAgICBzdHJ1Y3QgT3B0aW9ucyB7CisgICAgICAgIFByZXNlbnRhdGlvblN0eWxlIHByZXNlbnRh
dGlvblN0eWxlIHsgUHJlc2VudGF0aW9uU3R5bGU6OlVuc3BlY2lmaWVkIH07CisgICAgfTsKKwor
ICAgIHN0YXRpYyBSZWY8Q2xpcGJvYXJkSXRlbT4gY3JlYXRlKFZlY3RvcjxLZXlWYWx1ZVBhaXI8
U3RyaW5nLCBSZWZQdHI8RE9NUHJvbWlzZT4+PiYmLCBjb25zdCBPcHRpb25zJik7CisKKyAgICBW
ZWN0b3I8U3RyaW5nPiB0eXBlcygpIGNvbnN0OworICAgIHZvaWQgZ2V0VHlwZShjb25zdCBTdHJp
bmcmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKworICAgIFByZXNlbnRhdGlvblN0eWxlIHBy
ZXNlbnRhdGlvblN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9wcmVzZW50YXRpb25TdHlsZTsgfTsK
KworcHJpdmF0ZToKKyAgICBDbGlwYm9hcmRJdGVtKFZlY3RvcjxLZXlWYWx1ZVBhaXI8U3RyaW5n
LCBSZWZQdHI8RE9NUHJvbWlzZT4+PiYmLCBjb25zdCBPcHRpb25zJik7CisKKyAgICBQcmVzZW50
YXRpb25TdHlsZSBtX3ByZXNlbnRhdGlvblN0eWxlIHsgUHJlc2VudGF0aW9uU3R5bGU6OlVuc3Bl
Y2lmaWVkIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvY2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIy
YjJhNTVjZTc2NzhjYjUxZDljMTVhYjAyMmNkNjlmOGEyYWM5MzAKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmlkbApAQCAt
MCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwordHlwZWRlZiAoRE9NU3RyaW5nIG9yIEJsb2IpIENs
aXBib2FyZEl0ZW1EYXRhVHlwZTsKK3R5cGVkZWYgUHJvbWlzZTxDbGlwYm9hcmRJdGVtRGF0YVR5
cGU+IENsaXBib2FyZEl0ZW1EYXRhOworCitlbnVtIFByZXNlbnRhdGlvblN0eWxlIHsgInVuc3Bl
Y2lmaWVkIiwgImlubGluZSIsICJhdHRhY2htZW50IiB9OworCitkaWN0aW9uYXJ5IENsaXBib2Fy
ZEl0ZW1PcHRpb25zIHsKKyAgUHJlc2VudGF0aW9uU3R5bGUgcHJlc2VudGF0aW9uU3R5bGUgPSAi
dW5zcGVjaWZpZWQiOworfTsKKworWworICAgIENvbnN0cnVjdG9yKHJlY29yZDxET01TdHJpbmcs
IENsaXBib2FyZEl0ZW1EYXRhPiBpdGVtcywgb3B0aW9uYWwgQ2xpcGJvYXJkSXRlbU9wdGlvbnMg
b3B0aW9ucyksCisgICAgRXhwb3NlZD1XaW5kb3csCisgICAgRW5hYmxlZEJ5U2V0dGluZz1Bc3lu
Y0NsaXBib2FyZEFQSSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFj
ZSBDbGlwYm9hcmRJdGVtIHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RE9N
U3RyaW5nPiB0eXBlczsKKyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPEJsb2I+IGdldFR5cGUoRE9N
U3RyaW5nIHR5cGUpOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQcmVzZW50YXRpb25TdHlsZSBw
cmVzZW50YXRpb25TdHlsZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2NsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYzAwYmNlMGY0
N2M5Y2M2ZjU0N2M4YmI1M2E0ZTYxNGM2ZTI2NjY1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmNwcApAQCAtMCww
ICsxLDcwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5h
dmlnYXRvckNsaXBib2FyZC5oIgorCisjaW5jbHVkZSAiQ2xpcGJvYXJkLmgiCisjaW5jbHVkZSAi
TmF2aWdhdG9yLmgiCisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK05hdmlnYXRvckNsaXBib2FyZDo6TmF2aWdhdG9yQ2xpcGJvYXJkKE5hdmln
YXRvciYgbmF2aWdhdG9yKQorICAgIDogbV9uYXZpZ2F0b3IobmF2aWdhdG9yKQoreworfQorCitO
YXZpZ2F0b3JDbGlwYm9hcmQ6On5OYXZpZ2F0b3JDbGlwYm9hcmQoKSA9IGRlZmF1bHQ7CisKK0Ns
aXBib2FyZCogTmF2aWdhdG9yQ2xpcGJvYXJkOjpjbGlwYm9hcmQoTmF2aWdhdG9yJiBuYXZpZ2F0
b3IpCit7CisgICAgcmV0dXJuIE5hdmlnYXRvckNsaXBib2FyZDo6ZnJvbShuYXZpZ2F0b3IpLT5j
bGlwYm9hcmQoKTsKK30KKworQ2xpcGJvYXJkKiBOYXZpZ2F0b3JDbGlwYm9hcmQ6OmNsaXBib2Fy
ZCgpCit7CisgICAgaWYgKCFtX2NsaXBib2FyZCkKKyAgICAgICAgbV9jbGlwYm9hcmQgPSBDbGlw
Ym9hcmQ6OmNyZWF0ZShtX25hdmlnYXRvcik7CisgICAgcmV0dXJuIG1fY2xpcGJvYXJkLmdldCgp
OworfQorCitOYXZpZ2F0b3JDbGlwYm9hcmQqIE5hdmlnYXRvckNsaXBib2FyZDo6ZnJvbShOYXZp
Z2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICBhdXRvKiBzdXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8
TmF2aWdhdG9yQ2xpcGJvYXJkKj4oU3VwcGxlbWVudDxOYXZpZ2F0b3I+Ojpmcm9tKCZuYXZpZ2F0
b3IsIHN1cHBsZW1lbnROYW1lKCkpKTsKKyAgICBpZiAoIXN1cHBsZW1lbnQpIHsKKyAgICAgICAg
YXV0byBuZXdTdXBwbGVtZW50ID0gbWFrZVVuaXF1ZTxOYXZpZ2F0b3JDbGlwYm9hcmQ+KG5hdmln
YXRvcik7CisgICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOworICAgICAg
ICBwcm92aWRlVG8oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBw
bGVtZW50KSk7CisgICAgfQorICAgIHJldHVybiBzdXBwbGVtZW50OworfQorCitjb25zdCBjaGFy
KiBOYXZpZ2F0b3JDbGlwYm9hcmQ6OnN1cHBsZW1lbnROYW1lKCkKK3sKKyAgICByZXR1cm4gIk5h
dmlnYXRvckNsaXBib2FyZCI7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvY2xpcGJvYXJkL05hdmlnYXRvckNsaXBib2FyZC5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWU0ZGUzN2Mz
YmEzYWFkZGVmNDYyNGQ1MTUzMzNlNTUzY2RjYjgxNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY2xpcGJvYXJkL05hdmlnYXRvckNsaXBib2FyZC5oCkBAIC0wLDAg
KzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlN1cHBsZW1l
bnRhYmxlLmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBDbGlwYm9hcmQ7CitjbGFzcyBOYXZpZ2F0b3I7CisKK2NsYXNzIE5hdmlnYXRv
ckNsaXBib2FyZCBmaW5hbCA6IHB1YmxpYyBTdXBwbGVtZW50PE5hdmlnYXRvcj4geworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIGV4cGxpY2l0IE5hdmlnYXRvckNs
aXBib2FyZChOYXZpZ2F0b3ImKTsKKyAgICB+TmF2aWdhdG9yQ2xpcGJvYXJkKCk7CisKKyAgICBz
dGF0aWMgQ2xpcGJvYXJkKiBjbGlwYm9hcmQoTmF2aWdhdG9yJik7CisgICAgQ2xpcGJvYXJkKiBj
bGlwYm9hcmQoKTsKKworcHJpdmF0ZToKKyAgICBzdGF0aWMgTmF2aWdhdG9yQ2xpcGJvYXJkKiBm
cm9tKE5hdmlnYXRvciYpOworICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgp
OworCisgICAgUmVmUHRyPENsaXBib2FyZD4gbV9jbGlwYm9hcmQ7CisgICAgTmF2aWdhdG9yJiBt
X25hdmlnYXRvcjsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2xpcGJvYXJkL05hdmlnYXRvckNsaXBib2FyZC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2NsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdkNmI1MzNmNjNh
NjdiMDlhZTA3YTAwODdlNTU1NzQ2M2ZhOTk1NDkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuaWRsCkBAIC0wLDAg
KzEsMzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1Bc3luY0NsaXBi
b2FyZEFQSSwKK10gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKKyAgICBbU2VjdXJlQ29u
dGV4dCwgU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIENsaXBib2FyZCBjbGlwYm9hcmQ7
Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbVRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1UcmFjay5jcHAKaW5kZXggODUxMzE3OTQ3MmM5MjE5MDRmYzExY2UxZWU1ZjA5YTEy
N2Q0MTI2YS4uODYxY2ZhZmFlYzBhZGI3NTQ3YjQ0YjVlYmZmZjNjMTgyNDk3MTBlMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNr
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
VHJhY2suY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2lu
Y2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNPdmVyY29uc3RyYWlu
ZWRFcnJvci5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNZWRpYUNvbnN0cmFp
bnRzLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW0uaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbVBy
aXZhdGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDRFRNRlNlbmRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0RUTUZTZW5kZXIuY3BwCmluZGV4IDNlNmRjMDg5NGU2NTUzYzNmOTAyZTQ5NzkzMGU5OThlYjdi
ZWEzY2QuLjZmZjRhYTVlNzdmOTdkZGY5MjNkM2JmYjlhNmU2ZjcxYzVmZjU4NGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNw
cApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiUlRDRFRNRlNlbmRlckJhY2tlbmQuaCIK
ICNpbmNsdWRlICJSVENEVE1GVG9uZUNoYW5nZUV2ZW50LmgiCisjaW5jbHVkZSAiUlRDUnRwU2Vu
ZGVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgPHd0
Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmNwcAppbmRleCAwMDdkMmMzYTRiOWViYTFjYWMxMzA0
OTc2ODZkNDQ2ZDJmMDUzMjNiLi4yYTY2ZmY0OGQxZjAyM2VjYmRhMDc5NTE0ZjU5ZDBkYjY0M2Vk
MWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cFNlbmRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTZW5kZXIuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpZiBFTkFCTEUoV0VCX1JUQykKIAor
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiUlRDRFRNRlNlbmRl
ci5oIgogI2luY2x1ZGUgIlJUQ0RUTUZTZW5kZXJCYWNrZW5kLmgiCiAjaW5jbHVkZSAiUlRDUnRw
Q2FwYWJpbGl0aWVzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFVQaXBlbGluZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
UGlwZWxpbmUuaAppbmRleCAxZTMyM2M3OWJmMTk4MjU4MjM2MmE3M2Y4YTY3NWYxMjhiNGE2Zjcx
Li4zYjM0YTRlYjA2NWNiMDQxOTgyZTkxMzBiZGE2MjUwNzY1YjNhYjkwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lLmgKQEAgLTMwLDYgKzMwLDcg
QEAKICNpbmNsdWRlICJHUFVPYmplY3RCYXNlLmgiCiAjaW5jbHVkZSAiV2ViR1BVU2hhZGVyTW9k
dWxlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggNGE4MTA5MjRkZTc0MzJm
ZmZlNjEyY2Y1ZWRkNmQxZmFiNjEzNTcyNy4uZmM1YWYyMGRjMjYwMTA0Nzk0MjgzYjAxNDJlZWJh
NjFlN2Q0ODFmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIv
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTQzLDYgKzQzLDEwIEBAIE1vZHVsZXMvY2Fj
aGUvRE9NV2luZG93Q2FjaGVzLmNwcAogTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uLmNwcAogTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAK
IAorTW9kdWxlcy9jbGlwYm9hcmQvQ2xpcGJvYXJkLmNwcAorTW9kdWxlcy9jbGlwYm9hcmQvQ2xp
cGJvYXJkSXRlbS5jcHAKK01vZHVsZXMvY2xpcGJvYXJkL05hdmlnYXRvckNsaXBib2FyZC5jcHAK
KwogTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuY3BwCiBNb2R1
bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxzQ29udGFpbmVyLmNwcAogTW9kdWxl
cy9jcmVkZW50aWFsbWFuYWdlbWVudC9OYXZpZ2F0b3JDcmVkZW50aWFscy5jcHAKQEAgLTI2ODgs
NyArMjY5Miw5IEBAIEpTQ2hhbm5lbE1lcmdlck5vZGUuY3BwCiBKU0NoYW5uZWxTcGxpdHRlck5v
ZGUuY3BwCiBKU0NoYXJhY3RlckRhdGEuY3BwCiBKU0NoaWxkTm9kZS5jcHAKK0pTQ2xpcGJvYXJk
LmNwcAogSlNDbGlwYm9hcmRFdmVudC5jcHAKK0pTQ2xpcGJvYXJkSXRlbS5jcHAKIEpTQ2xvc2VF
dmVudC5jcHAKIEpTQ29tbWFuZExpbmVBUElIb3N0LmNwcAogSlNDb21tZW50LmNwcApAQCAtMzAy
OSw2ICszMDM1LDcgQEAgSlNNdXRhdGlvblJlY29yZC5jcHAKIEpTTmFtZWROb2RlTWFwLmNwcAog
SlNOYXZpZ2F0b3IuY3BwCiBKU05hdmlnYXRvckJlYWNvbi5jcHAKK0pTTmF2aWdhdG9yQ2xpcGJv
YXJkLmNwcAogSlNOYXZpZ2F0b3JDcmVkZW50aWFscy5jcHAKIEpTTmF2aWdhdG9yR2VvbG9jYXRp
b24uY3BwCiBKU05hdmlnYXRvckdQVS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4M2M5ZWM3ZDhmZTA0NjNkMDUxZDUwZmU3
NjljMzk5ODY2NzE1OTNmLi4xOGUzODRiNGEyYjU1OGFkODM5ODc4YTMwNDgyNWIxOWRiMDZmOWZl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC00ODcxLDYgKzQ4NzEsOSBAQAogCQlGM0FCRkUwQzEzMEU5REEwMDBFN0Y3RDEgLyog
SW5zdHJ1bWVudGluZ0FnZW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjNBQkZFMEIxMzBFOURBMDAwRTdGN0QxIC8qIEluc3RydW1lbnRpbmdBZ2Vu
dHMuaCAqLzsgfTsKIAkJRjNENDYxNDkxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0Q0NjE0
NzExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuaCAqLzsgfTsKIAkJRjQzM0U5MDMx
REJCREJBMjAwRUYwRDE0IC8qIFN0YXRpY1Bhc3RlYm9hcmQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0MzNFOTAyMURCQkRCQTIwMEVGMEQxNCAvKiBT
dGF0aWNQYXN0ZWJvYXJkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJRjQ0MEU3N0EyMzNEOTRENzAwNjNGOUFCIC8qIE5hdmlnYXRvckNsaXBib2Fy
ZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0MEU3
NkYyMzNEOTREMzAwNjNGOUFCIC8qIE5hdmlnYXRvckNsaXBib2FyZC5oICovOyB9OworCQlGNDQw
RTc3QjIzM0Q5NEQ3MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRlbS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0MEU3NzAyMzNEOTRENDAwNjNGOUFCIC8q
IENsaXBib2FyZEl0ZW0uaCAqLzsgfTsKKwkJRjQ0MEU3N0QyMzNEOTRENzAwNjNGOUFCIC8qIENs
aXBib2FyZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RjQ0MEU3NzIyMzNEOTRENTAwNjNGOUFCIC8qIENsaXBib2FyZC5oICovOyB9OwogCQlGNDRBNUY1
OTFGRUQzOEYyMDA3RjU5NDQgLyogTGVnYWN5TlNQYXN0ZWJvYXJkVHlwZXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NEE1RjU3MUZFRDM4MzAwMDdG
NTk0NCAvKiBMZWdhY3lOU1Bhc3RlYm9hcmRUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY0NEVCQkQ5MURCNUQyMTQwMDI3NzMzNCAvKiBT
dGF0aWNSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjQ0RUJCRDgxREI1RDIxNDAwMjc3MzM0IC8qIFN0YXRpY1JhbmdlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjQ1QzIzMUUxOTk1QjczQjAw
QTZFMkUzIC8qIEF4aXNTY3JvbGxTbmFwT2Zmc2V0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ1QzIzMUMxOTk1QjczQjAwQTZFMkUzIC8qIEF4aXNT
Y3JvbGxTbmFwT2Zmc2V0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CkBAIC0xMDA4OSw3ICsxMDA5MiwxMSBAQAogCQk4MzZEMDMyQjFEQThBMTMyMDBG
RkQ5NkIgLyogSlNFdmVudEluaXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNFdmVudEluaXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzZE
MDMyQzFEQThBMTMyMDBGRkQ5NkIgLyogSlNFdmVudEluaXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNFdmVudEluaXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJODM2RDAzMkQxREE4QTEzMjAwRkZEOTZCIC8qIEpTQ2xpcGJvYXJkRXZlbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDbGlwYm9hcmRFdmVudC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzNkQwMzJEMURBOEExMzIwMEZGRDk2QyAvKiBK
U0NsaXBib2FyZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Ns
aXBib2FyZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzNkQwMzJEMURBOEEx
MzIwMEZGRDk2RCAvKiBKU0NsaXBib2FyZEl0ZW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNDbGlwYm9hcmRJdGVtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODM2RDAzMkUxREE4QTEzMjAwRkZEOTZCIC8qIEpTQ2xpcGJvYXJkRXZlbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDbGlwYm9hcmRFdmVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4MzZEMDMyRTFEQThBMTMyMDBGRkQ5NkMgLyogSlND
bGlwYm9hcmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDbGlwYm9hcmQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODM2RDAzMkUxREE4QTEzMjAwRkZEOTZE
IC8qIEpTQ2xpcGJvYXJkSXRlbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0NsaXBib2FyZEl0ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM2REFBMDUx
Q0VBQjdDRDAwQTJCNzA3IC8qIFJlbmRlckRlc2NlbmRhbnRJdGVyYXRvci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJEZXNjZW5kYW50SXRlcmF0b3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM3MDU2ODgxRjUwOTE1MDAwRDkzNDI1IC8qIEpTRmls
ZUNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRmls
ZUNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM3MDU2ODkxRjUw
OTE1MDAwRDkzNDI1IC8qIEpTRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGaWxlU3lzdGVtRW50cnlDYWxsYmFjay5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTUxNTcsNiArMTUxNjQsMTUgQEAKIAkJRjQyQ0VCNTQy
MTQwMzFFRTAwMkRDQTcyIC8qIEZvbnRBdHRyaWJ1dGVDaGFuZ2VzQ29jb2EubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBGb250QXR0cmlidXRlQ2hhbmdlc0NvY29hLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGNDMzRTkwMjFEQkJEQkEyMDBFRjBEMTQgLyogU3RhdGljUGFzdGVi
b2FyZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdGF0aWNQYXN0ZWJvYXJk
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0MzNFOTA0MURCQkRCQzIwMEVGMEQx
NCAvKiBTdGF0aWNQYXN0ZWJvYXJkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0YXRpY1Bhc3Rl
Ym9hcmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDQwRTc2RTIzM0Q5NEQz
MDA2M0Y5QUIgLyogQ2xpcGJvYXJkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IENsaXBib2FyZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0NDBF
NzZGMjMzRDk0RDMwMDYzRjlBQiAvKiBOYXZpZ2F0b3JDbGlwYm9hcmQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTmF2aWdhdG9yQ2xpcGJvYXJkLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUY0NDBFNzcwMjMzRDk0RDQwMDYzRjlBQiAvKiBDbGlwYm9hcmRJdGVt
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENsaXBib2FyZEl0ZW0uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0MEU3NzEyMzNEOTRENDAwNjNGOUFCIC8qIE5h
dmlnYXRvckNsaXBib2FyZC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmF2aWdhdG9yQ2xp
cGJvYXJkLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0MEU3NzIyMzNEOTRE
NTAwNjNGOUFCIC8qIENsaXBib2FyZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDbGlwYm9hcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0MEU3NzMyMzNE
OTRENTAwNjNGOUFCIC8qIE5hdmlnYXRvckNsaXBib2FyZC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBOYXZpZ2F0b3JDbGlwYm9hcmQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlGNDQwRTc3NDIzM0Q5NEQ2MDA2M0Y5QUIgLyogQ2xpcGJvYXJkLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDbGlwYm9hcmQuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlGNDQwRTc3NTIzM0Q5NEQ2MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRlbS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDbGlwYm9hcmRJdGVtLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0MEU3NzcyMzNEOTRENzAwNjNGOUFC
IC8qIENsaXBib2FyZEl0ZW0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENsaXBib2FyZEl0
ZW0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDQyODUwQjIxNDA0MTI1MDBD
Q0RBMjIgLyogRm9udEF0dHJpYnV0ZUNoYW5nZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9u
dEF0dHJpYnV0ZUNoYW5nZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDRB
NUY1NzFGRUQzODMwMDA3RjU5NDQgLyogTGVnYWN5TlNQYXN0ZWJvYXJkVHlwZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTGVnYWN5TlNQYXN0ZWJvYXJkVHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRjQ0RUJCRDYxREI1RDFCNjAwMjc3MzM0IC8qIFN0YXRpY1JhbmdlLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBTdGF0aWNSYW5nZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xNjU3NSw2ICsxNjU5MSw3IEBACiAJCQkJMTIyMUUwNTgxQzAyQjQwOTAwNkEx
QTAwIC8qIEFuaW1hdGlvbiAqLywKIAkJCQkxQUU5NkE3OTFEMUEwQTVDMDBCODY3NjggLyogQXBw
bGVQYXkgKi8sCiAJCQkJNDFGQjI3ODgxRjM0NDYxQjAwNzk1NDg4IC8qIENhY2hlQVBJICovLAor
CQkJCUY0NDBFNzY5MjMzRDkzNjIwMDYzRjlBQiAvKiBDbGlwYm9hcmQgKi8sCiAJCQkJQTgzQjc5
MTAwQ0NCMDAxQjAwMEIwODI1IC8qIENvcmUgKi8sCiAJCQkJNTdDN0E2OEQxRTU2OUE4NDAwQzY3
RDcxIC8qIENyZWRlbnRpYWxNYW5hZ2VtZW50ICovLAogCQkJCUUxRkY4RjYxMTgwNzQ1QzYwMDEz
MjY3NCAvKiBDcnlwdG8gKi8sCkBAIC0yMTkyNSw2ICsyMTk0Miw3IEBACiAJCQkJNjNCRDRBNUMx
Rjc3OEU4NDAwNDM4NzIyIC8qIGFwcGxpY2F0aW9ubWFuaWZlc3QgKi8sCiAJCQkJODMyMTUwNzkx
RjI3RTk2QjAwOTVCMTM2IC8qIGJlYWNvbiAqLywKIAkJCQk0MTM4MEMxRTFGMzQzNjYwMDAxNTVG
REEgLyogY2FjaGUgKi8sCisJCQkJRjQ0MEU3NkEyMzNEOTNDODAwNjNGOUFCIC8qIGNsaXBib2Fy
ZCAqLywKIAkJCQk1N0M3QTY4ODFFNTY5NDZEMDBDNjdENzEgLyogY3JlZGVudGlhbG1hbmFnZW1l
bnQgKi8sCiAJCQkJQ0RBOThEQkQxNjAxNEUwODAwRkVBM0IxIC8qIGVuY3J5cHRlZG1lZGlhICov
LAogCQkJCTgzRkIzMzY1MUY1MDhBMTcwMDk4NkU1NCAvKiBlbnRyaWVzYXBpICovLApAQCAtMjY3
ODAsNiArMjY3OTgsMzMgQEAKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOwogCQl9OworCQlGNDQwRTc2OTIzM0Q5MzYyMDA2M0Y5QUIgLyogQ2xpcGJvYXJkICovID0g
eworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk4MzZEMDMyRDFEQThB
MTMyMDBGRkQ5NkMgLyogSlNDbGlwYm9hcmQuY3BwICovLAorCQkJCTgzNkQwMzJFMURBOEExMzIw
MEZGRDk2QyAvKiBKU0NsaXBib2FyZC5oICovLAorCQkJCTgzNkQwMzJEMURBOEExMzIwMEZGRDk2
RCAvKiBKU0NsaXBib2FyZEl0ZW0uY3BwICovLAorCQkJCTgzNkQwMzJFMURBOEExMzIwMEZGRDk2
RCAvKiBKU0NsaXBib2FyZEl0ZW0uaCAqLywKKwkJCSk7CisJCQluYW1lID0gQ2xpcGJvYXJkOwor
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJRjQ0MEU3NkEyMzNEOTNDODAwNjNG
OUFCIC8qIGNsaXBib2FyZCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4g
PSAoCisJCQkJRjQ0MEU3NkUyMzNEOTREMzAwNjNGOUFCIC8qIENsaXBib2FyZC5jcHAgKi8sCisJ
CQkJRjQ0MEU3NzIyMzNEOTRENTAwNjNGOUFCIC8qIENsaXBib2FyZC5oICovLAorCQkJCUY0NDBF
Nzc0MjMzRDk0RDYwMDYzRjlBQiAvKiBDbGlwYm9hcmQuaWRsICovLAorCQkJCUY0NDBFNzc1MjMz
RDk0RDYwMDYzRjlBQiAvKiBDbGlwYm9hcmRJdGVtLmNwcCAqLywKKwkJCQlGNDQwRTc3MDIzM0Q5
NEQ0MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRlbS5oICovLAorCQkJCUY0NDBFNzc3MjMzRDk0RDcw
MDYzRjlBQiAvKiBDbGlwYm9hcmRJdGVtLmlkbCAqLywKKwkJCQlGNDQwRTc3MzIzM0Q5NEQ1MDA2
M0Y5QUIgLyogTmF2aWdhdG9yQ2xpcGJvYXJkLmNwcCAqLywKKwkJCQlGNDQwRTc2RjIzM0Q5NEQz
MDA2M0Y5QUIgLyogTmF2aWdhdG9yQ2xpcGJvYXJkLmggKi8sCisJCQkJRjQ0MEU3NzEyMzNEOTRE
NDAwNjNGOUFCIC8qIE5hdmlnYXRvckNsaXBib2FyZC5pZGwgKi8sCisJCQkpOworCQkJcGF0aCA9
IGNsaXBib2FyZDsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCUY0ODM4OTc5
MUUxREQyM0EwMDc2QjdFQSAvKiBFZGl0aW5nSGlzdG9yeSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0yODczNSw4ICsyODc4MCwxMCBAQAogCQkJCUU0QTgx
NEQ0MUM2REVDNDAwMEJGODVBQyAvKiBDbGFzc0NoYW5nZUludmFsaWRhdGlvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODM0OEJGQUMxQjg1NzI5ODAwOTEyRjM2IC8qIENsYXNzQ29sbGVjdGlvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDEwNzkwOEMxRkMzRjAzMzAwNjFCMjdBIC8qIENsaWVudE9y
aWdpbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjQ0MEU3N0QyMzNEOTRENzAwNjNGOUFCIC8qIENs
aXBib2FyZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MzQTkxRTYxQzk2M0I4ODAwRDFBN0UzIC8q
IENsaXBib2FyZEFjY2Vzc1BvbGljeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMzFCNDAwQTQ0
RUZDNzAwRjk5MkUwIC8qIENsaXBib2FyZEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlGNDQw
RTc3QjIzM0Q5NEQ3MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRkI5MkRGNEIxNUZFRDA4NzAwOTk0NDMzIC8qIENsaXBQYXRoT3BlcmF0aW9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1ODAzNzE2MjFBNjZGMDBBMDBCQUY1MTkgLyogQ2xpcFJlY3QuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTk3QUFCRDEzMTRGQTA5RDUwMDc0NTdBRSAvKiBDbG9zZUV2ZW50Lmgg
aW4gSGVhZGVycyAqLywKQEAgLTMwOTc3LDYgKzMxMDI0LDcgQEAKIAkJCQlBOUM2RTVBNjBENzQ2
NDU4MDA2NDQyRTkgLyogTmF2aWdhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTI3MTlDNzBF
RUVDMTY4MDBGNjEyMTMgLyogTmF2aWdhdG9yQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODMy
MTUwN0UxRjI3RUExQjAwOTVCMTM2IC8qIE5hdmlnYXRvckJlYWNvbi5oIGluIEhlYWRlcnMgKi8s
CisJCQkJRjQ0MEU3N0EyMzNEOTRENzAwNjNGOUFCIC8qIE5hdmlnYXRvckNsaXBib2FyZC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMzcyRDNFNTcyMTY1NzhBRTAwQzVFMDIxIC8qIE5hdmlnYXRvckNy
ZWRlbnRpYWxzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzExNDYwNDE0RUYwMDlBMDA2NzRGRDkg
LyogTmF2aWdhdG9yR2VvbG9jYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTVFQTcyNUQ2MUFD
QUJENTcwMEVBRDE3QiAvKiBOYXZpZ2F0b3JNZWRpYURldmljZXMuaCBpbiBIZWFkZXJzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1l
cy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmlu
ZGV4IGZmZDNlNTllZjg0OWEwMWE4ZmE1ZDI2YzBmZWZjMWZkYTRlZmE5MjcuLjA2MGM3MDMyNzVm
NGMzYzQ4MWRhZDI4YjM1M2VlYTEyMjAwM2UyNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTU1LDYgKzU1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIG1hY3JvKENhY2hlU3RvcmFnZSkgXAogICAgIG1hY3JvKENsaWVu
dCkgXAogICAgIG1hY3JvKENsaWVudHMpIFwKKyAgICBtYWNybyhDbGlwYm9hcmQpIFwKKyAgICBt
YWNybyhDbGlwYm9hcmRJdGVtKSBcCiAgICAgbWFjcm8oQ3JlZGVudGlhbCkgXAogICAgIG1hY3Jv
KENyZWRlbnRpYWxzQ29udGFpbmVyKSBcCiAgICAgbWFjcm8oQ1NTQW5pbWF0aW9uKSBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQu
Y3BwCmluZGV4IDE1YzA1NmQ3NjQzMDE3NTlmNmJjZTBlNWJmOTY3MjVmMGE5MWVmYTAuLjMwMjFh
ODFmYmU1ZGViZDZiMWZkYjM5ODJhZGYxMTMyNTZjM2FmN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuY3BwCkBAIC0yNiw2
ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRp
b25Pck1vdGlvbkV2ZW50LmgiCiAKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRlICJE
ZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJE
b2N1bWVudC5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4gYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCmluZGV4IDliOWJmOTM3Y2MwOTNhNjAwNWNk
NjBjZTE2NDRjYjA4OGViZTY2MTIuLjI4MjcwZjI3NTA1MDUzYTIzMzEwMzMyNmRiNDZjYzdjMGFi
NGMxZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3Rvcnku
aW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgpAQCAtNyw2
ICs3LDcgQEAgQXBwbGVQYXlTZXNzaW9uIGNvbmRpdGlvbmFsPUFQUExFX1BBWQogQXVkaW9Ob2Rl
IGNvbmRpdGlvbmFsPVdFQl9BVURJTwogQXVkaW9Db250ZXh0IGNvbmRpdGlvbmFsPVdFQl9BVURJ
TwogQXVkaW9UcmFja0xpc3QgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sKK0NsaXBib2FyZAogRGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGUKIERPTUFwcGxpY2F0aW9uQ2FjaGUKIERPTVdpbmRvdwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmVhdHVyZXMuanNvbiBiL1NvdXJjZS9XZWJDb3Jl
L2ZlYXR1cmVzLmpzb24KaW5kZXggZTU4N2QyMjM0OTRjMmZmZDgxMzliNjM3ZmQ1YmU3NzFkYzNj
NGNiZi4uMjg3ZDBlYjM4NjNkNmI2MWY5ZDM3ZjQ4NDM5Mzc0ZTg4MDM5NzQxNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZmVhdHVyZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9mZWF0
dXJlcy5qc29uCkBAIC0xMSw2ICsxMSwyMSBAQAogICAgICAgICAiY2F0ZWdvcnkiOiAid2ViYXBw
cyIsCiAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJSZXNvdXJjZXMgYXJlIHNhdmVkIGZvciBvZmZs
aW5lIHVzZSB1c2luZyBhIG1hbmlmZXN0LiIKICAgICB9LAorICAgIHsKKyAgICAgICAgIm5hbWUi
OiAiQXN5bmMgQ2xpcGJvYXJkIEFQSSIsCisgICAgICAgICJzdGF0dXMiOiB7CisgICAgICAgICAg
ICAic3RhdHVzIjogIkluIERldmVsb3BtZW50IgorICAgICAgICB9LAorICAgICAgICAidXJsIjog
Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9jbGlwYm9hcmQtYXBpcy8jYXN5bmMtY2xpcGJvYXJkLWFw
aSIsCisgICAgICAgICJzcGVjaWZpY2F0aW9uIjogIkNsaXBib2FyZCBBUEkiLAorICAgICAgICAi
Y2F0ZWdvcnkiOiAid2ViYXBwcyIsCisgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbiBBUEkgdGhh
dCBhbGxvd3MgcmVhZGluZyBmcm9tIGFuZCB3cml0aW5nIHRvIHRoZSBzeXN0ZW0gY2xpcGJvYXJk
LiIsCisgICAgICAgICJjb250YWN0IjogeworICAgICAgICAgICAgIm5hbWUiOiAiV2Vuc29uIEhz
aWVoIiwKKyAgICAgICAgICAgICJlbWFpbCI6ICJ3ZW5zb25faHNpZWhAYXBwbGUuY29tIiwKKyAg
ICAgICAgICAgICJ0d2l0dGVyIjogIkB3ZW5zb25oc2llaCIKKyAgICAgICAgfQorICAgIH0sCiAg
ICAgewogICAgICAgICAibmFtZSI6ICJCYXR0ZXJ5IFN0YXR1cyBBUEkiLAogICAgICAgICAic3Rh
dHVzIjogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCmluZGV4IDMzNWI3OGFlZDYzMjNkMTA4
MTg2NTViZGNiNDhhZDhjZTE3NWUxYjUuLmVmYmM2MzVlMzJhNmZiMDMwYWJlOTk2ZmE5NTkwYWU2
YzI3ZTAzOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKQEAgLTExOCw2ICsxMTgsOCBA
QCBzaG91bGRQcmludEJhY2tncm91bmRzOgogY2xpcGJvYXJkQWNjZXNzUG9saWN5OgogICB0eXBl
OiBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kKICAgaW5pdGlhbDogQ2xpcGJvYXJkQWNjZXNzUG9saWN5
OjpSZXF1aXJlc1VzZXJHZXN0dXJlCithc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ6CisgIGluaXRp
YWw6IGZhbHNlCiAKIHRleHRBcmVhc0FyZVJlc2l6YWJsZToKICAgaW5pdGlhbDogZmFsc2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IDVjYmVhM2RkZjhmZTA5
MDc4YmFjYWFhODM5MWI2NGNhNjJkMDBlYmEuLmFjZDJiMWI5N2IyNGQ3ZTgyZjQ0NDI1MzVlMWY1
MGEwMTcwNmYzZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzLnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApA
QCAtODQ2LDYgKzg0NiwxMyBAQCBDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQ6CiAgIGh1bWFu
UmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBjdXN0b20gY2xpcGJvYXJkIHR5cGVzIGFuZCBi
ZXR0ZXIgc2VjdXJpdHkgbW9kZWwgZm9yIGNsaXBib2FyZCBBUEkuIgogICB3ZWJjb3JlQmluZGlu
ZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogCitBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ6Cisg
IHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBodW1hblJlYWRhYmxlTmFtZTog
IkFzeW5jIGNsaXBib2FyZCBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJs
ZSB0aGUgYXN5bmMgY2xpcGJvYXJkIEFQSSIKKyAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorCiBX
ZWJTaGFyZUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX1dF
Ql9TSEFSRV9FTkFCTEVECmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGJjZDk4NjA5ZGVlNzc5ZmMwMzFlNjEwOTIzYmU5ZWUx
NzUyZDVkOS4uZmZiMDE1OGE2MDg1NjgyMWYzMmVlZWNmNDIwMmJmZDg0ZDFmMDhiNyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI2IEBACisyMDE5LTEwLTA3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgorCisgICAgICAgIFtDbGlwYm9hcmQgQVBJXSBJbnRyb2R1Y2UgYmluZGluZ3Mg
Zm9yIHRoZSBhc3luYyBDbGlwYm9hcmQgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI2MjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU2MDM4
MTI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
ZWRpdGluZy9jbGlwYm9hcmQvY2xpcGJvYXJkLWludGVyZmFjZXMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2NsaXBib2FyZC9jbGlwYm9hcmQtaW50ZXJmYWNlcy5odG1s
OiBBZGRlZC4KKworICAgICAgICBBZGQgYSBuZXcgdGVzdCB0byBzYW5pdHkgY2hlY2sgdGhlIG5l
dyBjbGlwYm9hcmQgQVBJIGludGVyZmFjZXMgYW5kIGludGVyZmFjZSBleHRlbnNpb25zLgorCisg
ICAgICAgICogZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtaGlnaHNpZXJyYS13azEvZmFzdC9kb20vbmF2aWdh
dG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMtaGlnaHNpZXJyYS9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRl
dGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBwbGF0Zm9ybS93aW4vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9mYXN0L2RvbS9uYXZpZ2F0b3It
ZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0OgorCisgICAgICAgIFVwZGF0ZSBhbiBleGlz
dGluZyBsYXlvdXQgdGVzdCB0byBpbmNsdWRlICJuYXZpZ2F0b3IuY2xpcGJvYXJkIi4KKwogMjAx
OS0xMC0wNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFsbG93
IHBhZ2VzIHVzaW5nIEV2ZW50U291cmNlIHRvIGVudGVyIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvY2xpcGJvYXJkL2NsaXBib2FyZC1pbnRl
cmZhY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvY2xpcGJvYXJkL2NsaXBi
b2FyZC1pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OWM1MGExYmQ0NDVkZDYy
YjcxOWFiMmVmNDFlYmJlZGVmNjdlNjllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9jbGlwYm9hcmQvY2xpcGJvYXJkLWludGVyZmFjZXMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNTEgQEAKK1Rlc3RzIHRoZSBpbnRlcmZhY2VzIG9mIHRoZSBhc3luYyBjbGlwYm9hcmQg
QVBJLCB3aGljaCBpbmNsdWRlIENsaXBib2FyZCwgQ2xpcGJvYXJkSXRlbSwgYW5kIGV4dGVuc2lv
bnMgdG8gTmF2aWdhdG9yLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCitUZXN0
aW5nIENsaXBib2FyZDoKK1BBU1MgQ2xpcGJvYXJkIGluc3RhbmNlb2YgRnVuY3Rpb24gaXMgdHJ1
ZQorUEFTUyB0eXBlb2YgQ2xpcGJvYXJkIGlzICJmdW5jdGlvbiIKK1BBU1MgbmF2aWdhdG9yLmNs
aXBib2FyZCBpbnN0YW5jZW9mIENsaXBib2FyZCBpcyB0cnVlCitQQVNTIE9iamVjdC5nZXRQcm90
b3R5cGVPZihuYXZpZ2F0b3IuY2xpcGJvYXJkKSA9PT0gQ2xpcGJvYXJkLnByb3RvdHlwZSBpcyB0
cnVlCitQQVNTIENsaXBib2FyZC5wcm90b3R5cGUucmVhZFRleHQgaW5zdGFuY2VvZiBGdW5jdGlv
biBpcyB0cnVlCitQQVNTIENsaXBib2FyZC5wcm90b3R5cGUud3JpdGVUZXh0IGluc3RhbmNlb2Yg
RnVuY3Rpb24gaXMgdHJ1ZQorUEFTUyBDbGlwYm9hcmQucHJvdG90eXBlLnJlYWQgaW5zdGFuY2Vv
ZiBGdW5jdGlvbiBpcyB0cnVlCitQQVNTIENsaXBib2FyZC5wcm90b3R5cGUud3JpdGUgaW5zdGFu
Y2VvZiBGdW5jdGlvbiBpcyB0cnVlCitQQVNTIENsaXBib2FyZCgpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IElsbGVnYWwgY29uc3RydWN0b3IuCitQQVNTIG5ldyBDbGlwYm9hcmQoKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZh
bHVhdGluZyAnbmV3IENsaXBib2FyZCgpJykuCitQQVNTIENsaXBib2FyZC50b1N0cmluZygpIGlz
ICJmdW5jdGlvbiBDbGlwYm9hcmQoKSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIKK1BBU1MgbmF2
aWdhdG9yLmNsaXBib2FyZC50b1N0cmluZygpIGlzICJbb2JqZWN0IENsaXBib2FyZF0iCitQQVNT
IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KCdmb28nKSBpbnN0YW5jZW9mIFByb21pc2Ug
aXMgdHJ1ZQorUEFTUyBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlKFsgXSkgaW5zdGFuY2VvZiBQ
cm9taXNlIGlzIHRydWUKK1BBU1MgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCkgaW5zdGFuY2Vv
ZiBQcm9taXNlIGlzIHRydWUKK1BBU1MgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkVGV4dCgpIGlu
c3RhbmNlb2YgUHJvbWlzZSBpcyB0cnVlCitQQVNTIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUo
KSByZWplY3RlZCB3aXRoIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMKK1BBU1MgbmF2
aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoKSByZWplY3RlZCB3aXRoIFR5cGVFcnJvcjogTm90
IGVub3VnaCBhcmd1bWVudHMKK1BBU1MgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZSgnZm9vJykg
cmVqZWN0ZWQgd2l0aCBUeXBlRXJyb3I6IFZhbHVlIGlzIG5vdCBhIHNlcXVlbmNlCitQQVNTIG5h
dmlnYXRvci5jbGlwYm9hcmQud3JpdGUoWzEsIDIsIDNdKSByZWplY3RlZCB3aXRoIFR5cGVFcnJv
cjogVHlwZSBlcnJvcgorUEFTUyBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlKG5ldyBDbGlwYm9h
cmRJdGVtKHsgfSkpIHJlamVjdGVkIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yCisKK1Rlc3Rp
bmcgQ2xpcGJvYXJkSXRlbToKK1BBU1MgQ2xpcGJvYXJkSXRlbSBpbnN0YW5jZW9mIEZ1bmN0aW9u
IGlzIHRydWUKK1BBU1MgdHlwZW9mIENsaXBib2FyZEl0ZW0gaXMgImZ1bmN0aW9uIgorUEFTUyBD
bGlwYm9hcmRJdGVtLnByb3RvdHlwZS5nZXRUeXBlIGluc3RhbmNlb2YgRnVuY3Rpb24gaXMgdHJ1
ZQorUEFTUyBDbGlwYm9hcmRJdGVtKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQ29uc3Ry
dWN0b3IgcmVxdWlyZXMgJ25ldycgb3BlcmF0b3IuCitQQVNTIG5ldyBDbGlwYm9hcmRJdGVtKCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG5l
dyBDbGlwYm9hcmRJdGVtKCdmb28nKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVy
cm9yLgorUEFTUyBuZXcgQ2xpcGJvYXJkSXRlbSh7IH0pIGluc3RhbmNlb2YgQ2xpcGJvYXJkSXRl
bSBpcyB0cnVlCitQQVNTIE9iamVjdC5nZXRQcm90b3R5cGVPZihuZXcgQ2xpcGJvYXJkSXRlbSh7
IH0pKSA9PT0gQ2xpcGJvYXJkSXRlbS5wcm90b3R5cGUgaXMgdHJ1ZQorUEFTUyBuZXcgQ2xpcGJv
YXJkSXRlbSh7IH0pLnR5cGVzIGluc3RhbmNlb2YgQXJyYXkgaXMgdHJ1ZQorUEFTUyBDbGlwYm9h
cmRJdGVtLnRvU3RyaW5nKCkgaXMgImZ1bmN0aW9uIENsaXBib2FyZEl0ZW0oKSB7XG4gICAgW25h
dGl2ZSBjb2RlXVxufSIKK1BBU1MgbmV3IENsaXBib2FyZEl0ZW0oeyB9KS50b1N0cmluZygpIGlz
ICJbb2JqZWN0IENsaXBib2FyZEl0ZW1dIgorUEFTUyBuZXcgQ2xpcGJvYXJkSXRlbSh7IH0sIHsg
Zm9vOiAnYXR0YWNobWVudCcgfSkucHJlc2VudGF0aW9uU3R5bGUgaXMgInVuc3BlY2lmaWVkIgor
UEFTUyBuZXcgQ2xpcGJvYXJkSXRlbSh7IH0sIHsgcHJlc2VudGF0aW9uU3R5bGU6ICdBdHRhQ0ht
ZW5UJyB9KS5wcmVzZW50YXRpb25TdHlsZSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBl
IGVycm9yLgorUEFTUyBuZXcgQ2xpcGJvYXJkSXRlbSh7IH0sIHsgcHJlc2VudGF0aW9uU3R5bGU6
ICd1bnNwZWNpZmllZCcgfSkucHJlc2VudGF0aW9uU3R5bGUgaXMgInVuc3BlY2lmaWVkIgorUEFT
UyBuZXcgQ2xpcGJvYXJkSXRlbSh7IH0sIHsgcHJlc2VudGF0aW9uU3R5bGU6ICdhdHRhY2htZW50
JyB9KS5wcmVzZW50YXRpb25TdHlsZSBpcyAiYXR0YWNobWVudCIKK1BBU1MgbmV3IENsaXBib2Fy
ZEl0ZW0oeyB9LCB7IHByZXNlbnRhdGlvblN0eWxlOiAnaW5saW5lJyB9KS5wcmVzZW50YXRpb25T
dHlsZSBpcyAiaW5saW5lIgorUEFTUyBuZXcgQ2xpcGJvYXJkSXRlbSh7IH0sICdpbmxpbmUnKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvY2xpcGJvYXJkL2NsaXBib2FyZC1pbnRlcmZhY2VzLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2NsaXBib2FyZC9jbGlwYm9hcmQtaW50ZXJmYWNlcy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljc1YTI2NzY4MjE0OGUzZWM2ZDcwNTcwMTQzZTIxZGYzZWVkYjU1NTQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2NsaXBib2FyZC9jbGlwYm9hcmQtaW50ZXJmYWNlcy5o
dG1sCkBAIC0wLDAgKzEsNjggQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIGV4cGVyaW1lbnRhbDphc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHNob3VsZFJl
amVjdChzY3JpcHRUb0V2YWx1YXRlKQorICAgICAgICB7CisgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYCR7c2NyaXB0VG9FdmFsdWF0ZX0gcmVzb2x2ZWQgdG8g
JHthd2FpdCBldmFsKHNjcmlwdFRvRXZhbHVhdGUpfWApOworICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZChgJHtzY3JpcHRUb0V2YWx1
YXRlfSByZWplY3RlZCB3aXRoICR7ZXhjZXB0aW9ufWApOworICAgICAgICAgICAgfQorICAgICAg
ICB9CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGUgaW50ZXJmYWNlcyBvZiB0aGUgYXN5bmMgY2xp
cGJvYXJkIEFQSSwgd2hpY2ggaW5jbHVkZSBDbGlwYm9hcmQsIENsaXBib2FyZEl0ZW0sIGFuZCBl
eHRlbnNpb25zIHRvIE5hdmlnYXRvci4iKTsKKworICAgICAgICAgICAgZGVidWcoIlxuVGVzdGlu
ZyBDbGlwYm9hcmQ6Iik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIkNsaXBib2FyZCBpbnN0
YW5jZW9mIEZ1bmN0aW9uIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInR5
cGVvZiBDbGlwYm9hcmQiLCAiZnVuY3Rpb24iKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgi
bmF2aWdhdG9yLmNsaXBib2FyZCBpbnN0YW5jZW9mIENsaXBib2FyZCIpOworICAgICAgICAgICAg
c2hvdWxkQmVUcnVlKCJPYmplY3QuZ2V0UHJvdG90eXBlT2YobmF2aWdhdG9yLmNsaXBib2FyZCkg
PT09IENsaXBib2FyZC5wcm90b3R5cGUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiQ2xp
cGJvYXJkLnByb3RvdHlwZS5yZWFkVGV4dCBpbnN0YW5jZW9mIEZ1bmN0aW9uIik7CisgICAgICAg
ICAgICBzaG91bGRCZVRydWUoIkNsaXBib2FyZC5wcm90b3R5cGUud3JpdGVUZXh0IGluc3RhbmNl
b2YgRnVuY3Rpb24iKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiQ2xpcGJvYXJkLnByb3Rv
dHlwZS5yZWFkIGluc3RhbmNlb2YgRnVuY3Rpb24iKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1
ZSgiQ2xpcGJvYXJkLnByb3RvdHlwZS53cml0ZSBpbnN0YW5jZW9mIEZ1bmN0aW9uIik7CisgICAg
ICAgICAgICBzaG91bGRUaHJvdygiQ2xpcGJvYXJkKCkiKTsKKyAgICAgICAgICAgIHNob3VsZFRo
cm93KCJuZXcgQ2xpcGJvYXJkKCkiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiQ2xpcGJvYXJkLnRvU3RyaW5nKCkiLCAiZnVuY3Rpb24gQ2xpcGJvYXJkKCkge1xuICAgIFtu
YXRpdmUgY29kZV1cbn0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmF2
aWdhdG9yLmNsaXBib2FyZC50b1N0cmluZygpIiwgIltvYmplY3QgQ2xpcGJvYXJkXSIpOworICAg
ICAgICAgICAgc2hvdWxkQmVUcnVlKCJuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCgnZm9v
JykgaW5zdGFuY2VvZiBQcm9taXNlIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIm5hdmln
YXRvci5jbGlwYm9hcmQud3JpdGUoWyBdKSBpbnN0YW5jZW9mIFByb21pc2UiKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlVHJ1ZSgibmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCkgaW5zdGFuY2VvZiBQ
cm9taXNlIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIm5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZFRleHQoKSBpbnN0YW5jZW9mIFByb21pc2UiKTsKKyAgICAgICAgICAgIGF3YWl0IHNob3Vs
ZFJlamVjdCgibmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZSgpIik7CisgICAgICAgICAgICBhd2Fp
dCBzaG91bGRSZWplY3QoIm5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KCkiKTsKKyAgICAg
ICAgICAgIGF3YWl0IHNob3VsZFJlamVjdCgibmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZSgnZm9v
JykiKTsKKyAgICAgICAgICAgIGF3YWl0IHNob3VsZFJlamVjdCgibmF2aWdhdG9yLmNsaXBib2Fy
ZC53cml0ZShbMSwgMiwgM10pIik7CisgICAgICAgICAgICBhd2FpdCBzaG91bGRSZWplY3QoIm5h
dmlnYXRvci5jbGlwYm9hcmQud3JpdGUobmV3IENsaXBib2FyZEl0ZW0oeyB9KSkiKTsKKworICAg
ICAgICAgICAgZGVidWcoIlxuVGVzdGluZyBDbGlwYm9hcmRJdGVtOiIpOworICAgICAgICAgICAg
c2hvdWxkQmVUcnVlKCJDbGlwYm9hcmRJdGVtIGluc3RhbmNlb2YgRnVuY3Rpb24iKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidHlwZW9mIENsaXBib2FyZEl0ZW0iLCAiZnVu
Y3Rpb24iKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiQ2xpcGJvYXJkSXRlbS5wcm90b3R5
cGUuZ2V0VHlwZSBpbnN0YW5jZW9mIEZ1bmN0aW9uIik7CisgICAgICAgICAgICBzaG91bGRUaHJv
dygiQ2xpcGJvYXJkSXRlbSgpIik7CisgICAgICAgICAgICBzaG91bGRUaHJvdygibmV3IENsaXBi
b2FyZEl0ZW0oKSIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3coIm5ldyBDbGlwYm9hcmRJdGVt
KCdmb28nKSIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJuZXcgQ2xpcGJvYXJkSXRlbSh7
IH0pIGluc3RhbmNlb2YgQ2xpcGJvYXJkSXRlbSIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVl
KCJPYmplY3QuZ2V0UHJvdG90eXBlT2YobmV3IENsaXBib2FyZEl0ZW0oeyB9KSkgPT09IENsaXBi
b2FyZEl0ZW0ucHJvdG90eXBlIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIm5ldyBDbGlw
Ym9hcmRJdGVtKHsgfSkudHlwZXMgaW5zdGFuY2VvZiBBcnJheSIpOworICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJDbGlwYm9hcmRJdGVtLnRvU3RyaW5nKCkiLCAiZnVuY3Rpb24g
Q2xpcGJvYXJkSXRlbSgpIHtcbiAgICBbbmF0aXZlIGNvZGVdXG59Iik7CisgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBDbGlwYm9hcmRJdGVtKHsgfSkudG9TdHJpbmcoKSIs
ICJbb2JqZWN0IENsaXBib2FyZEl0ZW1dIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoIm5ldyBDbGlwYm9hcmRJdGVtKHsgfSwgeyBmb286ICdhdHRhY2htZW50JyB9KS5wcmVz
ZW50YXRpb25TdHlsZSIsICJ1bnNwZWNpZmllZCIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3co
Im5ldyBDbGlwYm9hcmRJdGVtKHsgfSwgeyBwcmVzZW50YXRpb25TdHlsZTogJ0F0dGFDSG1lblQn
IH0pLnByZXNlbnRhdGlvblN0eWxlIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoIm5ldyBDbGlwYm9hcmRJdGVtKHsgfSwgeyBwcmVzZW50YXRpb25TdHlsZTogJ3Vuc3BlY2lm
aWVkJyB9KS5wcmVzZW50YXRpb25TdHlsZSIsICJ1bnNwZWNpZmllZCIpOworICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQ2xpcGJvYXJkSXRlbSh7IH0sIHsgcHJlc2VudGF0
aW9uU3R5bGU6ICdhdHRhY2htZW50JyB9KS5wcmVzZW50YXRpb25TdHlsZSIsICJhdHRhY2htZW50
Iik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBDbGlwYm9hcmRJdGVt
KHsgfSwgeyBwcmVzZW50YXRpb25TdHlsZTogJ2lubGluZScgfSkucHJlc2VudGF0aW9uU3R5bGUi
LCAiaW5saW5lIik7CisgICAgICAgICAgICBzaG91bGRUaHJvdygibmV3IENsaXBib2FyZEl0ZW0o
eyB9LCAnaW5saW5lJykiKTsKKworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
IH0KKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keSBvbmxvYWQ9cnVuVGVzdCgpPjwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hl
ZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9uYXZpZ2F0b3It
ZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IGYyZjYzZTg1NjUwZDYyMWM0NmEx
NzAxYWQyNTdkMmQ0MmY4NzY3M2YuLjI3ZmJiZWExYTQxOWYxZDFmZTNmNDZlMWQyYTYzNGRjNTEz
Y2IwZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hl
ZC1uby1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vbmF2aWdh
dG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtNSw2ICs1LDcgQEAgVGhpcyB0
ZXN0cyB0aGF0IHRoZSBuYXZpZ2F0b3Igb2JqZWN0IG9mIGEgZGVsZXRlZCBmcmFtZSBpcyBkaXNj
b25uZWN0ZWQgcHJvcGVybHkKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdhdG9y
LmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3IuY2xp
cGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9yLmNy
ZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwpAQCAt
MzEsNiArMzIsNyBAQCBuYXZpZ2F0b3Iud2ViZHJpdmVyIGlzIE9LCiBuYXZpZ2F0b3IuYXBwQ29k
ZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwVmVyc2lv
biBpcyBPSworbmF2aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tpZUVuYWJs
ZWQgaXMgT0sKIG5hdmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwogbmF2aWdhdG9yLmdldFN0b3Jh
Z2VVcGRhdGVzKCkgaXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1o
aWdoc2llcnJhLXdrMS9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWhpZ2hzaWVycmEtd2sxL2Zhc3QvZG9t
L25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggZmMyOWU0YjAw
OTU0ZmU0NjZmNTEwMGQ0YTAyNTYyMWQ5OThlZTFhNS4uZTRiYjQ0N2MyMGRkNDY1MmY1YTk3Mjdh
NWJlYTU0ODM2YmQwY2I0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWhp
Z2hzaWVycmEtd2sxL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWhpZ2hzaWVycmEtd2sxL2Zhc3Qv
ZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTMsNiArMyw3
IEBAIFRoaXMgdGVzdHMgdGhhdCB0aGUgbmF2aWdhdG9yIG9iamVjdCBvZiBhIGRlbGV0ZWQgZnJh
bWUgaXMgZGlzY29ubmVjdGVkIHByb3Blcmx5CiBuYXZpZ2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sK
IG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2
aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5h
dmlnYXRvci5nZXRTdG9yYWdlVXBkYXRlcygpIGlzIE9LCiBuYXZpZ2F0b3IuamF2YUVuYWJsZWQo
KSBpcyBPSwpAQCAtMjMsNiArMjQsNyBAQCBuYXZpZ2F0b3Iud2ViZHJpdmVyIGlzIE9LCiBuYXZp
Z2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0
b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9y
LmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5hdmlnYXRvci5nZXRTdG9yYWdlVXBkYXRlcygpIGlzIE9L
CiBuYXZpZ2F0b3IuamF2YUVuYWJsZWQoKSBpcyBPSwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLWhpZ2hzaWVycmEvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNy
YXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1oaWdoc2llcnJhL2Zh
c3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggODUw
ODA3NjA3NTVlMGJkNTAwNTljODc3ZmRlYmMyZTc0MzY0NzNiZS4uMjg1YjFlN2FjZDUwMDA1MTk1
YjBkOGU4NWMxOWVjOTgyN2U5MzU0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLWhpZ2hzaWVycmEvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtaGlnaHNpZXJyYS9mYXN0L2Rv
bS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC00LDYgKzQsNyBA
QCBUaGlzIHRlc3RzIHRoYXQgdGhlIG5hdmlnYXRvciBvYmplY3Qgb2YgYSBkZWxldGVkIGZyYW1l
IGlzIGRpc2Nvbm5lY3RlZCBwcm9wZXJseQogbmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9LCiBu
YXZpZ2F0b3IuYXBwTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25hdmln
YXRvci5jbGlwYm9hcmQgaXMgT0sKIG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBuYXZp
Z2F0b3IuY3JlZGVudGlhbHMgaXMgT0sKIG5hdmlnYXRvci5nZXRTdG9yYWdlVXBkYXRlcygpIGlz
IE9LCkBAIC0yOCw2ICsyOSw3IEBAIG5hdmlnYXRvci53ZWJkcml2ZXIgaXMgT0sKIG5hdmlnYXRv
ci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5h
cHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29v
a2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9yLmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3Iu
Z2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0
YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IDNjZjBkYjJiZDgxOGM3ZWQwNzkwMjk3
ZDUyMWE1YjUzNTQwZmQ5ZjguLjM0MTI4NDAxN2I0Mjc0NGQxYmQxMWI1OWQ2MmExODVmMmQ3MGRj
OWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2
aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBl
Y3RlZC50eHQKQEAgLTUsNiArNSw3IEBAIFRoaXMgdGVzdHMgdGhhdCB0aGUgbmF2aWdhdG9yIG9i
amVjdCBvZiBhIGRlbGV0ZWQgZnJhbWUgaXMgZGlzY29ubmVjdGVkIHByb3Blcmx5CiBuYXZpZ2F0
b3IuYXBwQ29kZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3Iu
YXBwVmVyc2lvbiBpcyBPSworbmF2aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNv
b2tpZUVuYWJsZWQgaXMgT0sKIG5hdmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwogbmF2aWdhdG9y
LmdldFN0b3JhZ2VVcGRhdGVzKCkgaXMgT0sKQEAgLTMxLDYgKzMyLDcgQEAgbmF2aWdhdG9yLndl
YmRyaXZlciBpcyBPSwogbmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBw
TmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25hdmlnYXRvci5jbGlwYm9h
cmQgaXMgT0sKIG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBuYXZpZ2F0b3IuY3JlZGVu
dGlhbHMgaXMgT0sKIG5hdmlnYXRvci5nZXRTdG9yYWdlVXBkYXRlcygpIGlzIE9LCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVk
LW5vLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Rv
bS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IDMzM2VjOTYw
OGQ4ZDRkZjU3YzFmZjBmMmQ3ZTRlMjUzNzhiYTM3M2YuLmZmMWM1MjFkMTAxMDgwNmU5MGQ1NzA1
ZGU0NDMyNDMyNDM3YWY5Y2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jh
c2gtZXhwZWN0ZWQudHh0CkBAIC00LDYgKzQsNyBAQCBUaGlzIHRlc3RzIHRoYXQgdGhlIG5hdmln
YXRvciBvYmplY3Qgb2YgYSBkZWxldGVkIGZyYW1lIGlzIGRpc2Nvbm5lY3RlZCBwcm9wZXJseQog
bmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwTmFtZSBpcyBPSwogbmF2
aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25hdmlnYXRvci5jbGlwYm9hcmQgaXMgT0sKIG5hdmln
YXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBuYXZpZ2F0b3IuY3JlZGVudGlhbHMgaXMgT0sKIG5h
dmlnYXRvci5nZXRTdG9yYWdlVXBkYXRlcygpIGlzIE9LCkBAIC0yNyw2ICsyOCw3IEBAIG5hdmln
YXRvci53ZWJkcml2ZXIgaXMgT0sKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdh
dG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3Iu
Y2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9y
LmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZG9tL25hdmlnYXRvci1k
ZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4v
ZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCA5
Y2NjZWFjNTkzMjUwNGQxYjdhMTBiMWZjOTE1ZWYzZTVjMTU5ZWUzLi4yMTg4ZWZhN2YzMmM5NGY3
YzM4OTZjNGIxNzdkYTU5NzMzZjYwMzg2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVk
LW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtNCw2ICs0LDcgQEAgVGhpcyB0ZXN0cyB0aGF0IHRo
ZSBuYXZpZ2F0b3Igb2JqZWN0IG9mIGEgZGVsZXRlZCBmcmFtZSBpcyBkaXNjb25uZWN0ZWQgcHJv
cGVybHkKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMg
T0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9L
CiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9yLmNyZWRlbnRpYWxzIGlz
IE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwpAQCAtMjQsNiArMjUsNyBA
QCBuYXZpZ2F0b3Iud2ViZHJpdmVyIGlzIE9LCiBuYXZpZ2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sK
IG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2
aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5h
dmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwogbmF2aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkg
aXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL2Zhc3QvZG9t
L25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW5jYWlyby9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhw
ZWN0ZWQudHh0CmluZGV4IGIzYjI1MmZkZTdlMDk2NTMzOTgyNjRlZmQ1ZTBjOGM3MDg4ZjY0NTcu
LmQxOWM1NzZhNTE3ZmIyYTMyYWNiZThlM2ZjNDc3YTdkMWRhYjBmMTMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1u
by1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8v
ZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMyw2
ICszLDcgQEAgVGhpcyB0ZXN0cyB0aGF0IHRoZSBuYXZpZ2F0b3Igb2JqZWN0IG9mIGEgZGVsZXRl
ZCBmcmFtZSBpcyBkaXNjb25uZWN0ZWQgcHJvcGVybHkKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBp
cyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9L
CituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBP
SwogbmF2aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkgaXMgT0sKIG5hdmlnYXRvci5qYXZhRW5h
YmxlZCgpIGlzIE9LCkBAIC0yMSw2ICsyMiw3IEBAIG5hdmlnYXRvci53ZWJkcml2ZXIgaXMgT0sK
IG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5h
dmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZp
Z2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkg
aXMgT0sKIG5hdmlnYXRvci5qYXZhRW5hYmxlZCgpIGlzIE9LCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380339</attachid>
            <date>2019-10-07 11:22:25 -0700</date>
            <delta_ts>2019-10-07 17:09:05 -0700</delta_ts>
            <desc>Adjust WK1 test expectations.</desc>
            <filename>bug-202622-20191007112224.patch</filename>
            <type>text/plain</type>
            <size>64260</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTg4ZDYxYTZjNGJlNGFm
MjA5MjgwOGIwNjYzNjZjNmQ2NDAyMzY2MS4uZDM1NzM4ZGRhZjdmOTc4ODEzMTY4ZDg5ZTBlYjUw
MmUxYjY4YTg0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDE5LTEwLTA3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtDbGlwYm9hcmQg
QVBJXSBJbnRyb2R1Y2UgYmluZGluZ3MgZm9yIHRoZSBhc3luYyBDbGlwYm9hcmQgQVBJCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI2MjIKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzU2MDM4MTI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgSURMIHN1cHBvcnQgZm9yIHRoZSBhc3luYyBjbGlw
Ym9hcmQgQVBJICh3aXRoIHRoZSBleGNlcHRpb24gb2YgZGVsYXllZCBpdGVtIGdlbmVyYXRpb24g
aW50ZXJmYWNlcywgd2hpY2gKKyAgICAgICAgSSdsbCBpdGVyYXRlIG9uIGFuZCBpbnRyb2R1Y2Ug
c2VwYXJhdGVseSkuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9jbGlwYm9hcmQvY2xpcGJvYXJk
LWludGVyZmFjZXMuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIE1vZHVsZXMvY2xpcGJvYXJkL0NsaXBib2FyZC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDbGlwYm9hcmQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OkNsaXBi
b2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OmV2ZW50VGFyZ2V0SW50ZXJmYWNl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZDo6c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OnJlYWRUZXh0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZDo6d3JpdGVUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OkNsaXBib2FyZDo6cmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OndyaXRlKToK
KworICAgICAgICBTdHViIG91dCB0aGVzZSBBUEkgY2FsbHMgZm9yIG5vdyBieSBpbW1lZGlhdGVs
eSByZWplY3RpbmcgdGhlIGdpdmVuIHByb21pc2UuCisKKyAgICAgICAgKiBNb2R1bGVzL2NsaXBi
b2FyZC9DbGlwYm9hcmQuaDoKKyAgICAgICAgKiBNb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmQu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvY2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkSXRlbTo6Q2xpcGJvYXJkSXRlbSk6CisgICAgICAgIChX
ZWJDb3JlOjpDbGlwYm9hcmRJdGVtOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJv
YXJkSXRlbTo6dHlwZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkSXRlbTo6
Z2V0VHlwZSk6CisKKyAgICAgICAgU3R1YiBvdXQgdGhlc2UgQVBJIGNhbGxzIGZvciBub3cgYnkg
aW1tZWRpYXRlbHkgcmVqZWN0aW5nIHRoZSBnaXZlbiBwcm9taXNlLgorCisgICAgICAgICogTW9k
dWxlcy9jbGlwYm9hcmQvQ2xpcGJvYXJkSXRlbS5oOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJv
YXJkSXRlbTo6cHJlc2VudGF0aW9uU3R5bGUgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvY2xp
cGJvYXJkL0NsaXBib2FyZEl0ZW0uaWRsOgorICAgICAgICAqIE1vZHVsZXMvY2xpcGJvYXJkL05h
dmlnYXRvckNsaXBib2FyZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDbGlwYm9h
cmQ6Ok5hdmlnYXRvckNsaXBib2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDbGlw
Ym9hcmQ6OmNsaXBib2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDbGlwYm9hcmQ6
OmZyb20pOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ2xpcGJvYXJkOjpzdXBwbGVtZW50
TmFtZSk6CisgICAgICAgICogTW9kdWxlcy9jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmg6
CisgICAgICAgICogTW9kdWxlcy9jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHA6CisgICAgICAgICogTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
Z3B1L1dlYkdQVVBpcGVsaW5lLmg6CisKKyAgICAgICAgTW9yZSB1bmlmaWVkIHNvdXJjZXMtcmVs
YXRlZCBidWlsZCBmaXhlcy4KKworICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9X
ZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uT3JN
b3Rpb25FdmVudC5jcHA6CisKKyAgICAgICAgVW5pZmllZCBzb3VyY2VzLXJlbGF0ZWQgYnVpbGQg
Zml4LgorCisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbjoKKyAgICAgICAgKiBm
ZWF0dXJlcy5qc29uOgorCisgICAgICAgIEFkZCBBc3luYyBDbGlwYm9hcmQgQVBJIGFzIGEgZmVh
dHVyZSBpbiBkZXZlbG9wbWVudCBvbiB3ZWJraXQub3JnLgorCisgICAgICAgICogcGFnZS9TZXR0
aW5ncy55YW1sOgorCiAyMDE5LTEwLTA2ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW0xGQ11bUGFpbnRpbmddIEludHJvZHVjZSBEaXNwbGF5OjpQYWludGVyCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCmluZGV4IDU3NDNkNGI1Yjk3NzZkNDQ2MmM0ODNhNmYyZWJkYzVkZDVhYzI3OWYuLjNmMTdm
MjcxYWNjMWY1ZGU2MjQ1YTBiNGM2NGU4N2QwMDMyMWRiZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMTktMTAtMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
CisKKyAgICAgICAgW0NsaXBib2FyZCBBUEldIEludHJvZHVjZSBiaW5kaW5ncyBmb3IgdGhlIGFz
eW5jIENsaXBib2FyZCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMjYyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYwMzgxMjY+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBhIG5ldyBl
eHBlcmltZW50YWwgZmVhdHVyZSBmbGFnLiBTZWUgV2ViQ29yZSBDaGFuZ2VMb2cgZm9yIG1vcmUg
ZGV0YWlscy4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorCiAyMDE5
LTEwLTA0ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgYSBi
ZXR0ZXIgbmFtZSB0aGFuIGFsbG93RmFzdENsaWNrc0V2ZXJ5d2hlcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKaW5kZXggODI2MmJlNjhjODI0MDhiZjcxNTZhMWM4MWZkZDdiNjJmYjRiNWMxYy4uNWE5NGQ5
OWIwNjNiNzYwNGEyNzczZmU1Y2JmZjhjYzI4ZjA4MzMyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
QEAgLTMwLDYgKzMwLDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9JTkNMVURFX0RJUkVDVE9SSUVT
CiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdCIKICAgICAi
JHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9iZWFjb24iCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVs
ZXMvY2FjaGUiCisgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvY2xpcGJvYXJkIgogICAgICIk
e1dFQkNPUkVfRElSfS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50IgogICAgICIke1dFQkNP
UkVfRElSfS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeSIKQEAgLTIzMSw2ICsyMzIsMTAgQEAgc2V0KFdlYkNv
cmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0NhY2hlcy5p
ZGwKICAgICBNb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmlkbAogCisgICAg
TW9kdWxlcy9jbGlwYm9hcmQvQ2xpcGJvYXJkLmlkbAorICAgIE1vZHVsZXMvY2xpcGJvYXJkL0Ns
aXBib2FyZEl0ZW0uaWRsCisgICAgTW9kdWxlcy9jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJk
LmlkbAorCiAgICAgTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwu
aWRsCiAgICAgTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9DcmVkZW50aWFsQ3JlYXRpb25P
cHRpb25zLmlkbAogICAgIE1vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJl
cXVlc3RPcHRpb25zLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QKaW5kZXggMmY5OGY5ZTMxNWViNmY4M2UwMzM0Y2E3Zjc4NDhlM2RlYTRkMTIw
OS4uN2UyZDFmOTIzZDQ3NjQ0MWE2ZTBjYmUxMTEzNWRhZTkzNDgwZTE1MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC01Myw2ICs1Myw5
IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGUuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL2NhY2hlL0RPTUNhY2hlU3RvcmFnZS5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvY2FjaGUvRE9NV2luZG93Q2FjaGVzLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9j
YWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
Y2xpcGJvYXJkL0NsaXBib2FyZC5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY2xpcGJvYXJk
L0NsaXBib2FyZEl0ZW0uaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2NsaXBib2FyZC9OYXZp
Z2F0b3JDbGlwYm9hcmQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5h
Z2VtZW50L0Jhc2ljQ3JlZGVudGlhbC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY3JlZGVu
dGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25z
LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlz
dAppbmRleCA5M2M1Yzg2NzU4NTk0YWEwYTA3ZGI2MmIwYzhlMDRkMzQ0Yjg3ODFhLi43ZGZiODk3
Nzc2OTE3NTllNTFkZmEwZWJkNjM5ODIwYzFmYmE2MmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMjkwLDggKzI5MCwxMiBAQCAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NoYXJhY3RlckRh
dGEuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0No
YXJhY3RlckRhdGEuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDaGlsZE5vZGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0NoaWxkTm9kZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0NsaXBib2FyZC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTQ2xpcGJvYXJkLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQ2xpcGJvYXJkRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NsaXBib2FyZEV2ZW50LmgKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2xpcGJvYXJkSXRlbS5jcHAK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2xpcGJvYXJk
SXRlbS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Ns
b3NlRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0Nsb3NlRXZlbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNDb21tYW5kTGluZUFQSUhvc3QuY3BwCkBAIC0xMDY3LDYgKzEwNzEsOCBAQCAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5jcHAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9y
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdh
dG9yQmVhY29uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNOYXZpZ2F0b3JCZWFjb24uaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3JDbGlwYm9hcmQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvckNsaXBib2FyZC5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvckNyZWRlbnRp
YWxzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNO
YXZpZ2F0b3JDcmVkZW50aWFscy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU05hdmlnYXRvckVNRS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CmluZGV4IDI4NDBlZmQ2ZmFlNjk0MDc5YzFjMDE0YzMzYmEwMTUwMGYzMjk4N2MuLjkyZDM1OTVj
NDA4MjFlZWZiZmE4ZTNmN2FjYjhlMmE5YzQyN2Y4YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQpAQCAtMzMsNiArMzMsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9iZWFj
b24gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jYWNoZSBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL2NsaXBib2FyZCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2Vt
ZW50IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kgXApAQCAtMTI4LDYgKzEyOSw5IEBA
IEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY2FjaGUvRE9NQ2Fj
aGVTdG9yYWdlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvd0Nh
Y2hlcy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29w
ZUNhY2hlcy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jbGlwYm9hcmQvQ2xpcGJvYXJk
LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmlk
bCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQu
aWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQmFzaWND
cmVkZW50aWFsLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2Vt
ZW50L0NyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQvQ3JlZGVudGlhbFJlcXVlc3RPcHRpb25zLmlkbCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jbGlwYm9hcmQvQ2xpcGJvYXJkLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kNDUzMTg1NjBjNzc4MTViMjRiNjUzODQ2NjBhZDUzYjNmMTNkOGQ3Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jbGlwYm9hcmQvQ2xpcGJvYXJkLmNwcApA
QCAtMCwwICsxLDc4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkNsaXBib2FyZC5oIgorCisjaW5jbHVkZSAiQ2xpcGJvYXJkSXRlbS5oIgorI2luY2x1ZGUg
Ik5hdmlnYXRvci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExP
Q0FURURfSU1QTChDbGlwYm9hcmQpOworCitSZWY8Q2xpcGJvYXJkPiBDbGlwYm9hcmQ6OmNyZWF0
ZShOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDbGlw
Ym9hcmQobmF2aWdhdG9yKSk7Cit9CisKK0NsaXBib2FyZDo6Q2xpcGJvYXJkKE5hdmlnYXRvciYg
bmF2aWdhdG9yKQorICAgIDogbV9uYXZpZ2F0b3IobWFrZVdlYWtQdHIobmF2aWdhdG9yKSkKK3sK
K30KKworRXZlbnRUYXJnZXRJbnRlcmZhY2UgQ2xpcGJvYXJkOjpldmVudFRhcmdldEludGVyZmFj
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIENsaXBib2FyZEV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlw
ZTsKK30KKworU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogQ2xpcGJvYXJkOjpzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9uYXZpZ2F0b3IgPyBtX25hdmlnYXRv
ci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIDogbnVsbHB0cjsKK30KKwordm9pZCBDbGlwYm9h
cmQ6OnJlYWRUZXh0KFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBwcm9t
aXNlLT5yZWplY3QoTm90U3VwcG9ydGVkRXJyb3IpOworfQorCit2b2lkIENsaXBib2FyZDo6d3Jp
dGVUZXh0KGNvbnN0IFN0cmluZyYgZGF0YSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNl
KQoreworICAgIFVOVVNFRF9QQVJBTShkYXRhKTsKKyAgICBwcm9taXNlLT5yZWplY3QoTm90U3Vw
cG9ydGVkRXJyb3IpOworfQorCit2b2lkIENsaXBib2FyZDo6cmVhZChSZWY8RGVmZXJyZWRQcm9t
aXNlPiYmIHByb21pc2UpCit7CisgICAgcHJvbWlzZS0+cmVqZWN0KE5vdFN1cHBvcnRlZEVycm9y
KTsKK30KKwordm9pZCBDbGlwYm9hcmQ6OndyaXRlKGNvbnN0IFZlY3RvcjxSZWZQdHI8Q2xpcGJv
YXJkSXRlbT4+JiBpdGVtcywgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAg
IFVOVVNFRF9QQVJBTShpdGVtcyk7CisgICAgcHJvbWlzZS0+cmVqZWN0KE5vdFN1cHBvcnRlZEVy
cm9yKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jbGlwYm9h
cmQvQ2xpcGJvYXJkLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9h
cmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jMjRmZmFhYTEzMzkxNzZmMDZhMzg0YTgxNDYyMjI2OThhZWM3MmI2
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jbGlwYm9hcmQvQ2xp
cGJvYXJkLmgKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5o
PgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgQ2xpcGJvYXJkSXRlbTsKK2NsYXNzIE5hdmlnYXRvcjsKKworY2xhc3MgQ2xpcGJvYXJkIGZp
bmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Q2xpcGJvYXJkPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0
aElubGluZURhdGEgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ2xpcGJvYXJkKTsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUmVmPENsaXBib2FyZD4gY3JlYXRlKE5hdmlnYXRvciYpOworCisg
ICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5h
bDsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkg
Y29uc3QgZmluYWw7CisKKyAgICB1c2luZyBSZWZDb3VudGVkOjpyZWY7CisgICAgdXNpbmcgUmVm
Q291bnRlZDo6ZGVyZWY7CisKKyAgICB2b2lkIHJlYWRUZXh0KFJlZjxEZWZlcnJlZFByb21pc2U+
JiYpOworICAgIHZvaWQgd3JpdGVUZXh0KGNvbnN0IFN0cmluZyYgZGF0YSwgUmVmPERlZmVycmVk
UHJvbWlzZT4mJik7CisKKyAgICB2b2lkIHJlYWQoUmVmPERlZmVycmVkUHJvbWlzZT4mJik7Cisg
ICAgdm9pZCB3cml0ZShjb25zdCBWZWN0b3I8UmVmUHRyPENsaXBib2FyZEl0ZW0+PiYgZGF0YSwg
UmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisKK3ByaXZhdGU6CisgICAgQ2xpcGJvYXJkKE5hdmln
YXRvciYpOworCisgICAgdm9pZCByZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgcmVmKCk7IH0KKyAg
ICB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KKworICAgIFdlYWtQ
dHI8TmF2aWdhdG9yPiBtX25hdmlnYXRvcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2xpcGJvYXJkL0NsaXBib2FyZC5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmQuaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjFiZTRkMjAxNWMwYWYwY2Y0OGIwMjk1YjMyZGYxODQ1ZjMxYTBkMTEKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmQuaWRs
CkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCit0eXBlZGVmIHNlcXVlbmNlPENsaXBib2Fy
ZEl0ZW0+IENsaXBib2FyZEl0ZW1zOworCitbCisgICAgU2VjdXJlQ29udGV4dCwKKyAgICBFeHBv
c2VkPVdpbmRvdywKKyAgICBFbmFibGVkQnlTZXR0aW5nPUFzeW5jQ2xpcGJvYXJkQVBJLAorXSBp
bnRlcmZhY2UgQ2xpcGJvYXJkIDogRXZlbnRUYXJnZXQgeworICAgIFtOZXdPYmplY3RdIFByb21p
c2U8Q2xpcGJvYXJkSXRlbXM+IHJlYWQoKTsKKyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPERPTVN0
cmluZz4gcmVhZFRleHQoKTsKKyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPHZvaWQ+IHdyaXRlKENs
aXBib2FyZEl0ZW1zIGRhdGEpOworICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gd3JpdGVU
ZXh0KERPTVN0cmluZyBkYXRhKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2NsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1Y2M2ZGM0NmQ1OWU0YmJj
ZWVkNmRhMzcwNWE1ZTcwNjJiNDg1ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmNwcApAQCAtMCwwICsxLDU4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNsaXBib2FyZEl0ZW0u
aCIKKworI2luY2x1ZGUgIkpTRE9NUHJvbWlzZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURl
ZmVycmVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ2xpcGJvYXJkSXRlbTo6fkNsaXBi
b2FyZEl0ZW0oKSA9IGRlZmF1bHQ7CisKK0NsaXBib2FyZEl0ZW06OkNsaXBib2FyZEl0ZW0oVmVj
dG9yPEtleVZhbHVlUGFpcjxTdHJpbmcsIFJlZlB0cjxET01Qcm9taXNlPj4+JiYgaXRlbXMsIGNv
bnN0IE9wdGlvbnMmIG9wdGlvbnMpCisgICAgOiBtX3ByZXNlbnRhdGlvblN0eWxlKG9wdGlvbnMu
cHJlc2VudGF0aW9uU3R5bGUpCit7CisgICAgVU5VU0VEX1BBUkFNKGl0ZW1zKTsKK30KKworUmVm
PENsaXBib2FyZEl0ZW0+IENsaXBib2FyZEl0ZW06OmNyZWF0ZShWZWN0b3I8S2V5VmFsdWVQYWly
PFN0cmluZywgUmVmUHRyPERPTVByb21pc2U+Pj4mJiBkYXRhLCBjb25zdCBPcHRpb25zJiBvcHRp
b25zKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENsaXBib2FyZEl0ZW0oV1RGTW92ZShk
YXRhKSwgb3B0aW9ucykpOworfQorCitWZWN0b3I8U3RyaW5nPiBDbGlwYm9hcmRJdGVtOjp0eXBl
cygpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsgfTsKK30KKwordm9pZCBDbGlwYm9hcmRJdGVtOjpn
ZXRUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNl
KQoreworICAgIFVOVVNFRF9QQVJBTSh0eXBlKTsKKyAgICBwcm9taXNlLT5yZWplY3QoTm90U3Vw
cG9ydGVkRXJyb3IpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjg4
MGRiZTE2NzZjNTMxYmUzZGMzZTAwMDBlZmYzNjBhYzYxZjQ5ZAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uaApAQCAtMCww
ICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvS2V5
VmFsdWVQYWlyLmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgRGVmZXJyZWRQcm9taXNlOworY2xhc3MgRE9NUHJvbWlzZTsKKworY2xh
c3MgQ2xpcGJvYXJkSXRlbSA6IHB1YmxpYyBSZWZDb3VudGVkPENsaXBib2FyZEl0ZW0+IHsKK3B1
YmxpYzoKKyAgICB+Q2xpcGJvYXJkSXRlbSgpOworCisgICAgZW51bSBjbGFzcyBQcmVzZW50YXRp
b25TdHlsZSA6IHVpbnQ4X3QgeyBVbnNwZWNpZmllZCwgSW5saW5lLCBBdHRhY2htZW50IH07CisK
KyAgICBzdHJ1Y3QgT3B0aW9ucyB7CisgICAgICAgIFByZXNlbnRhdGlvblN0eWxlIHByZXNlbnRh
dGlvblN0eWxlIHsgUHJlc2VudGF0aW9uU3R5bGU6OlVuc3BlY2lmaWVkIH07CisgICAgfTsKKwor
ICAgIHN0YXRpYyBSZWY8Q2xpcGJvYXJkSXRlbT4gY3JlYXRlKFZlY3RvcjxLZXlWYWx1ZVBhaXI8
U3RyaW5nLCBSZWZQdHI8RE9NUHJvbWlzZT4+PiYmLCBjb25zdCBPcHRpb25zJik7CisKKyAgICBW
ZWN0b3I8U3RyaW5nPiB0eXBlcygpIGNvbnN0OworICAgIHZvaWQgZ2V0VHlwZShjb25zdCBTdHJp
bmcmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKworICAgIFByZXNlbnRhdGlvblN0eWxlIHBy
ZXNlbnRhdGlvblN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9wcmVzZW50YXRpb25TdHlsZTsgfTsK
KworcHJpdmF0ZToKKyAgICBDbGlwYm9hcmRJdGVtKFZlY3RvcjxLZXlWYWx1ZVBhaXI8U3RyaW5n
LCBSZWZQdHI8RE9NUHJvbWlzZT4+PiYmLCBjb25zdCBPcHRpb25zJik7CisKKyAgICBQcmVzZW50
YXRpb25TdHlsZSBtX3ByZXNlbnRhdGlvblN0eWxlIHsgUHJlc2VudGF0aW9uU3R5bGU6OlVuc3Bl
Y2lmaWVkIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvY2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIy
YjJhNTVjZTc2NzhjYjUxZDljMTVhYjAyMmNkNjlmOGEyYWM5MzAKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmlkbApAQCAt
MCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwordHlwZWRlZiAoRE9NU3RyaW5nIG9yIEJsb2IpIENs
aXBib2FyZEl0ZW1EYXRhVHlwZTsKK3R5cGVkZWYgUHJvbWlzZTxDbGlwYm9hcmRJdGVtRGF0YVR5
cGU+IENsaXBib2FyZEl0ZW1EYXRhOworCitlbnVtIFByZXNlbnRhdGlvblN0eWxlIHsgInVuc3Bl
Y2lmaWVkIiwgImlubGluZSIsICJhdHRhY2htZW50IiB9OworCitkaWN0aW9uYXJ5IENsaXBib2Fy
ZEl0ZW1PcHRpb25zIHsKKyAgUHJlc2VudGF0aW9uU3R5bGUgcHJlc2VudGF0aW9uU3R5bGUgPSAi
dW5zcGVjaWZpZWQiOworfTsKKworWworICAgIENvbnN0cnVjdG9yKHJlY29yZDxET01TdHJpbmcs
IENsaXBib2FyZEl0ZW1EYXRhPiBpdGVtcywgb3B0aW9uYWwgQ2xpcGJvYXJkSXRlbU9wdGlvbnMg
b3B0aW9ucyksCisgICAgRXhwb3NlZD1XaW5kb3csCisgICAgRW5hYmxlZEJ5U2V0dGluZz1Bc3lu
Y0NsaXBib2FyZEFQSSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFj
ZSBDbGlwYm9hcmRJdGVtIHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RE9N
U3RyaW5nPiB0eXBlczsKKyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPEJsb2I+IGdldFR5cGUoRE9N
U3RyaW5nIHR5cGUpOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQcmVzZW50YXRpb25TdHlsZSBw
cmVzZW50YXRpb25TdHlsZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2NsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYzAwYmNlMGY0
N2M5Y2M2ZjU0N2M4YmI1M2E0ZTYxNGM2ZTI2NjY1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmNwcApAQCAtMCww
ICsxLDcwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5h
dmlnYXRvckNsaXBib2FyZC5oIgorCisjaW5jbHVkZSAiQ2xpcGJvYXJkLmgiCisjaW5jbHVkZSAi
TmF2aWdhdG9yLmgiCisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK05hdmlnYXRvckNsaXBib2FyZDo6TmF2aWdhdG9yQ2xpcGJvYXJkKE5hdmln
YXRvciYgbmF2aWdhdG9yKQorICAgIDogbV9uYXZpZ2F0b3IobmF2aWdhdG9yKQoreworfQorCitO
YXZpZ2F0b3JDbGlwYm9hcmQ6On5OYXZpZ2F0b3JDbGlwYm9hcmQoKSA9IGRlZmF1bHQ7CisKK0Ns
aXBib2FyZCogTmF2aWdhdG9yQ2xpcGJvYXJkOjpjbGlwYm9hcmQoTmF2aWdhdG9yJiBuYXZpZ2F0
b3IpCit7CisgICAgcmV0dXJuIE5hdmlnYXRvckNsaXBib2FyZDo6ZnJvbShuYXZpZ2F0b3IpLT5j
bGlwYm9hcmQoKTsKK30KKworQ2xpcGJvYXJkKiBOYXZpZ2F0b3JDbGlwYm9hcmQ6OmNsaXBib2Fy
ZCgpCit7CisgICAgaWYgKCFtX2NsaXBib2FyZCkKKyAgICAgICAgbV9jbGlwYm9hcmQgPSBDbGlw
Ym9hcmQ6OmNyZWF0ZShtX25hdmlnYXRvcik7CisgICAgcmV0dXJuIG1fY2xpcGJvYXJkLmdldCgp
OworfQorCitOYXZpZ2F0b3JDbGlwYm9hcmQqIE5hdmlnYXRvckNsaXBib2FyZDo6ZnJvbShOYXZp
Z2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICBhdXRvKiBzdXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8
TmF2aWdhdG9yQ2xpcGJvYXJkKj4oU3VwcGxlbWVudDxOYXZpZ2F0b3I+Ojpmcm9tKCZuYXZpZ2F0
b3IsIHN1cHBsZW1lbnROYW1lKCkpKTsKKyAgICBpZiAoIXN1cHBsZW1lbnQpIHsKKyAgICAgICAg
YXV0byBuZXdTdXBwbGVtZW50ID0gbWFrZVVuaXF1ZTxOYXZpZ2F0b3JDbGlwYm9hcmQ+KG5hdmln
YXRvcik7CisgICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOworICAgICAg
ICBwcm92aWRlVG8oJm5hdmlnYXRvciwgc3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBw
bGVtZW50KSk7CisgICAgfQorICAgIHJldHVybiBzdXBwbGVtZW50OworfQorCitjb25zdCBjaGFy
KiBOYXZpZ2F0b3JDbGlwYm9hcmQ6OnN1cHBsZW1lbnROYW1lKCkKK3sKKyAgICByZXR1cm4gIk5h
dmlnYXRvckNsaXBib2FyZCI7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvY2xpcGJvYXJkL05hdmlnYXRvckNsaXBib2FyZC5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWU0ZGUzN2Mz
YmEzYWFkZGVmNDYyNGQ1MTUzMzNlNTUzY2RjYjgxNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY2xpcGJvYXJkL05hdmlnYXRvckNsaXBib2FyZC5oCkBAIC0wLDAg
KzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlN1cHBsZW1l
bnRhYmxlLmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBDbGlwYm9hcmQ7CitjbGFzcyBOYXZpZ2F0b3I7CisKK2NsYXNzIE5hdmlnYXRv
ckNsaXBib2FyZCBmaW5hbCA6IHB1YmxpYyBTdXBwbGVtZW50PE5hdmlnYXRvcj4geworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIGV4cGxpY2l0IE5hdmlnYXRvckNs
aXBib2FyZChOYXZpZ2F0b3ImKTsKKyAgICB+TmF2aWdhdG9yQ2xpcGJvYXJkKCk7CisKKyAgICBz
dGF0aWMgQ2xpcGJvYXJkKiBjbGlwYm9hcmQoTmF2aWdhdG9yJik7CisgICAgQ2xpcGJvYXJkKiBj
bGlwYm9hcmQoKTsKKworcHJpdmF0ZToKKyAgICBzdGF0aWMgTmF2aWdhdG9yQ2xpcGJvYXJkKiBm
cm9tKE5hdmlnYXRvciYpOworICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgp
OworCisgICAgUmVmUHRyPENsaXBib2FyZD4gbV9jbGlwYm9hcmQ7CisgICAgTmF2aWdhdG9yJiBt
X25hdmlnYXRvcjsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
Y2xpcGJvYXJkL05hdmlnYXRvckNsaXBib2FyZC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2NsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdkNmI1MzNmNjNh
NjdiMDlhZTA3YTAwODdlNTU1NzQ2M2ZhOTk1NDkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2NsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuaWRsCkBAIC0wLDAg
KzEsMzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1Bc3luY0NsaXBi
b2FyZEFQSSwKK10gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKKyAgICBbU2VjdXJlQ29u
dGV4dCwgU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIENsaXBib2FyZCBjbGlwYm9hcmQ7
Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbVRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1UcmFjay5jcHAKaW5kZXggODUxMzE3OTQ3MmM5MjE5MDRmYzExY2UxZWU1ZjA5YTEy
N2Q0MTI2YS4uODYxY2ZhZmFlYzBhZGI3NTQ3YjQ0YjVlYmZmZjNjMTgyNDk3MTBlMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNr
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
VHJhY2suY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2lu
Y2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNPdmVyY29uc3RyYWlu
ZWRFcnJvci5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNZWRpYUNvbnN0cmFp
bnRzLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW0uaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbVBy
aXZhdGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDRFRNRlNlbmRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0RUTUZTZW5kZXIuY3BwCmluZGV4IDNlNmRjMDg5NGU2NTUzYzNmOTAyZTQ5NzkzMGU5OThlYjdi
ZWEzY2QuLjZmZjRhYTVlNzdmOTdkZGY5MjNkM2JmYjlhNmU2ZjcxYzVmZjU4NGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNw
cApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiUlRDRFRNRlNlbmRlckJhY2tlbmQuaCIK
ICNpbmNsdWRlICJSVENEVE1GVG9uZUNoYW5nZUV2ZW50LmgiCisjaW5jbHVkZSAiUlRDUnRwU2Vu
ZGVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgPHd0
Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmNwcAppbmRleCAwMDdkMmMzYTRiOWViYTFjYWMxMzA0
OTc2ODZkNDQ2ZDJmMDUzMjNiLi4yYTY2ZmY0OGQxZjAyM2VjYmRhMDc5NTE0ZjU5ZDBkYjY0M2Vk
MWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cFNlbmRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTZW5kZXIuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpZiBFTkFCTEUoV0VCX1JUQykKIAor
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiUlRDRFRNRlNlbmRl
ci5oIgogI2luY2x1ZGUgIlJUQ0RUTUZTZW5kZXJCYWNrZW5kLmgiCiAjaW5jbHVkZSAiUlRDUnRw
Q2FwYWJpbGl0aWVzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFVQaXBlbGluZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
UGlwZWxpbmUuaAppbmRleCAxZTMyM2M3OWJmMTk4MjU4MjM2MmE3M2Y4YTY3NWYxMjhiNGE2Zjcx
Li4zYjM0YTRlYjA2NWNiMDQxOTgyZTkxMzBiZGE2MjUwNzY1YjNhYjkwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lLmgKQEAgLTMwLDYgKzMwLDcg
QEAKICNpbmNsdWRlICJHUFVPYmplY3RCYXNlLmgiCiAjaW5jbHVkZSAiV2ViR1BVU2hhZGVyTW9k
dWxlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggNGE4MTA5MjRkZTc0MzJm
ZmZlNjEyY2Y1ZWRkNmQxZmFiNjEzNTcyNy4uZmM1YWYyMGRjMjYwMTA0Nzk0MjgzYjAxNDJlZWJh
NjFlN2Q0ODFmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIv
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTQzLDYgKzQzLDEwIEBAIE1vZHVsZXMvY2Fj
aGUvRE9NV2luZG93Q2FjaGVzLmNwcAogTW9kdWxlcy9jYWNoZS9Xb3JrZXJDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uLmNwcAogTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAK
IAorTW9kdWxlcy9jbGlwYm9hcmQvQ2xpcGJvYXJkLmNwcAorTW9kdWxlcy9jbGlwYm9hcmQvQ2xp
cGJvYXJkSXRlbS5jcHAKK01vZHVsZXMvY2xpcGJvYXJkL05hdmlnYXRvckNsaXBib2FyZC5jcHAK
KwogTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuY3BwCiBNb2R1
bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50L0NyZWRlbnRpYWxzQ29udGFpbmVyLmNwcAogTW9kdWxl
cy9jcmVkZW50aWFsbWFuYWdlbWVudC9OYXZpZ2F0b3JDcmVkZW50aWFscy5jcHAKQEAgLTI2ODgs
NyArMjY5Miw5IEBAIEpTQ2hhbm5lbE1lcmdlck5vZGUuY3BwCiBKU0NoYW5uZWxTcGxpdHRlck5v
ZGUuY3BwCiBKU0NoYXJhY3RlckRhdGEuY3BwCiBKU0NoaWxkTm9kZS5jcHAKK0pTQ2xpcGJvYXJk
LmNwcAogSlNDbGlwYm9hcmRFdmVudC5jcHAKK0pTQ2xpcGJvYXJkSXRlbS5jcHAKIEpTQ2xvc2VF
dmVudC5jcHAKIEpTQ29tbWFuZExpbmVBUElIb3N0LmNwcAogSlNDb21tZW50LmNwcApAQCAtMzAy
OSw2ICszMDM1LDcgQEAgSlNNdXRhdGlvblJlY29yZC5jcHAKIEpTTmFtZWROb2RlTWFwLmNwcAog
SlNOYXZpZ2F0b3IuY3BwCiBKU05hdmlnYXRvckJlYWNvbi5jcHAKK0pTTmF2aWdhdG9yQ2xpcGJv
YXJkLmNwcAogSlNOYXZpZ2F0b3JDcmVkZW50aWFscy5jcHAKIEpTTmF2aWdhdG9yR2VvbG9jYXRp
b24uY3BwCiBKU05hdmlnYXRvckdQVS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4M2M5ZWM3ZDhmZTA0NjNkMDUxZDUwZmU3
NjljMzk5ODY2NzE1OTNmLi4xOGUzODRiNGEyYjU1OGFkODM5ODc4YTMwNDgyNWIxOWRiMDZmOWZl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC00ODcxLDYgKzQ4NzEsOSBAQAogCQlGM0FCRkUwQzEzMEU5REEwMDBFN0Y3RDEgLyog
SW5zdHJ1bWVudGluZ0FnZW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjNBQkZFMEIxMzBFOURBMDAwRTdGN0QxIC8qIEluc3RydW1lbnRpbmdBZ2Vu
dHMuaCAqLzsgfTsKIAkJRjNENDYxNDkxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5kbGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0Q0NjE0
NzExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuaCAqLzsgfTsKIAkJRjQzM0U5MDMx
REJCREJBMjAwRUYwRDE0IC8qIFN0YXRpY1Bhc3RlYm9hcmQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0MzNFOTAyMURCQkRCQTIwMEVGMEQxNCAvKiBT
dGF0aWNQYXN0ZWJvYXJkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJRjQ0MEU3N0EyMzNEOTRENzAwNjNGOUFCIC8qIE5hdmlnYXRvckNsaXBib2Fy
ZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0MEU3
NkYyMzNEOTREMzAwNjNGOUFCIC8qIE5hdmlnYXRvckNsaXBib2FyZC5oICovOyB9OworCQlGNDQw
RTc3QjIzM0Q5NEQ3MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRlbS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0MEU3NzAyMzNEOTRENDAwNjNGOUFCIC8q
IENsaXBib2FyZEl0ZW0uaCAqLzsgfTsKKwkJRjQ0MEU3N0QyMzNEOTRENzAwNjNGOUFCIC8qIENs
aXBib2FyZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RjQ0MEU3NzIyMzNEOTRENTAwNjNGOUFCIC8qIENsaXBib2FyZC5oICovOyB9OwogCQlGNDRBNUY1
OTFGRUQzOEYyMDA3RjU5NDQgLyogTGVnYWN5TlNQYXN0ZWJvYXJkVHlwZXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NEE1RjU3MUZFRDM4MzAwMDdG
NTk0NCAvKiBMZWdhY3lOU1Bhc3RlYm9hcmRUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY0NEVCQkQ5MURCNUQyMTQwMDI3NzMzNCAvKiBT
dGF0aWNSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjQ0RUJCRDgxREI1RDIxNDAwMjc3MzM0IC8qIFN0YXRpY1JhbmdlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjQ1QzIzMUUxOTk1QjczQjAw
QTZFMkUzIC8qIEF4aXNTY3JvbGxTbmFwT2Zmc2V0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ1QzIzMUMxOTk1QjczQjAwQTZFMkUzIC8qIEF4aXNT
Y3JvbGxTbmFwT2Zmc2V0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CkBAIC0xMDA4OSw3ICsxMDA5MiwxMSBAQAogCQk4MzZEMDMyQjFEQThBMTMyMDBG
RkQ5NkIgLyogSlNFdmVudEluaXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNFdmVudEluaXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzZE
MDMyQzFEQThBMTMyMDBGRkQ5NkIgLyogSlNFdmVudEluaXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNFdmVudEluaXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJODM2RDAzMkQxREE4QTEzMjAwRkZEOTZCIC8qIEpTQ2xpcGJvYXJkRXZlbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDbGlwYm9hcmRFdmVudC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzNkQwMzJEMURBOEExMzIwMEZGRDk2QyAvKiBK
U0NsaXBib2FyZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Ns
aXBib2FyZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzNkQwMzJEMURBOEEx
MzIwMEZGRDk2RCAvKiBKU0NsaXBib2FyZEl0ZW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNDbGlwYm9hcmRJdGVtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODM2RDAzMkUxREE4QTEzMjAwRkZEOTZCIC8qIEpTQ2xpcGJvYXJkRXZlbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDbGlwYm9hcmRFdmVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4MzZEMDMyRTFEQThBMTMyMDBGRkQ5NkMgLyogSlND
bGlwYm9hcmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDbGlwYm9hcmQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODM2RDAzMkUxREE4QTEzMjAwRkZEOTZE
IC8qIEpTQ2xpcGJvYXJkSXRlbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0NsaXBib2FyZEl0ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM2REFBMDUx
Q0VBQjdDRDAwQTJCNzA3IC8qIFJlbmRlckRlc2NlbmRhbnRJdGVyYXRvci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJEZXNjZW5kYW50SXRlcmF0b3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM3MDU2ODgxRjUwOTE1MDAwRDkzNDI1IC8qIEpTRmls
ZUNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRmls
ZUNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM3MDU2ODkxRjUw
OTE1MDAwRDkzNDI1IC8qIEpTRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGaWxlU3lzdGVtRW50cnlDYWxsYmFjay5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTUxNTcsNiArMTUxNjQsMTUgQEAKIAkJRjQyQ0VCNTQy
MTQwMzFFRTAwMkRDQTcyIC8qIEZvbnRBdHRyaWJ1dGVDaGFuZ2VzQ29jb2EubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBGb250QXR0cmlidXRlQ2hhbmdlc0NvY29hLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGNDMzRTkwMjFEQkJEQkEyMDBFRjBEMTQgLyogU3RhdGljUGFzdGVi
b2FyZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdGF0aWNQYXN0ZWJvYXJk
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0MzNFOTA0MURCQkRCQzIwMEVGMEQx
NCAvKiBTdGF0aWNQYXN0ZWJvYXJkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0YXRpY1Bhc3Rl
Ym9hcmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDQwRTc2RTIzM0Q5NEQz
MDA2M0Y5QUIgLyogQ2xpcGJvYXJkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IENsaXBib2FyZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0NDBF
NzZGMjMzRDk0RDMwMDYzRjlBQiAvKiBOYXZpZ2F0b3JDbGlwYm9hcmQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTmF2aWdhdG9yQ2xpcGJvYXJkLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUY0NDBFNzcwMjMzRDk0RDQwMDYzRjlBQiAvKiBDbGlwYm9hcmRJdGVt
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENsaXBib2FyZEl0ZW0uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0MEU3NzEyMzNEOTRENDAwNjNGOUFCIC8qIE5h
dmlnYXRvckNsaXBib2FyZC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmF2aWdhdG9yQ2xp
cGJvYXJkLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0MEU3NzIyMzNEOTRE
NTAwNjNGOUFCIC8qIENsaXBib2FyZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDbGlwYm9hcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0MEU3NzMyMzNE
OTRENTAwNjNGOUFCIC8qIE5hdmlnYXRvckNsaXBib2FyZC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBOYXZpZ2F0b3JDbGlwYm9hcmQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlGNDQwRTc3NDIzM0Q5NEQ2MDA2M0Y5QUIgLyogQ2xpcGJvYXJkLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDbGlwYm9hcmQuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlGNDQwRTc3NTIzM0Q5NEQ2MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRlbS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDbGlwYm9hcmRJdGVtLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0MEU3NzcyMzNEOTRENzAwNjNGOUFC
IC8qIENsaXBib2FyZEl0ZW0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENsaXBib2FyZEl0
ZW0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDQyODUwQjIxNDA0MTI1MDBD
Q0RBMjIgLyogRm9udEF0dHJpYnV0ZUNoYW5nZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9u
dEF0dHJpYnV0ZUNoYW5nZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDRB
NUY1NzFGRUQzODMwMDA3RjU5NDQgLyogTGVnYWN5TlNQYXN0ZWJvYXJkVHlwZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTGVnYWN5TlNQYXN0ZWJvYXJkVHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRjQ0RUJCRDYxREI1RDFCNjAwMjc3MzM0IC8qIFN0YXRpY1JhbmdlLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBTdGF0aWNSYW5nZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xNjU3NSw2ICsxNjU5MSw3IEBACiAJCQkJMTIyMUUwNTgxQzAyQjQwOTAwNkEx
QTAwIC8qIEFuaW1hdGlvbiAqLywKIAkJCQkxQUU5NkE3OTFEMUEwQTVDMDBCODY3NjggLyogQXBw
bGVQYXkgKi8sCiAJCQkJNDFGQjI3ODgxRjM0NDYxQjAwNzk1NDg4IC8qIENhY2hlQVBJICovLAor
CQkJCUY0NDBFNzY5MjMzRDkzNjIwMDYzRjlBQiAvKiBDbGlwYm9hcmQgKi8sCiAJCQkJQTgzQjc5
MTAwQ0NCMDAxQjAwMEIwODI1IC8qIENvcmUgKi8sCiAJCQkJNTdDN0E2OEQxRTU2OUE4NDAwQzY3
RDcxIC8qIENyZWRlbnRpYWxNYW5hZ2VtZW50ICovLAogCQkJCUUxRkY4RjYxMTgwNzQ1QzYwMDEz
MjY3NCAvKiBDcnlwdG8gKi8sCkBAIC0yMTkyNSw2ICsyMTk0Miw3IEBACiAJCQkJNjNCRDRBNUMx
Rjc3OEU4NDAwNDM4NzIyIC8qIGFwcGxpY2F0aW9ubWFuaWZlc3QgKi8sCiAJCQkJODMyMTUwNzkx
RjI3RTk2QjAwOTVCMTM2IC8qIGJlYWNvbiAqLywKIAkJCQk0MTM4MEMxRTFGMzQzNjYwMDAxNTVG
REEgLyogY2FjaGUgKi8sCisJCQkJRjQ0MEU3NkEyMzNEOTNDODAwNjNGOUFCIC8qIGNsaXBib2Fy
ZCAqLywKIAkJCQk1N0M3QTY4ODFFNTY5NDZEMDBDNjdENzEgLyogY3JlZGVudGlhbG1hbmFnZW1l
bnQgKi8sCiAJCQkJQ0RBOThEQkQxNjAxNEUwODAwRkVBM0IxIC8qIGVuY3J5cHRlZG1lZGlhICov
LAogCQkJCTgzRkIzMzY1MUY1MDhBMTcwMDk4NkU1NCAvKiBlbnRyaWVzYXBpICovLApAQCAtMjY3
ODAsNiArMjY3OTgsMzMgQEAKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOwogCQl9OworCQlGNDQwRTc2OTIzM0Q5MzYyMDA2M0Y5QUIgLyogQ2xpcGJvYXJkICovID0g
eworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk4MzZEMDMyRDFEQThB
MTMyMDBGRkQ5NkMgLyogSlNDbGlwYm9hcmQuY3BwICovLAorCQkJCTgzNkQwMzJFMURBOEExMzIw
MEZGRDk2QyAvKiBKU0NsaXBib2FyZC5oICovLAorCQkJCTgzNkQwMzJEMURBOEExMzIwMEZGRDk2
RCAvKiBKU0NsaXBib2FyZEl0ZW0uY3BwICovLAorCQkJCTgzNkQwMzJFMURBOEExMzIwMEZGRDk2
RCAvKiBKU0NsaXBib2FyZEl0ZW0uaCAqLywKKwkJCSk7CisJCQluYW1lID0gQ2xpcGJvYXJkOwor
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJRjQ0MEU3NkEyMzNEOTNDODAwNjNG
OUFCIC8qIGNsaXBib2FyZCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4g
PSAoCisJCQkJRjQ0MEU3NkUyMzNEOTREMzAwNjNGOUFCIC8qIENsaXBib2FyZC5jcHAgKi8sCisJ
CQkJRjQ0MEU3NzIyMzNEOTRENTAwNjNGOUFCIC8qIENsaXBib2FyZC5oICovLAorCQkJCUY0NDBF
Nzc0MjMzRDk0RDYwMDYzRjlBQiAvKiBDbGlwYm9hcmQuaWRsICovLAorCQkJCUY0NDBFNzc1MjMz
RDk0RDYwMDYzRjlBQiAvKiBDbGlwYm9hcmRJdGVtLmNwcCAqLywKKwkJCQlGNDQwRTc3MDIzM0Q5
NEQ0MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRlbS5oICovLAorCQkJCUY0NDBFNzc3MjMzRDk0RDcw
MDYzRjlBQiAvKiBDbGlwYm9hcmRJdGVtLmlkbCAqLywKKwkJCQlGNDQwRTc3MzIzM0Q5NEQ1MDA2
M0Y5QUIgLyogTmF2aWdhdG9yQ2xpcGJvYXJkLmNwcCAqLywKKwkJCQlGNDQwRTc2RjIzM0Q5NEQz
MDA2M0Y5QUIgLyogTmF2aWdhdG9yQ2xpcGJvYXJkLmggKi8sCisJCQkJRjQ0MEU3NzEyMzNEOTRE
NDAwNjNGOUFCIC8qIE5hdmlnYXRvckNsaXBib2FyZC5pZGwgKi8sCisJCQkpOworCQkJcGF0aCA9
IGNsaXBib2FyZDsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCUY0ODM4OTc5
MUUxREQyM0EwMDc2QjdFQSAvKiBFZGl0aW5nSGlzdG9yeSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0yODczNSw4ICsyODc4MCwxMCBAQAogCQkJCUU0QTgx
NEQ0MUM2REVDNDAwMEJGODVBQyAvKiBDbGFzc0NoYW5nZUludmFsaWRhdGlvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODM0OEJGQUMxQjg1NzI5ODAwOTEyRjM2IC8qIENsYXNzQ29sbGVjdGlvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNDEwNzkwOEMxRkMzRjAzMzAwNjFCMjdBIC8qIENsaWVudE9y
aWdpbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjQ0MEU3N0QyMzNEOTRENzAwNjNGOUFCIC8qIENs
aXBib2FyZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MzQTkxRTYxQzk2M0I4ODAwRDFBN0UzIC8q
IENsaXBib2FyZEFjY2Vzc1BvbGljeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMzFCNDAwQTQ0
RUZDNzAwRjk5MkUwIC8qIENsaXBib2FyZEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlGNDQw
RTc3QjIzM0Q5NEQ3MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRkI5MkRGNEIxNUZFRDA4NzAwOTk0NDMzIC8qIENsaXBQYXRoT3BlcmF0aW9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1ODAzNzE2MjFBNjZGMDBBMDBCQUY1MTkgLyogQ2xpcFJlY3QuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTk3QUFCRDEzMTRGQTA5RDUwMDc0NTdBRSAvKiBDbG9zZUV2ZW50Lmgg
aW4gSGVhZGVycyAqLywKQEAgLTMwOTc3LDYgKzMxMDI0LDcgQEAKIAkJCQlBOUM2RTVBNjBENzQ2
NDU4MDA2NDQyRTkgLyogTmF2aWdhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTI3MTlDNzBF
RUVDMTY4MDBGNjEyMTMgLyogTmF2aWdhdG9yQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODMy
MTUwN0UxRjI3RUExQjAwOTVCMTM2IC8qIE5hdmlnYXRvckJlYWNvbi5oIGluIEhlYWRlcnMgKi8s
CisJCQkJRjQ0MEU3N0EyMzNEOTRENzAwNjNGOUFCIC8qIE5hdmlnYXRvckNsaXBib2FyZC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMzcyRDNFNTcyMTY1NzhBRTAwQzVFMDIxIC8qIE5hdmlnYXRvckNy
ZWRlbnRpYWxzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzExNDYwNDE0RUYwMDlBMDA2NzRGRDkg
LyogTmF2aWdhdG9yR2VvbG9jYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTVFQTcyNUQ2MUFD
QUJENTcwMEVBRDE3QiAvKiBOYXZpZ2F0b3JNZWRpYURldmljZXMuaCBpbiBIZWFkZXJzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1l
cy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmlu
ZGV4IGZmZDNlNTllZjg0OWEwMWE4ZmE1ZDI2YzBmZWZjMWZkYTRlZmE5MjcuLjA2MGM3MDMyNzVm
NGMzYzQ4MWRhZDI4YjM1M2VlYTEyMjAwM2UyNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTU1LDYgKzU1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIG1hY3JvKENhY2hlU3RvcmFnZSkgXAogICAgIG1hY3JvKENsaWVu
dCkgXAogICAgIG1hY3JvKENsaWVudHMpIFwKKyAgICBtYWNybyhDbGlwYm9hcmQpIFwKKyAgICBt
YWNybyhDbGlwYm9hcmRJdGVtKSBcCiAgICAgbWFjcm8oQ3JlZGVudGlhbCkgXAogICAgIG1hY3Jv
KENyZWRlbnRpYWxzQ29udGFpbmVyKSBcCiAgICAgbWFjcm8oQ1NTQW5pbWF0aW9uKSBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQu
Y3BwCmluZGV4IDE1YzA1NmQ3NjQzMDE3NTlmNmJjZTBlNWJmOTY3MjVmMGE5MWVmYTAuLjMwMjFh
ODFmYmU1ZGViZDZiMWZkYjM5ODJhZGYxMTMyNTZjM2FmN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuY3BwCkBAIC0yNiw2
ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRp
b25Pck1vdGlvbkV2ZW50LmgiCiAKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRlICJE
ZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJE
b2N1bWVudC5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4gYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCmluZGV4IDliOWJmOTM3Y2MwOTNhNjAwNWNk
NjBjZTE2NDRjYjA4OGViZTY2MTIuLjI4MjcwZjI3NTA1MDUzYTIzMzEwMzMyNmRiNDZjYzdjMGFi
NGMxZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3Rvcnku
aW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgpAQCAtNyw2
ICs3LDcgQEAgQXBwbGVQYXlTZXNzaW9uIGNvbmRpdGlvbmFsPUFQUExFX1BBWQogQXVkaW9Ob2Rl
IGNvbmRpdGlvbmFsPVdFQl9BVURJTwogQXVkaW9Db250ZXh0IGNvbmRpdGlvbmFsPVdFQl9BVURJ
TwogQXVkaW9UcmFja0xpc3QgY29uZGl0aW9uYWw9VklERU9fVFJBQ0sKK0NsaXBib2FyZAogRGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGUKIERPTUFwcGxpY2F0aW9uQ2FjaGUKIERPTVdpbmRvdwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmVhdHVyZXMuanNvbiBiL1NvdXJjZS9XZWJDb3Jl
L2ZlYXR1cmVzLmpzb24KaW5kZXggZTU4N2QyMjM0OTRjMmZmZDgxMzliNjM3ZmQ1YmU3NzFkYzNj
NGNiZi4uMjg3ZDBlYjM4NjNkNmI2MWY5ZDM3ZjQ4NDM5Mzc0ZTg4MDM5NzQxNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZmVhdHVyZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9mZWF0
dXJlcy5qc29uCkBAIC0xMSw2ICsxMSwyMSBAQAogICAgICAgICAiY2F0ZWdvcnkiOiAid2ViYXBw
cyIsCiAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJSZXNvdXJjZXMgYXJlIHNhdmVkIGZvciBvZmZs
aW5lIHVzZSB1c2luZyBhIG1hbmlmZXN0LiIKICAgICB9LAorICAgIHsKKyAgICAgICAgIm5hbWUi
OiAiQXN5bmMgQ2xpcGJvYXJkIEFQSSIsCisgICAgICAgICJzdGF0dXMiOiB7CisgICAgICAgICAg
ICAic3RhdHVzIjogIkluIERldmVsb3BtZW50IgorICAgICAgICB9LAorICAgICAgICAidXJsIjog
Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9jbGlwYm9hcmQtYXBpcy8jYXN5bmMtY2xpcGJvYXJkLWFw
aSIsCisgICAgICAgICJzcGVjaWZpY2F0aW9uIjogIkNsaXBib2FyZCBBUEkiLAorICAgICAgICAi
Y2F0ZWdvcnkiOiAid2ViYXBwcyIsCisgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbiBBUEkgdGhh
dCBhbGxvd3MgcmVhZGluZyBmcm9tIGFuZCB3cml0aW5nIHRvIHRoZSBzeXN0ZW0gY2xpcGJvYXJk
LiIsCisgICAgICAgICJjb250YWN0IjogeworICAgICAgICAgICAgIm5hbWUiOiAiV2Vuc29uIEhz
aWVoIiwKKyAgICAgICAgICAgICJlbWFpbCI6ICJ3ZW5zb25faHNpZWhAYXBwbGUuY29tIiwKKyAg
ICAgICAgICAgICJ0d2l0dGVyIjogIkB3ZW5zb25oc2llaCIKKyAgICAgICAgfQorICAgIH0sCiAg
ICAgewogICAgICAgICAibmFtZSI6ICJCYXR0ZXJ5IFN0YXR1cyBBUEkiLAogICAgICAgICAic3Rh
dHVzIjogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCmluZGV4IDMzNWI3OGFlZDYzMjNkMTA4
MTg2NTViZGNiNDhhZDhjZTE3NWUxYjUuLmVmYmM2MzVlMzJhNmZiMDMwYWJlOTk2ZmE5NTkwYWU2
YzI3ZTAzOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKQEAgLTExOCw2ICsxMTgsOCBA
QCBzaG91bGRQcmludEJhY2tncm91bmRzOgogY2xpcGJvYXJkQWNjZXNzUG9saWN5OgogICB0eXBl
OiBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kKICAgaW5pdGlhbDogQ2xpcGJvYXJkQWNjZXNzUG9saWN5
OjpSZXF1aXJlc1VzZXJHZXN0dXJlCithc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ6CisgIGluaXRp
YWw6IGZhbHNlCiAKIHRleHRBcmVhc0FyZVJlc2l6YWJsZToKICAgaW5pdGlhbDogZmFsc2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IDVjYmVhM2RkZjhmZTA5
MDc4YmFjYWFhODM5MWI2NGNhNjJkMDBlYmEuLmFjZDJiMWI5N2IyNGQ3ZTgyZjQ0NDI1MzVlMWY1
MGEwMTcwNmYzZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzLnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApA
QCAtODQ2LDYgKzg0NiwxMyBAQCBDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQ6CiAgIGh1bWFu
UmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBjdXN0b20gY2xpcGJvYXJkIHR5cGVzIGFuZCBi
ZXR0ZXIgc2VjdXJpdHkgbW9kZWwgZm9yIGNsaXBib2FyZCBBUEkuIgogICB3ZWJjb3JlQmluZGlu
ZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogCitBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ6Cisg
IHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBodW1hblJlYWRhYmxlTmFtZTog
IkFzeW5jIGNsaXBib2FyZCBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJs
ZSB0aGUgYXN5bmMgY2xpcGJvYXJkIEFQSSIKKyAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorCiBX
ZWJTaGFyZUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX1dF
Ql9TSEFSRV9FTkFCTEVECmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGJjZDk4NjA5ZGVlNzc5ZmMwMzFlNjEwOTIzYmU5ZWUx
NzUyZDVkOS4uMGUxNWRhNDQzYzNhYjQ4NjkyMGE4ZWM2ZTkzODVjOTk1NjQ5NGFiNSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI3IEBACisyMDE5LTEwLTA3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgorCisgICAgICAgIFtDbGlwYm9hcmQgQVBJXSBJbnRyb2R1Y2UgYmluZGluZ3Mg
Zm9yIHRoZSBhc3luYyBDbGlwYm9hcmQgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI2MjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU2MDM4
MTI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
ZWRpdGluZy9jbGlwYm9hcmQvY2xpcGJvYXJkLWludGVyZmFjZXMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBlZGl0aW5nL2NsaXBib2FyZC9jbGlwYm9hcmQtaW50ZXJmYWNlcy5odG1s
OiBBZGRlZC4KKworICAgICAgICBBZGQgYSBuZXcgdGVzdCB0byBzYW5pdHkgY2hlY2sgdGhlIG5l
dyBjbGlwYm9hcmQgQVBJIGludGVyZmFjZXMgYW5kIGludGVyZmFjZSBleHRlbnNpb25zLgorCisg
ICAgICAgICogZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjLWhpZ2hzaWVycmEvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5v
LWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBl
Y3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3It
ZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9m
YXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL3dpbi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNhaXJvL2Zhc3QvZG9tL25hdmlnYXRv
ci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQ6CisKKyAgICAgICAgVXBkYXRlIGFuIGV4
aXN0aW5nIGxheW91dCB0ZXN0IHRvIGluY2x1ZGUgIm5hdmlnYXRvci5jbGlwYm9hcmQiLgorCiAy
MDE5LTEwLTA0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWxs
b3cgcGFnZXMgdXNpbmcgRXZlbnRTb3VyY2UgdG8gZW50ZXIgdGhlIGJhY2svZm9yd2FyZCBjYWNo
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9jbGlwYm9hcmQvY2xpcGJvYXJkLWlu
dGVyZmFjZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9jbGlwYm9hcmQvY2xp
cGJvYXJkLWludGVyZmFjZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk5YzUwYTFiZDQ0NWRk
NjJiNzE5YWIyZWY0MWViYmVkZWY2N2U2OWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL2NsaXBib2FyZC9jbGlwYm9hcmQtaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw1MSBAQAorVGVzdHMgdGhlIGludGVyZmFjZXMgb2YgdGhlIGFzeW5jIGNsaXBib2Fy
ZCBBUEksIHdoaWNoIGluY2x1ZGUgQ2xpcGJvYXJkLCBDbGlwYm9hcmRJdGVtLCBhbmQgZXh0ZW5z
aW9ucyB0byBOYXZpZ2F0b3IuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKK1Rl
c3RpbmcgQ2xpcGJvYXJkOgorUEFTUyBDbGlwYm9hcmQgaW5zdGFuY2VvZiBGdW5jdGlvbiBpcyB0
cnVlCitQQVNTIHR5cGVvZiBDbGlwYm9hcmQgaXMgImZ1bmN0aW9uIgorUEFTUyBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkIGluc3RhbmNlb2YgQ2xpcGJvYXJkIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldFBy
b3RvdHlwZU9mKG5hdmlnYXRvci5jbGlwYm9hcmQpID09PSBDbGlwYm9hcmQucHJvdG90eXBlIGlz
IHRydWUKK1BBU1MgQ2xpcGJvYXJkLnByb3RvdHlwZS5yZWFkVGV4dCBpbnN0YW5jZW9mIEZ1bmN0
aW9uIGlzIHRydWUKK1BBU1MgQ2xpcGJvYXJkLnByb3RvdHlwZS53cml0ZVRleHQgaW5zdGFuY2Vv
ZiBGdW5jdGlvbiBpcyB0cnVlCitQQVNTIENsaXBib2FyZC5wcm90b3R5cGUucmVhZCBpbnN0YW5j
ZW9mIEZ1bmN0aW9uIGlzIHRydWUKK1BBU1MgQ2xpcGJvYXJkLnByb3RvdHlwZS53cml0ZSBpbnN0
YW5jZW9mIEZ1bmN0aW9uIGlzIHRydWUKK1BBU1MgQ2xpcGJvYXJkKCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogSWxsZWdhbCBjb25zdHJ1Y3Rvci4KK1BBU1MgbmV3IENsaXBib2FyZCgpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IGZ1bmN0aW9uIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChl
dmFsdWF0aW5nICduZXcgQ2xpcGJvYXJkKCknKS4KK1BBU1MgQ2xpcGJvYXJkLnRvU3RyaW5nKCkg
aXMgImZ1bmN0aW9uIENsaXBib2FyZCgpIHtcbiAgICBbbmF0aXZlIGNvZGVdXG59IgorUEFTUyBu
YXZpZ2F0b3IuY2xpcGJvYXJkLnRvU3RyaW5nKCkgaXMgIltvYmplY3QgQ2xpcGJvYXJkXSIKK1BB
U1MgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoJ2ZvbycpIGluc3RhbmNlb2YgUHJvbWlz
ZSBpcyB0cnVlCitQQVNTIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUoWyBdKSBpbnN0YW5jZW9m
IFByb21pc2UgaXMgdHJ1ZQorUEFTUyBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKSBpbnN0YW5j
ZW9mIFByb21pc2UgaXMgdHJ1ZQorUEFTUyBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWRUZXh0KCkg
aW5zdGFuY2VvZiBQcm9taXNlIGlzIHRydWUKK1BBU1MgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0
ZSgpIHJlamVjdGVkIHdpdGggVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cworUEFTUyBu
YXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCgpIHJlamVjdGVkIHdpdGggVHlwZUVycm9yOiBO
b3QgZW5vdWdoIGFyZ3VtZW50cworUEFTUyBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlKCdmb28n
KSByZWplY3RlZCB3aXRoIFR5cGVFcnJvcjogVmFsdWUgaXMgbm90IGEgc2VxdWVuY2UKK1BBU1Mg
bmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZShbMSwgMiwgM10pIHJlamVjdGVkIHdpdGggVHlwZUVy
cm9yOiBUeXBlIGVycm9yCitQQVNTIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUobmV3IENsaXBi
b2FyZEl0ZW0oeyB9KSkgcmVqZWN0ZWQgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IKKworVGVz
dGluZyBDbGlwYm9hcmRJdGVtOgorUEFTUyBDbGlwYm9hcmRJdGVtIGluc3RhbmNlb2YgRnVuY3Rp
b24gaXMgdHJ1ZQorUEFTUyB0eXBlb2YgQ2xpcGJvYXJkSXRlbSBpcyAiZnVuY3Rpb24iCitQQVNT
IENsaXBib2FyZEl0ZW0ucHJvdG90eXBlLmdldFR5cGUgaW5zdGFuY2VvZiBGdW5jdGlvbiBpcyB0
cnVlCitQQVNTIENsaXBib2FyZEl0ZW0oKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBDb25z
dHJ1Y3RvciByZXF1aXJlcyAnbmV3JyBvcGVyYXRvci4KK1BBU1MgbmV3IENsaXBib2FyZEl0ZW0o
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1Mg
bmV3IENsaXBib2FyZEl0ZW0oJ2ZvbycpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUg
ZXJyb3IuCitQQVNTIG5ldyBDbGlwYm9hcmRJdGVtKHsgfSkgaW5zdGFuY2VvZiBDbGlwYm9hcmRJ
dGVtIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldFByb3RvdHlwZU9mKG5ldyBDbGlwYm9hcmRJdGVt
KHsgfSkpID09PSBDbGlwYm9hcmRJdGVtLnByb3RvdHlwZSBpcyB0cnVlCitQQVNTIG5ldyBDbGlw
Ym9hcmRJdGVtKHsgfSkudHlwZXMgaW5zdGFuY2VvZiBBcnJheSBpcyB0cnVlCitQQVNTIENsaXBi
b2FyZEl0ZW0udG9TdHJpbmcoKSBpcyAiZnVuY3Rpb24gQ2xpcGJvYXJkSXRlbSgpIHtcbiAgICBb
bmF0aXZlIGNvZGVdXG59IgorUEFTUyBuZXcgQ2xpcGJvYXJkSXRlbSh7IH0pLnRvU3RyaW5nKCkg
aXMgIltvYmplY3QgQ2xpcGJvYXJkSXRlbV0iCitQQVNTIG5ldyBDbGlwYm9hcmRJdGVtKHsgfSwg
eyBmb286ICdhdHRhY2htZW50JyB9KS5wcmVzZW50YXRpb25TdHlsZSBpcyAidW5zcGVjaWZpZWQi
CitQQVNTIG5ldyBDbGlwYm9hcmRJdGVtKHsgfSwgeyBwcmVzZW50YXRpb25TdHlsZTogJ0F0dGFD
SG1lblQnIH0pLnByZXNlbnRhdGlvblN0eWxlIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5
cGUgZXJyb3IuCitQQVNTIG5ldyBDbGlwYm9hcmRJdGVtKHsgfSwgeyBwcmVzZW50YXRpb25TdHls
ZTogJ3Vuc3BlY2lmaWVkJyB9KS5wcmVzZW50YXRpb25TdHlsZSBpcyAidW5zcGVjaWZpZWQiCitQ
QVNTIG5ldyBDbGlwYm9hcmRJdGVtKHsgfSwgeyBwcmVzZW50YXRpb25TdHlsZTogJ2F0dGFjaG1l
bnQnIH0pLnByZXNlbnRhdGlvblN0eWxlIGlzICJhdHRhY2htZW50IgorUEFTUyBuZXcgQ2xpcGJv
YXJkSXRlbSh7IH0sIHsgcHJlc2VudGF0aW9uU3R5bGU6ICdpbmxpbmUnIH0pLnByZXNlbnRhdGlv
blN0eWxlIGlzICJpbmxpbmUiCitQQVNTIG5ldyBDbGlwYm9hcmRJdGVtKHsgfSwgJ2lubGluZScp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9jbGlwYm9hcmQvY2xpcGJvYXJkLWludGVyZmFjZXMuaHRtbCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvY2xpcGJvYXJkL2NsaXBib2FyZC1pbnRlcmZhY2VzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzVhMjY3NjgyMTQ4ZTNlYzZkNzA1NzAxNDNlMjFkZjNlZWRiNTU1NAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvY2xpcGJvYXJkL2NsaXBib2FyZC1pbnRlcmZhY2Vz
Lmh0bWwKQEAgLTAsMCArMSw2OCBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgZXhwZXJpbWVudGFsOmFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+
Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gc2hvdWxk
UmVqZWN0KHNjcmlwdFRvRXZhbHVhdGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgdGVzdEZhaWxlZChgJHtzY3JpcHRUb0V2YWx1YXRlfSByZXNvbHZlZCB0
byAke2F3YWl0IGV2YWwoc2NyaXB0VG9FdmFsdWF0ZSl9YCk7CisgICAgICAgICAgICB9IGNhdGNo
IChleGNlcHRpb24pIHsKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKGAke3NjcmlwdFRvRXZh
bHVhdGV9IHJlamVjdGVkIHdpdGggJHtleGNlcHRpb259YCk7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KKworICAgICAgICBhc3luYyBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICAgICAgeworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoZSBpbnRlcmZhY2VzIG9mIHRoZSBhc3luYyBj
bGlwYm9hcmQgQVBJLCB3aGljaCBpbmNsdWRlIENsaXBib2FyZCwgQ2xpcGJvYXJkSXRlbSwgYW5k
IGV4dGVuc2lvbnMgdG8gTmF2aWdhdG9yLiIpOworCisgICAgICAgICAgICBkZWJ1ZygiXG5UZXN0
aW5nIENsaXBib2FyZDoiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiQ2xpcGJvYXJkIGlu
c3RhbmNlb2YgRnVuY3Rpb24iKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
dHlwZW9mIENsaXBib2FyZCIsICJmdW5jdGlvbiIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVl
KCJuYXZpZ2F0b3IuY2xpcGJvYXJkIGluc3RhbmNlb2YgQ2xpcGJvYXJkIik7CisgICAgICAgICAg
ICBzaG91bGRCZVRydWUoIk9iamVjdC5nZXRQcm90b3R5cGVPZihuYXZpZ2F0b3IuY2xpcGJvYXJk
KSA9PT0gQ2xpcGJvYXJkLnByb3RvdHlwZSIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJD
bGlwYm9hcmQucHJvdG90eXBlLnJlYWRUZXh0IGluc3RhbmNlb2YgRnVuY3Rpb24iKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlVHJ1ZSgiQ2xpcGJvYXJkLnByb3RvdHlwZS53cml0ZVRleHQgaW5zdGFu
Y2VvZiBGdW5jdGlvbiIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJDbGlwYm9hcmQucHJv
dG90eXBlLnJlYWQgaW5zdGFuY2VvZiBGdW5jdGlvbiIpOworICAgICAgICAgICAgc2hvdWxkQmVU
cnVlKCJDbGlwYm9hcmQucHJvdG90eXBlLndyaXRlIGluc3RhbmNlb2YgRnVuY3Rpb24iKTsKKyAg
ICAgICAgICAgIHNob3VsZFRocm93KCJDbGlwYm9hcmQoKSIpOworICAgICAgICAgICAgc2hvdWxk
VGhyb3coIm5ldyBDbGlwYm9hcmQoKSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJDbGlwYm9hcmQudG9TdHJpbmcoKSIsICJmdW5jdGlvbiBDbGlwYm9hcmQoKSB7XG4gICAg
W25hdGl2ZSBjb2RlXVxufSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJu
YXZpZ2F0b3IuY2xpcGJvYXJkLnRvU3RyaW5nKCkiLCAiW29iamVjdCBDbGlwYm9hcmRdIik7Cisg
ICAgICAgICAgICBzaG91bGRCZVRydWUoIm5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KCdm
b28nKSBpbnN0YW5jZW9mIFByb21pc2UiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgibmF2
aWdhdG9yLmNsaXBib2FyZC53cml0ZShbIF0pIGluc3RhbmNlb2YgUHJvbWlzZSIpOworICAgICAg
ICAgICAgc2hvdWxkQmVUcnVlKCJuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKSBpbnN0YW5jZW9m
IFByb21pc2UiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgibmF2aWdhdG9yLmNsaXBib2Fy
ZC5yZWFkVGV4dCgpIGluc3RhbmNlb2YgUHJvbWlzZSIpOworICAgICAgICAgICAgYXdhaXQgc2hv
dWxkUmVqZWN0KCJuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlKCkiKTsKKyAgICAgICAgICAgIGF3
YWl0IHNob3VsZFJlamVjdCgibmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoKSIpOworICAg
ICAgICAgICAgYXdhaXQgc2hvdWxkUmVqZWN0KCJuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlKCdm
b28nKSIpOworICAgICAgICAgICAgYXdhaXQgc2hvdWxkUmVqZWN0KCJuYXZpZ2F0b3IuY2xpcGJv
YXJkLndyaXRlKFsxLCAyLCAzXSkiKTsKKyAgICAgICAgICAgIGF3YWl0IHNob3VsZFJlamVjdCgi
bmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZShuZXcgQ2xpcGJvYXJkSXRlbSh7IH0pKSIpOworCisg
ICAgICAgICAgICBkZWJ1ZygiXG5UZXN0aW5nIENsaXBib2FyZEl0ZW06Iik7CisgICAgICAgICAg
ICBzaG91bGRCZVRydWUoIkNsaXBib2FyZEl0ZW0gaW5zdGFuY2VvZiBGdW5jdGlvbiIpOworICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0eXBlb2YgQ2xpcGJvYXJkSXRlbSIsICJm
dW5jdGlvbiIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJDbGlwYm9hcmRJdGVtLnByb3Rv
dHlwZS5nZXRUeXBlIGluc3RhbmNlb2YgRnVuY3Rpb24iKTsKKyAgICAgICAgICAgIHNob3VsZFRo
cm93KCJDbGlwYm9hcmRJdGVtKCkiKTsKKyAgICAgICAgICAgIHNob3VsZFRocm93KCJuZXcgQ2xp
cGJvYXJkSXRlbSgpIik7CisgICAgICAgICAgICBzaG91bGRUaHJvdygibmV3IENsaXBib2FyZEl0
ZW0oJ2ZvbycpIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIm5ldyBDbGlwYm9hcmRJdGVt
KHsgfSkgaW5zdGFuY2VvZiBDbGlwYm9hcmRJdGVtIik7CisgICAgICAgICAgICBzaG91bGRCZVRy
dWUoIk9iamVjdC5nZXRQcm90b3R5cGVPZihuZXcgQ2xpcGJvYXJkSXRlbSh7IH0pKSA9PT0gQ2xp
cGJvYXJkSXRlbS5wcm90b3R5cGUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgibmV3IENs
aXBib2FyZEl0ZW0oeyB9KS50eXBlcyBpbnN0YW5jZW9mIEFycmF5Iik7CisgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoIkNsaXBib2FyZEl0ZW0udG9TdHJpbmcoKSIsICJmdW5jdGlv
biBDbGlwYm9hcmRJdGVtKCkge1xuICAgIFtuYXRpdmUgY29kZV1cbn0iKTsKKyAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IENsaXBib2FyZEl0ZW0oeyB9KS50b1N0cmluZygp
IiwgIltvYmplY3QgQ2xpcGJvYXJkSXRlbV0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygibmV3IENsaXBib2FyZEl0ZW0oeyB9LCB7IGZvbzogJ2F0dGFjaG1lbnQnIH0pLnBy
ZXNlbnRhdGlvblN0eWxlIiwgInVuc3BlY2lmaWVkIik7CisgICAgICAgICAgICBzaG91bGRUaHJv
dygibmV3IENsaXBib2FyZEl0ZW0oeyB9LCB7IHByZXNlbnRhdGlvblN0eWxlOiAnQXR0YUNIbWVu
VCcgfSkucHJlc2VudGF0aW9uU3R5bGUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygibmV3IENsaXBib2FyZEl0ZW0oeyB9LCB7IHByZXNlbnRhdGlvblN0eWxlOiAndW5zcGVj
aWZpZWQnIH0pLnByZXNlbnRhdGlvblN0eWxlIiwgInVuc3BlY2lmaWVkIik7CisgICAgICAgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBDbGlwYm9hcmRJdGVtKHsgfSwgeyBwcmVzZW50
YXRpb25TdHlsZTogJ2F0dGFjaG1lbnQnIH0pLnByZXNlbnRhdGlvblN0eWxlIiwgImF0dGFjaG1l
bnQiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IENsaXBib2FyZEl0
ZW0oeyB9LCB7IHByZXNlbnRhdGlvblN0eWxlOiAnaW5saW5lJyB9KS5wcmVzZW50YXRpb25TdHls
ZSIsICJpbmxpbmUiKTsKKyAgICAgICAgICAgIHNob3VsZFRocm93KCJuZXcgQ2xpcGJvYXJkSXRl
bSh7IH0sICdpbmxpbmUnKSIpOworCisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgfQorICAgIDwvc2NyaXB0PgorICAgIDxib2R5IG9ubG9hZD1ydW5UZXN0KCk+PC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFj
aGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL25hdmlnYXRv
ci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggZjJmNjNlODU2NTBkNjIxYzQ2
YTE3MDFhZDI1N2QyZDQyZjg3NjczZi4uMjdmYmJlYTFhNDE5ZjFkMWZlM2Y0NmUxZDJhNjM0ZGM1
MTNjYjBmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFj
aGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9uYXZp
Z2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC01LDYgKzUsNyBAQCBUaGlz
IHRlc3RzIHRoYXQgdGhlIG5hdmlnYXRvciBvYmplY3Qgb2YgYSBkZWxldGVkIGZyYW1lIGlzIGRp
c2Nvbm5lY3RlZCBwcm9wZXJseQogbmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0
b3IuYXBwTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25hdmlnYXRvci5j
bGlwYm9hcmQgaXMgT0sKIG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBuYXZpZ2F0b3Iu
Y3JlZGVudGlhbHMgaXMgT0sKIG5hdmlnYXRvci5nZXRTdG9yYWdlVXBkYXRlcygpIGlzIE9LCkBA
IC0zMSw2ICszMiw3IEBAIG5hdmlnYXRvci53ZWJkcml2ZXIgaXMgT0sKIG5hdmlnYXRvci5hcHBD
b2RlTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJz
aW9uIGlzIE9LCituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5h
YmxlZCBpcyBPSwogbmF2aWdhdG9yLmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3Rv
cmFnZVVwZGF0ZXMoKSBpcyBPSwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDVlNjQwMzhhZDhlNjdkNjliYzcxMzljOWI3ZDkzNzFiZTU3YjZj
YzcuLjEzODhmOTE1ZWU5ODg0YTZkMGUzZGQ2NTgxMzZmZjA5ZDM1OGIyYmIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE0LDYgKzE0LDkg
QEAgaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXF1ZXN0L2Rlc3RpbmF0aW9uIFsgU2tpcCBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2Nyb3NzLW9yaWdpbi1yZXNvdXJjZS1w
b2xpY3kgWyBTa2lwIF0KIAorIyBBc3luYyBDbGlwYm9hcmQgQVBJIGlzIG5vdCBzdXBwb3J0ZWQg
aW4gV2ViS2l0MS4KK2VkaXRpbmcvY2xpcGJvYXJkIFsgU2tpcCBdCisKICMgU2tpcCBXZWJSVEMg
Zm9yIG5vdyBpbiBXSzEKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjIFsg
U2tpcCBdCiB3ZWJydGMgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy1oaWdoc2llcnJhL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtaGlnaHNpZXJyYS9mYXN0L2RvbS9u
YXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IDg1MDgwNzYwNzU1
ZTBiZDUwMDU5Yzg3N2ZkZWJjMmU3NDM2NDczYmUuLjI4NWIxZTdhY2Q1MDAwNTE5NWIwZDhlODVj
MTllYzk4MjdlOTM1NDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1oaWdo
c2llcnJhL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWhpZ2hzaWVycmEvZmFzdC9kb20vbmF2aWdh
dG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtNCw2ICs0LDcgQEAgVGhpcyB0
ZXN0cyB0aGF0IHRoZSBuYXZpZ2F0b3Igb2JqZWN0IG9mIGEgZGVsZXRlZCBmcmFtZSBpcyBkaXNj
b25uZWN0ZWQgcHJvcGVybHkKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdhdG9y
LmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3IuY2xp
cGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9yLmNy
ZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwpAQCAt
MjgsNiArMjksNyBAQCBuYXZpZ2F0b3Iud2ViZHJpdmVyIGlzIE9LCiBuYXZpZ2F0b3IuYXBwQ29k
ZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwVmVyc2lv
biBpcyBPSworbmF2aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tpZUVuYWJs
ZWQgaXMgT0sKIG5hdmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwogbmF2aWdhdG9yLmdldFN0b3Jh
Z2VVcGRhdGVzKCkgaXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCBiMDBjYmQ2ZTkyOGQwMjViYjM2YzM2NGY0MDE1YTM3MWE5MmU1YWI1
Li5kYWRlOGM4MTExZDM3NjU2NWQ0MTk3MGI3Mzc4MWZiYzZlOTZiODcyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC00NCw2ICs0NCw5IEBA
IGNzcy1jdXN0b20tcHJvcGVydGllcy1hcGkgWyBTa2lwIF0KIGNzcy10eXBlZG9tIFsgU2tpcCBd
CiBjc3MtZGFyay1tb2RlIFsgU2tpcCBdCiAKKyMgQXN5bmMgQ2xpcGJvYXJkIEFQSSBpcyBub3Qg
c3VwcG9ydGVkIGluIFdlYktpdDEuCitlZGl0aW5nL2NsaXBib2FyZCBbIFNraXAgXQorCiB3ZWJn
cHUgWyBTa2lwIF0KIGluc3BlY3Rvci9jYW52YXMvY3JlYXRlLWNvbnRleHQtd2ViZ3B1Lmh0bWwg
WyBTa2lwIF0KIGluc3BlY3Rvci9jYW52YXMvcmVxdWVzdENsaWVudE5vZGVzLXdlYmdwdS5odG1s
IFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3Qv
ZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1l
eHBlY3RlZC50eHQKaW5kZXggM2NmMGRiMmJkODE4YzdlZDA3OTAyOTdkNTIxYTViNTM1NDBmZDlm
OC4uMzQxMjg0MDE3YjQyNzQ0ZDFiZDExYjU5ZDYyYTE4NWYyZDcwZGM5YSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQt
bm8tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
ZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtNSw2
ICs1LDcgQEAgVGhpcyB0ZXN0cyB0aGF0IHRoZSBuYXZpZ2F0b3Igb2JqZWN0IG9mIGEgZGVsZXRl
ZCBmcmFtZSBpcyBkaXNjb25uZWN0ZWQgcHJvcGVybHkKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBp
cyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9L
CituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBP
SwogbmF2aWdhdG9yLmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0
ZXMoKSBpcyBPSwpAQCAtMzEsNiArMzIsNyBAQCBuYXZpZ2F0b3Iud2ViZHJpdmVyIGlzIE9LCiBu
YXZpZ2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZp
Z2F0b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdh
dG9yLmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5hdmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwogbmF2
aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkgaXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRh
Y2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggMzMzZWM5NjA4ZDhkNGRmNTdjMWZmMGYy
ZDdlNGUyNTM3OGJhMzczZi4uZmYxYzUyMWQxMDEwODA2ZTkwZDU3MDVkZTQ0MzI0MzI0MzdhZjlj
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZG9tL25hdmlnYXRv
ci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQK
QEAgLTQsNiArNCw3IEBAIFRoaXMgdGVzdHMgdGhhdCB0aGUgbmF2aWdhdG9yIG9iamVjdCBvZiBh
IGRlbGV0ZWQgZnJhbWUgaXMgZGlzY29ubmVjdGVkIHByb3Blcmx5CiBuYXZpZ2F0b3IuYXBwQ29k
ZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwVmVyc2lv
biBpcyBPSworbmF2aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tpZUVuYWJs
ZWQgaXMgT0sKIG5hdmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwogbmF2aWdhdG9yLmdldFN0b3Jh
Z2VVcGRhdGVzKCkgaXMgT0sKQEAgLTI3LDYgKzI4LDcgQEAgbmF2aWdhdG9yLndlYmRyaXZlciBp
cyBPSwogbmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwTmFtZSBpcyBP
SwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25hdmlnYXRvci5jbGlwYm9hcmQgaXMgT0sK
IG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBuYXZpZ2F0b3IuY3JlZGVudGlhbHMgaXMg
T0sKIG5hdmlnYXRvci5nZXRTdG9yYWdlVXBkYXRlcygpIGlzIE9LCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNo
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2RvbS9uYXZpZ2F0
b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IDljY2NlYWM1OTMyNTA0ZDFi
N2ExMGIxZmM5MTVlZjNlNWMxNTllZTMuLjIxODhlZmE3ZjMyYzk0ZjdjMzg5NmM0YjE3N2RhNTk3
MzNmNjAzODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2RvbS9u
YXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0
ZWQudHh0CkBAIC00LDYgKzQsNyBAQCBUaGlzIHRlc3RzIHRoYXQgdGhlIG5hdmlnYXRvciBvYmpl
Y3Qgb2YgYSBkZWxldGVkIGZyYW1lIGlzIGRpc2Nvbm5lY3RlZCBwcm9wZXJseQogbmF2aWdhdG9y
LmFwcENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFw
cFZlcnNpb24gaXMgT0sKK25hdmlnYXRvci5jbGlwYm9hcmQgaXMgT0sKIG5hdmlnYXRvci5jb29r
aWVFbmFibGVkIGlzIE9LCiBuYXZpZ2F0b3IuY3JlZGVudGlhbHMgaXMgT0sKIG5hdmlnYXRvci5n
ZXRTdG9yYWdlVXBkYXRlcygpIGlzIE9LCkBAIC0yNCw2ICsyNSw3IEBAIG5hdmlnYXRvci53ZWJk
cml2ZXIgaXMgT0sKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcE5h
bWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3IuY2xpcGJvYXJk
IGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9yLmNyZWRlbnRp
YWxzIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFj
aGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJv
L2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXgg
YjNiMjUyZmRlN2UwOTY1MzM5ODI2NGVmZDVlMGM4YzcwODhmNjQ1Ny4uZDE5YzU3NmE1MTdmYjJh
MzJhY2JlOGUzZmM0NzdhN2QxZGFiMGYxMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luY2Fpcm8vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9mYXN0L2RvbS9uYXZpZ2F0
b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0zLDYgKzMsNyBAQCBUaGlzIHRl
c3RzIHRoYXQgdGhlIG5hdmlnYXRvciBvYmplY3Qgb2YgYSBkZWxldGVkIGZyYW1lIGlzIGRpc2Nv
bm5lY3RlZCBwcm9wZXJseQogbmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0b3Iu
YXBwTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25hdmlnYXRvci5jbGlw
Ym9hcmQgaXMgT0sKIG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0
U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwogbmF2aWdhdG9yLmphdmFFbmFibGVkKCkgaXMgT0sKQEAg
LTIxLDYgKzIyLDcgQEAgbmF2aWdhdG9yLndlYmRyaXZlciBpcyBPSwogbmF2aWdhdG9yLmFwcENv
ZGVOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcFZlcnNp
b24gaXMgT0sKK25hdmlnYXRvci5jbGlwYm9hcmQgaXMgT0sKIG5hdmlnYXRvci5jb29raWVFbmFi
bGVkIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwogbmF2aWdhdG9y
LmphdmFFbmFibGVkKCkgaXMgT0sK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380374</attachid>
            <date>2019-10-07 17:09:07 -0700</date>
            <delta_ts>2019-10-07 17:31:00 -0700</delta_ts>
            <desc>Incorporate review feedback + rebase on trunk</desc>
            <filename>bug-202622-20191007170906.patch</filename>
            <type>text/plain</type>
            <size>67997</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwODA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODQ1MjdlMTUwMjJiNmZi
YjU1M2Y2MGQzZWMxZGUxODRjYzZmZDQ4Zi4uNWJmNzA5ZTA0MGNkODMzYzQ0OTVjMGRlMzA1OTUz
Nzc0YmE0M2FlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc5IEBACisyMDE5LTEwLTA3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtDbGlwYm9hcmQg
QVBJXSBJbnRyb2R1Y2UgYmluZGluZ3MgZm9yIHRoZSBhc3luYyBDbGlwYm9hcmQgQVBJCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI2MjIKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzU2MDM4MTI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1
a2UgTml3YS4KKworICAgICAgICBUZXN0czogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLWludGVyZmFjZXMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLXdyYXBwZXItc3RheXMtYWxpdmUuaHRtbAorCisgICAgICAgIEFkZHMgSURM
IGZvciB0aGUgYXN5bmMgY2xpcGJvYXJkIEFQSSAod2l0aCB0aGUgZXhjZXB0aW9uIG9mIGRlbGF5
ZWQgaXRlbSBnZW5lcmF0aW9uIGludGVyZmFjZXMsIHdoaWNoCisgICAgICAgIEknbGwgaXRlcmF0
ZSBvbiBhbmQgaW50cm9kdWNlIHNlcGFyYXRlbHkpLiBTZWU6IGh0dHBzOi8vdzNjLmdpdGh1Yi5p
by9jbGlwYm9hcmQtYXBpcy8jYXN5bmMtY2xpcGJvYXJkLWFwaSBmb3IKKyAgICAgICAgbW9yZSBp
bmZvcm1hdGlvbi4KKworICAgICAgICBUZXN0OiBlZGl0aW5nL2NsaXBib2FyZC9jbGlwYm9hcmQt
aW50ZXJmYWNlcy5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
LW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAg
ICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNsaXBib2FyZDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZDo6
Q2xpcGJvYXJkKToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZDo6bmF2aWdhdG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZDo6ZXZlbnRUYXJnZXRJbnRlcmZhY2UgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZDo6cmVhZFRleHQpOgorICAgICAgICAoV2Vi
Q29yZTo6Q2xpcGJvYXJkOjp3cml0ZVRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJk
OjpyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZDo6d3JpdGUpOgorCisgICAgICAg
IFN0dWIgb3V0IHRoZXNlIEFQSSBjYWxscyBmb3Igbm93IGJ5IGltbWVkaWF0ZWx5IHJlamVjdGlu
ZyB0aGUgZ2l2ZW4gcHJvbWlzZS4KKworICAgICAgICAqIE1vZHVsZXMvYXN5bmMtY2xpcGJvYXJk
L0NsaXBib2FyZC5oOgorICAgICAgICAqIE1vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2Fy
ZC5pZGw6CisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkSXRlbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmRJdGVtOjpDbGlwYm9hcmRJdGVtKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZEl0ZW06OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpDbGlwYm9hcmRJdGVtOjp0eXBlcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9h
cmRJdGVtOjpnZXRUeXBlKToKKworICAgICAgICBTdHViIG91dCB0aGVzZSBBUEkgY2FsbHMgZm9y
IG5vdyBieSBpbW1lZGlhdGVseSByZWplY3RpbmcgdGhlIGdpdmVuIHByb21pc2UuCisKKyAgICAg
ICAgKFdlYkNvcmU6Om5hdmlnYXRvcik6CisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9h
cmQvQ2xpcGJvYXJkSXRlbS5oOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkSXRlbTo6cHJl
c2VudGF0aW9uU3R5bGUgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvYXN5bmMtY2xpcGJvYXJk
L0NsaXBib2FyZEl0ZW0uaWRsOgorICAgICAgICAqIE1vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL05h
dmlnYXRvckNsaXBib2FyZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDbGlwYm9h
cmQ6Ok5hdmlnYXRvckNsaXBib2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDbGlw
Ym9hcmQ6OmNsaXBib2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDbGlwYm9hcmQ6
OmZyb20pOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yQ2xpcGJvYXJkOjpzdXBwbGVtZW50
TmFtZSk6CisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJv
YXJkLmg6CisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJv
YXJkLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2su
Y3BwOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHA6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwOgorICAgICAgICAq
IE1vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lLmg6CisKKyAgICAgICAgTW9yZSB1bmlmaWVk
IHNvdXJjZXMtcmVsYXRlZCBidWlsZCBmaXhlcy4KKworICAgICAgICAqIFNvdXJjZXMudHh0Ogor
ICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBi
aW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogZG9tL0RldmljZU9y
aWVudGF0aW9uT3JNb3Rpb25FdmVudC5jcHA6CisKKyAgICAgICAgVW5pZmllZCBzb3VyY2VzLXJl
bGF0ZWQgYnVpbGQgZml4LgorCisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbjoK
KyAgICAgICAgKiBmZWF0dXJlcy5qc29uOgorCisgICAgICAgIEFkZCBBc3luYyBDbGlwYm9hcmQg
QVBJIGFzIGEgZmVhdHVyZSBpbiBkZXZlbG9wbWVudCBvbiB3ZWJraXQub3JnLgorCisgICAgICAg
ICogcGFnZS9TZXR0aW5ncy55YW1sOgorCiAyMDE5LTEwLTA3ICBZdXN1a2UgU3V6dWtpICA8eXN1
enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgYnVpbGQgZml4IGZvciBXaW5k
b3dzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IDEyMzQyYzc2OTZhMWRiODQ3MDU5MjA1NWFhNzU0NjI0NjA2NzRjYmMu
LjlmMzM2YTg4NTZjNzY5Nzk3MDQ5ZGNhYzAzZjRhZjg5NmU3NGMyNDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTktMTAtMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgW0NsaXBib2FyZCBBUEldIEludHJvZHVjZSBiaW5kaW5ncyBmb3Ig
dGhlIGFzeW5jIENsaXBib2FyZCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwMjYyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTYwMzgxMjY+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIEFkZHMgYSBu
ZXcgZXhwZXJpbWVudGFsIGZlYXR1cmUgZmxhZy4gU2VlIFdlYkNvcmUgQ2hhbmdlTG9nIGZvciBt
b3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbDoKKwog
MjAxOS0xMC0wNyAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAog
ICAgICAgICBEb21haW4gcmVsYXRpb25zaGlwcyBpbiB0aGUgSVRQIERhdGFiYXNlIHNob3VsZCBi
ZSBpbnNlcnRlZCBpbiBhIHNpbmdsZSBxdWVyeSBhbmQgaWdub3JlIHJlcGVhdCBpbnNlcnQgYXR0
ZW1wdHMuICgyMDI2MDQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDgyNjJiZTY4YzgyNDA4YmY3
MTU2YTFjODFmZGQ3YjYyZmI0YjVjMWMuLmM3OTJhOWZmZTM1N2Q1Yzc4NzdmZmYyNWNiYWQxNWU0
ZDA5ODlmOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yOCw2ICsyOCw3IEBAIHNldChXZWJD
b3JlX1BSSVZBVEVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1
bGVzL2FwcGxlcGF5IgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1l
bnRyZXF1ZXN0IgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2FwcGxpY2F0aW9ubWFuaWZl
c3QiCisgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkIgogICAgICIk
e1dFQkNPUkVfRElSfS9Nb2R1bGVzL2JlYWNvbiIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxl
cy9jYWNoZSIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVu
dCIKQEAgLTIyMyw2ICsyMjQsMTAgQEAgc2V0KFdlYkNvcmVfSURMX0lOQ0xVREVTCiBzZXQoV2Vi
Q29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvYWlycGxheS9XZWJLaXRQbGF5YmFj
a1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50LmlkbAogCisgICAgTW9kdWxlcy9hc3luYy1jbGlwYm9h
cmQvQ2xpcGJvYXJkLmlkbAorICAgIE1vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZEl0
ZW0uaWRsCisgICAgTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmlk
bAorCiAgICAgTW9kdWxlcy9iZWFjb24vTmF2aWdhdG9yQmVhY29uLmlkbAogCiAgICAgTW9kdWxl
cy9jYWNoZS9DYWNoZVF1ZXJ5T3B0aW9ucy5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDJmOThmOWUzMTVlYjZmODNlMDMzNGNhN2Y3
ODQ4ZTNkZWE0ZDEyMDkuLmU4ZjdhNmIwNzFhMjdhYzFiNmE4MTNkODdiOTQ1MDVhOWUyMWM5OTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApA
QCAtNDcsNiArNDcsOSBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
U2hpcHBpbmdNZXRob2RVcGRhdGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLmlkbAogJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVJlcXVlc3QuaWRs
CiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuaWRsCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJk
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9iZWFjb24vTmF2aWdhdG9yQmVhY29uLmlkbAog
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9jYWNoZS9DYWNoZVF1ZXJ5T3B0aW9ucy5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGUuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDkzYzVjODY3NTg1OTRhYTBh
MDdkYjYyYjBjOGUwNGQzNDRiODc4MWEuLjdkZmI4OTc3NzY5MTc1OWU1MWRmYTBlYmQ2Mzk4MjBj
MWZiYTYyZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0CkBAIC0yOTAsOCArMjkwLDEyIEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQ2hhcmFjdGVyRGF0YS5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2hhcmFjdGVyRGF0YS5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NoaWxkTm9kZS5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2hpbGROb2RlLmgKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2xpcGJvYXJkLmNw
cAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDbGlwYm9h
cmQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDbGlw
Ym9hcmRFdmVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTQ2xpcGJvYXJkRXZlbnQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNDbGlwYm9hcmRJdGVtLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDbGlwYm9hcmRJdGVtLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2xvc2VFdmVudC5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2xvc2VFdmVudC5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NvbW1hbmRMaW5lQVBJSG9z
dC5jcHAKQEAgLTEwNjcsNiArMTA3MSw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3JCZWFjb24uY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvckJlYWNvbi5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvckNs
aXBib2FyZC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTmF2aWdhdG9yQ2xpcGJvYXJkLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yQ3JlZGVudGlhbHMuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvckNyZWRlbnRpYWxzLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yRU1F
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMjg0MGVmZDZmYWU2OTQwNzlj
MWMwMTRjMzNiYTAxNTAwZjMyOTg3Yy4uMzdhM2I0MzQwNTgxYTk5YjM3MzYzMDUxMjlkZDA0MzBl
ZTY0ZDVhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0zMSw2ICszMSw3IEBA
IFZQQVRIID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9haXJwbGF5IFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvYXBwbGVwYXkgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9w
YXltZW50cmVxdWVzdCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2JlYWNvbiBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L2NhY2hlIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY3JlZGVudGlhbG1hbmFnZW1lbnQgXApA
QCAtMTIyLDYgKzEyMyw5IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmll
ci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9B
cHBsZVBheVJlcXVlc3QuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXN5bmMtY2xpcGJv
YXJkL0NsaXBib2FyZC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hc3luYy1jbGlwYm9h
cmQvQ2xpcGJvYXJkSXRlbS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hc3luYy1jbGlw
Ym9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2Jl
YWNvbi9OYXZpZ2F0b3JCZWFjb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY2FjaGUv
Q2FjaGVRdWVyeU9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY2FjaGUvRE9N
Q2FjaGUuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xp
cGJvYXJkL0NsaXBib2FyZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBi
b2FyZC9DbGlwYm9hcmQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkYzQ1ZGQyNWVkYWM2Y2JkYWZlODYwMmM3
YjMyODk4ODQ1ODBhZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuY3BwCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ2xpcGJvYXJkLmgiCisKKyNpbmNs
dWRlICJDbGlwYm9hcmRJdGVtLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlLmgiCisjaW5jbHVk
ZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3IuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoQ2xpcGJvYXJk
KTsKKworUmVmPENsaXBib2FyZD4gQ2xpcGJvYXJkOjpjcmVhdGUoTmF2aWdhdG9yJiBuYXZpZ2F0
b3IpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2xpcGJvYXJkKG5hdmlnYXRvcikpOwor
fQorCitDbGlwYm9hcmQ6OkNsaXBib2FyZChOYXZpZ2F0b3ImIG5hdmlnYXRvcikKKyAgICA6IG1f
bmF2aWdhdG9yKG1ha2VXZWFrUHRyKG5hdmlnYXRvcikpCit7Cit9CisKK05hdmlnYXRvciogQ2xp
cGJvYXJkOjpuYXZpZ2F0b3IoKQoreworICAgIHJldHVybiBtX25hdmlnYXRvci5nZXQoKTsKK30K
KworRXZlbnRUYXJnZXRJbnRlcmZhY2UgQ2xpcGJvYXJkOjpldmVudFRhcmdldEludGVyZmFjZSgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIENsaXBib2FyZEV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsK
K30KKworU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogQ2xpcGJvYXJkOjpzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9uYXZpZ2F0b3IgPyBtX25hdmlnYXRvci0+
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIDogbnVsbHB0cjsKK30KKwordm9pZCBDbGlwYm9hcmQ6
OnJlYWRUZXh0KFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBwcm9taXNl
LT5yZWplY3QoTm90U3VwcG9ydGVkRXJyb3IpOworfQorCit2b2lkIENsaXBib2FyZDo6d3JpdGVU
ZXh0KGNvbnN0IFN0cmluZyYgZGF0YSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQor
eworICAgIFVOVVNFRF9QQVJBTShkYXRhKTsKKyAgICBwcm9taXNlLT5yZWplY3QoTm90U3VwcG9y
dGVkRXJyb3IpOworfQorCit2b2lkIENsaXBib2FyZDo6cmVhZChSZWY8RGVmZXJyZWRQcm9taXNl
PiYmIHByb21pc2UpCit7CisgICAgcHJvbWlzZS0+cmVqZWN0KE5vdFN1cHBvcnRlZEVycm9yKTsK
K30KKwordm9pZCBDbGlwYm9hcmQ6OndyaXRlKGNvbnN0IFZlY3RvcjxSZWZQdHI8Q2xpcGJvYXJk
SXRlbT4+JiBpdGVtcywgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIFVO
VVNFRF9QQVJBTShpdGVtcyk7CisgICAgcHJvbWlzZS0+cmVqZWN0KE5vdFN1cHBvcnRlZEVycm9y
KTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlw
Ym9hcmQvQ2xpcGJvYXJkLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2Fy
ZC9DbGlwYm9hcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YmY0MzliMmMwMTRkN2Q3N2JmMzdmZTUzZmVhNjZl
MDQyMzI0NzkxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3lu
Yy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlIDx3dGYvSXNv
TWFsbG9jSW5saW5lcy5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgQ2xpcGJvYXJkSXRlbTsKK2NsYXNzIE5hdmlnYXRvcjsKKworY2xh
c3MgQ2xpcGJvYXJkIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Q2xpcGJvYXJkPiwgcHVibGlj
IEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQo
Q2xpcGJvYXJkKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPENsaXBib2FyZD4gY3JlYXRlKE5h
dmlnYXRvciYpOworCisgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZh
Y2UoKSBjb25zdCBmaW5hbDsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkgY29uc3QgZmluYWw7CisKKyAgICBOYXZpZ2F0b3IqIG5hdmlnYXRvcigp
OworCisgICAgdXNpbmcgUmVmQ291bnRlZDo6cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRl
cmVmOworCisgICAgdm9pZCByZWFkVGV4dChSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKyAgICB2
b2lkIHdyaXRlVGV4dChjb25zdCBTdHJpbmcmIGRhdGEsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYp
OworCisgICAgdm9pZCByZWFkKFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAgIHZvaWQgd3Jp
dGUoY29uc3QgVmVjdG9yPFJlZlB0cjxDbGlwYm9hcmRJdGVtPj4mIGRhdGEsIFJlZjxEZWZlcnJl
ZFByb21pc2U+JiYpOworCitwcml2YXRlOgorICAgIENsaXBib2FyZChOYXZpZ2F0b3ImKTsKKwor
ICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJl
ZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CisKKyAgICBXZWFrUHRyPE5hdmlnYXRv
cj4gbV9uYXZpZ2F0b3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmlkbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40ZjYxMjdhNTQ2ZDE3NjgwNmFjNGU4MjNlMjUwMTVkYmI4ZGYxOTVkCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJv
YXJkLmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwordHlwZWRlZiBzZXF1ZW5jZTxD
bGlwYm9hcmRJdGVtPiBDbGlwYm9hcmRJdGVtczsKKworWworICAgIFNlY3VyZUNvbnRleHQsCisg
ICAgRXhwb3NlZD1XaW5kb3csCisgICAgRW5hYmxlZEJ5U2V0dGluZz1Bc3luY0NsaXBib2FyZEFQ
SSwKKyAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPVJlYWNoYWJsZUZyb21OYXZpZ2F0b3IKK10gaW50
ZXJmYWNlIENsaXBib2FyZCA6IEV2ZW50VGFyZ2V0IHsKKyAgICBbTmV3T2JqZWN0XSBQcm9taXNl
PENsaXBib2FyZEl0ZW1zPiByZWFkKCk7CisgICAgW05ld09iamVjdF0gUHJvbWlzZTxET01TdHJp
bmc+IHJlYWRUZXh0KCk7CisgICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiB3cml0ZShDbGlw
Ym9hcmRJdGVtcyBkYXRhKTsKKyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPHZvaWQ+IHdyaXRlVGV4
dChET01TdHJpbmcgZGF0YSk7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkSXRlbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YjNlYzNj
MjA5ZTRkNzRkMzFlYjcxNGQwMTNlODI5NzVlNDVjODhiCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkSXRlbS5jcHAKQEAg
LTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJDbGlwYm9hcmRJdGVtLmgiCisKKyNpbmNsdWRlICJKU0RPTVByb21pc2UuaCIKKyNpbmNsdWRl
ICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK0NsaXBib2FyZEl0ZW06On5DbGlwYm9hcmRJdGVtKCkgPSBkZWZh
dWx0OworCitDbGlwYm9hcmRJdGVtOjpDbGlwYm9hcmRJdGVtKFZlY3RvcjxLZXlWYWx1ZVBhaXI8
U3RyaW5nLCBSZWZQdHI8RE9NUHJvbWlzZT4+PiYmIGl0ZW1zLCBjb25zdCBPcHRpb25zJiBvcHRp
b25zKQorICAgIDogbV9wcmVzZW50YXRpb25TdHlsZShvcHRpb25zLnByZXNlbnRhdGlvblN0eWxl
KQoreworICAgIFVOVVNFRF9QQVJBTShpdGVtcyk7Cit9CisKK1JlZjxDbGlwYm9hcmRJdGVtPiBD
bGlwYm9hcmRJdGVtOjpjcmVhdGUoVmVjdG9yPEtleVZhbHVlUGFpcjxTdHJpbmcsIFJlZlB0cjxE
T01Qcm9taXNlPj4+JiYgZGF0YSwgY29uc3QgT3B0aW9ucyYgb3B0aW9ucykKK3sKKyAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBDbGlwYm9hcmRJdGVtKFdURk1vdmUoZGF0YSksIG9wdGlvbnMpKTsK
K30KKworVmVjdG9yPFN0cmluZz4gQ2xpcGJvYXJkSXRlbTo6dHlwZXMoKSBjb25zdAoreworICAg
IHJldHVybiB7IH07Cit9CisKK3ZvaWQgQ2xpcGJvYXJkSXRlbTo6Z2V0VHlwZShjb25zdCBTdHJp
bmcmIHR5cGUsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBVTlVTRURf
UEFSQU0odHlwZSk7CisgICAgcHJvbWlzZS0+cmVqZWN0KE5vdFN1cHBvcnRlZEVycm9yKTsKK30K
KworTmF2aWdhdG9yKiBDbGlwYm9hcmRJdGVtOjpuYXZpZ2F0b3IoKQoreworICAgIC8vIEZJWE1F
OiBXaGVuIHN1cHBvcnQgZm9yIENsaXBib2FyZC5yZWFkKCkgaXMgaW1wbGVtZW50ZWQsIHRoaXMg
c2hvdWxkIGluc3RlYWQgcmV0dXJuIHRoZSBhc3NvY2lhdGVkIENsaXBib2FyZAorICAgIC8vIG9i
amVjdCdzIG5hdmlnYXRvciwgaWYgaXQgaXMgYXNzb2NpYXRlZCB3aXRoIGEgQ2xpcGJvYXJkLgor
ICAgIHJldHVybiBudWxscHRyOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVt
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVt
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZDgwZjRhOGQ2YzU3YTc2MGNhMTFhOTg2YzhjY2IzMDk5YThjZDZlNwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJk
L0NsaXBib2FyZEl0ZW0uaApAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlIDx3dGYvS2V5VmFsdWVQYWlyLmg+CisjaW5jbHVkZSA8d3RmL1JlZi5o
PgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGVmZXJyZWRQcm9taXNlOwor
Y2xhc3MgRE9NUHJvbWlzZTsKK2NsYXNzIE5hdmlnYXRvcjsKKworY2xhc3MgQ2xpcGJvYXJkSXRl
bSA6IHB1YmxpYyBSZWZDb3VudGVkPENsaXBib2FyZEl0ZW0+IHsKK3B1YmxpYzoKKyAgICB+Q2xp
cGJvYXJkSXRlbSgpOworCisgICAgZW51bSBjbGFzcyBQcmVzZW50YXRpb25TdHlsZSA6IHVpbnQ4
X3QgeyBVbnNwZWNpZmllZCwgSW5saW5lLCBBdHRhY2htZW50IH07CisKKyAgICBzdHJ1Y3QgT3B0
aW9ucyB7CisgICAgICAgIFByZXNlbnRhdGlvblN0eWxlIHByZXNlbnRhdGlvblN0eWxlIHsgUHJl
c2VudGF0aW9uU3R5bGU6OlVuc3BlY2lmaWVkIH07CisgICAgfTsKKworICAgIHN0YXRpYyBSZWY8
Q2xpcGJvYXJkSXRlbT4gY3JlYXRlKFZlY3RvcjxLZXlWYWx1ZVBhaXI8U3RyaW5nLCBSZWZQdHI8
RE9NUHJvbWlzZT4+PiYmLCBjb25zdCBPcHRpb25zJik7CisKKyAgICBWZWN0b3I8U3RyaW5nPiB0
eXBlcygpIGNvbnN0OworICAgIHZvaWQgZ2V0VHlwZShjb25zdCBTdHJpbmcmLCBSZWY8RGVmZXJy
ZWRQcm9taXNlPiYmKTsKKworICAgIFByZXNlbnRhdGlvblN0eWxlIHByZXNlbnRhdGlvblN0eWxl
KCkgY29uc3QgeyByZXR1cm4gbV9wcmVzZW50YXRpb25TdHlsZTsgfTsKKyAgICBOYXZpZ2F0b3Iq
IG5hdmlnYXRvcigpOworCitwcml2YXRlOgorICAgIENsaXBib2FyZEl0ZW0oVmVjdG9yPEtleVZh
bHVlUGFpcjxTdHJpbmcsIFJlZlB0cjxET01Qcm9taXNlPj4+JiYsIGNvbnN0IE9wdGlvbnMmKTsK
KworICAgIFByZXNlbnRhdGlvblN0eWxlIG1fcHJlc2VudGF0aW9uU3R5bGUgeyBQcmVzZW50YXRp
b25TdHlsZTo6VW5zcGVjaWZpZWQgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2Fy
ZEl0ZW0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJv
YXJkSXRlbS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWM1YjM0ZmRhM2ViYzgzODU4NGQzOGJjMTlhNmYyYTRi
NWE0NzNhMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMt
Y2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uaWRsCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
Cit0eXBlZGVmIChET01TdHJpbmcgb3IgQmxvYikgQ2xpcGJvYXJkSXRlbURhdGFUeXBlOwordHlw
ZWRlZiBQcm9taXNlPENsaXBib2FyZEl0ZW1EYXRhVHlwZT4gQ2xpcGJvYXJkSXRlbURhdGE7CisK
K2VudW0gUHJlc2VudGF0aW9uU3R5bGUgeyAidW5zcGVjaWZpZWQiLCAiaW5saW5lIiwgImF0dGFj
aG1lbnQiIH07CisKK2RpY3Rpb25hcnkgQ2xpcGJvYXJkSXRlbU9wdGlvbnMgeworICAgIFByZXNl
bnRhdGlvblN0eWxlIHByZXNlbnRhdGlvblN0eWxlID0gInVuc3BlY2lmaWVkIjsKK307CisKK1sK
KyAgICBDb25zdHJ1Y3RvcihyZWNvcmQ8RE9NU3RyaW5nLCBDbGlwYm9hcmRJdGVtRGF0YT4gaXRl
bXMsIG9wdGlvbmFsIENsaXBib2FyZEl0ZW1PcHRpb25zIG9wdGlvbnMpLAorICAgIEV4cG9zZWQ9
V2luZG93LAorICAgIEVuYWJsZWRCeVNldHRpbmc9QXN5bmNDbGlwYm9hcmRBUEksCisgICAgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPVJlYWNoYWJs
ZUZyb21OYXZpZ2F0b3IKK10gaW50ZXJmYWNlIENsaXBib2FyZEl0ZW0geworICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxET01TdHJpbmc+IHR5cGVzOworICAgIFtOZXdPYmplY3Rd
IFByb21pc2U8QmxvYj4gZ2V0VHlwZShET01TdHJpbmcgdHlwZSk7CisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIFByZXNlbnRhdGlvblN0eWxlIHByZXNlbnRhdGlvblN0eWxlOworfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL05hdmlnYXRvckNsaXBi
b2FyZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0
b3JDbGlwYm9hcmQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkzNGZiMmQ2MzJhOGQ0NTAwOWNmNDdiMmEwYTNh
MWJhNjhiMDlkZTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fz
eW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuY3BwCkBAIC0wLDAgKzEsNzAgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yQ2xpcGJv
YXJkLmgiCisKKyNpbmNsdWRlICJDbGlwYm9hcmQuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3IuaCIK
KyNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
TmF2aWdhdG9yQ2xpcGJvYXJkOjpOYXZpZ2F0b3JDbGlwYm9hcmQoTmF2aWdhdG9yJiBuYXZpZ2F0
b3IpCisgICAgOiBtX25hdmlnYXRvcihuYXZpZ2F0b3IpCit7Cit9CisKK05hdmlnYXRvckNsaXBi
b2FyZDo6fk5hdmlnYXRvckNsaXBib2FyZCgpID0gZGVmYXVsdDsKKworUmVmUHRyPENsaXBib2Fy
ZD4gTmF2aWdhdG9yQ2xpcGJvYXJkOjpjbGlwYm9hcmQoTmF2aWdhdG9yJiBuYXZpZ2F0b3IpCit7
CisgICAgcmV0dXJuIE5hdmlnYXRvckNsaXBib2FyZDo6ZnJvbShuYXZpZ2F0b3IpLT5jbGlwYm9h
cmQoKTsKK30KKworUmVmUHRyPENsaXBib2FyZD4gTmF2aWdhdG9yQ2xpcGJvYXJkOjpjbGlwYm9h
cmQoKQoreworICAgIGlmICghbV9jbGlwYm9hcmQpCisgICAgICAgIG1fY2xpcGJvYXJkID0gQ2xp
cGJvYXJkOjpjcmVhdGUobV9uYXZpZ2F0b3IpOworICAgIHJldHVybiBtX2NsaXBib2FyZDsKK30K
KworTmF2aWdhdG9yQ2xpcGJvYXJkKiBOYXZpZ2F0b3JDbGlwYm9hcmQ6OmZyb20oTmF2aWdhdG9y
JiBuYXZpZ2F0b3IpCit7CisgICAgYXV0byogc3VwcGxlbWVudCA9IHN0YXRpY19jYXN0PE5hdmln
YXRvckNsaXBib2FyZCo+KFN1cHBsZW1lbnQ8TmF2aWdhdG9yPjo6ZnJvbSgmbmF2aWdhdG9yLCBz
dXBwbGVtZW50TmFtZSgpKSk7CisgICAgaWYgKCFzdXBwbGVtZW50KSB7CisgICAgICAgIGF1dG8g
bmV3U3VwcGxlbWVudCA9IG1ha2VVbmlxdWU8TmF2aWdhdG9yQ2xpcGJvYXJkPihuYXZpZ2F0b3Ip
OworICAgICAgICBzdXBwbGVtZW50ID0gbmV3U3VwcGxlbWVudC5nZXQoKTsKKyAgICAgICAgcHJv
dmlkZVRvKCZuYXZpZ2F0b3IsIHN1cHBsZW1lbnROYW1lKCksIFdURk1vdmUobmV3U3VwcGxlbWVu
dCkpOworICAgIH0KKyAgICByZXR1cm4gc3VwcGxlbWVudDsKK30KKworY29uc3QgY2hhciogTmF2
aWdhdG9yQ2xpcGJvYXJkOjpzdXBwbGVtZW50TmFtZSgpCit7CisgICAgcmV0dXJuICJOYXZpZ2F0
b3JDbGlwYm9hcmQiOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXN5bmMtY2xpcGJvYXJkL05hdmlnYXRvckNsaXBib2FyZC5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhk
MTk0NzBmMjVjZDU3ODRkZjIwZGE0ZDI4Y2MwOTQzM2MxMmI5NDUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9h
cmQuaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlICJTdXBwbGVtZW50YWJsZS5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2xpcGJvYXJkOworY2xhc3MgTmF2aWdhdG9yOworCitj
bGFzcyBOYXZpZ2F0b3JDbGlwYm9hcmQgZmluYWwgOiBwdWJsaWMgU3VwcGxlbWVudDxOYXZpZ2F0
b3I+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBleHBsaWNp
dCBOYXZpZ2F0b3JDbGlwYm9hcmQoTmF2aWdhdG9yJik7CisgICAgfk5hdmlnYXRvckNsaXBib2Fy
ZCgpOworCisgICAgc3RhdGljIFJlZlB0cjxDbGlwYm9hcmQ+IGNsaXBib2FyZChOYXZpZ2F0b3Im
KTsKKyAgICBSZWZQdHI8Q2xpcGJvYXJkPiBjbGlwYm9hcmQoKTsKKworcHJpdmF0ZToKKyAgICBz
dGF0aWMgTmF2aWdhdG9yQ2xpcGJvYXJkKiBmcm9tKE5hdmlnYXRvciYpOworICAgIHN0YXRpYyBj
b25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpOworCisgICAgUmVmUHRyPENsaXBib2FyZD4gbV9j
bGlwYm9hcmQ7CisgICAgTmF2aWdhdG9yJiBtX25hdmlnYXRvcjsKK307CisKK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL05hdmlnYXRvckNsaXBi
b2FyZC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0
b3JDbGlwYm9hcmQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdkNmI1MzNmNjNhNjdiMDlhZTA3YTAwODdlNTU1
NzQ2M2ZhOTk1NDkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fz
eW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuaWRsCkBAIC0wLDAgKzEsMzAgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1Bc3luY0NsaXBib2FyZEFQSSwKK10g
cGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKKyAgICBbU2VjdXJlQ29udGV4dCwgU2FtZU9i
amVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIENsaXBib2FyZCBjbGlwYm9hcmQ7Cit9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNr
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFj
ay5jcHAKaW5kZXggZDA4Nzk4ZTIzNGMwNDM4ZGI1NjlhOTJlZDc1OWNiNzJkNzMyZGU5YS4uYjVi
NDVhYjEwZjdkODE3NDVhYjdmZmZiMWUxODk5NWI1MGQ1ZWQyNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCkBA
IC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkpTRE9N
UHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNPdmVyY29uc3RyYWluZWRFcnJvci5oIgor
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNZWRpYUNvbnN0cmFpbnRzLmgiCiAjaW5j
bHVkZSAiTWVkaWFTdHJlYW0uaCIKICNpbmNsdWRlICJNZWRpYVN0cmVhbVByaXZhdGUuaCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIu
Y3BwCmluZGV4IDNlNmRjMDg5NGU2NTUzYzNmOTAyZTQ5NzkzMGU5OThlYjdiZWEzY2QuLjZmZjRh
YTVlNzdmOTdkZGY5MjNkM2JmYjlhNmU2ZjcxYzVmZjU4NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNwcApAQCAtMzAsNiAr
MzAsNyBAQAogCiAjaW5jbHVkZSAiUlRDRFRNRlNlbmRlckJhY2tlbmQuaCIKICNpbmNsdWRlICJS
VENEVE1GVG9uZUNoYW5nZUV2ZW50LmgiCisjaW5jbHVkZSAiUlRDUnRwU2VuZGVyLmgiCiAjaW5j
bHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJ
bmxpbmVzLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwU2VuZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUnRwU2VuZGVyLmNwcAppbmRleCAwMDdkMmMzYTRiOWViYTFjYWMxMzA0OTc2ODZkNDQ2ZDJm
MDUzMjNiLi4yYTY2ZmY0OGQxZjAyM2VjYmRhMDc5NTE0ZjU5ZDBkYjY0M2VkMWU0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3Bw
CkBAIC0zMyw2ICszMyw3IEBACiAKICNpZiBFTkFCTEUoV0VCX1JUQykKIAorI2luY2x1ZGUgIkpT
RE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiUlRDRFRNRlNlbmRlci5oIgogI2luY2x1
ZGUgIlJUQ0RUTUZTZW5kZXJCYWNrZW5kLmgiCiAjaW5jbHVkZSAiUlRDUnRwQ2FwYWJpbGl0aWVz
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBl
bGluZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmUuaApp
bmRleCAxZTMyM2M3OWJmMTk4MjU4MjM2MmE3M2Y4YTY3NWYxMjhiNGE2ZjcxLi4zYjM0YTRlYjA2
NWNiMDQxOTgyZTkxMzBiZGE2MjUwNzY1YjNhYjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRl
ICJHUFVPYmplY3RCYXNlLmgiCiAjaW5jbHVkZSAiV2ViR1BVU2hhZGVyTW9kdWxlLmgiCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggNGE4MTA5MjRkZTc0MzJmZmZlNjEyY2Y1ZWRk
NmQxZmFiNjEzNTcyNy4uM2JkMzI2MDI1ZDNiMDg3NzA1NDg4MDA1M2U1ODhiMDllOTUwMmE4NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKQEAgLTMzLDYgKzMzLDEwIEBAIGxvYWRlci9jYWNoZS9DYWNoZWRBcHBs
aWNhdGlvbk1hbmlmZXN0LmNwcAogCiAjZW5kaWYKIAorTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQv
Q2xpcGJvYXJkLmNwcAorTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkSXRlbS5jcHAK
K01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL05hdmlnYXRvckNsaXBib2FyZC5jcHAKKwogTW9kdWxl
cy9iZWFjb24vTmF2aWdhdG9yQmVhY29uLmNwcAogCiBNb2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFn
ZUNvbm5lY3Rpb24uY3BwCkBAIC0yNjg4LDcgKzI2OTIsOSBAQCBKU0NoYW5uZWxNZXJnZXJOb2Rl
LmNwcAogSlNDaGFubmVsU3BsaXR0ZXJOb2RlLmNwcAogSlNDaGFyYWN0ZXJEYXRhLmNwcAogSlND
aGlsZE5vZGUuY3BwCitKU0NsaXBib2FyZC5jcHAKIEpTQ2xpcGJvYXJkRXZlbnQuY3BwCitKU0Ns
aXBib2FyZEl0ZW0uY3BwCiBKU0Nsb3NlRXZlbnQuY3BwCiBKU0NvbW1hbmRMaW5lQVBJSG9zdC5j
cHAKIEpTQ29tbWVudC5jcHAKQEAgLTMwMjksNiArMzAzNSw3IEBAIEpTTXV0YXRpb25SZWNvcmQu
Y3BwCiBKU05hbWVkTm9kZU1hcC5jcHAKIEpTTmF2aWdhdG9yLmNwcAogSlNOYXZpZ2F0b3JCZWFj
b24uY3BwCitKU05hdmlnYXRvckNsaXBib2FyZC5jcHAKIEpTTmF2aWdhdG9yQ3JlZGVudGlhbHMu
Y3BwCiBKU05hdmlnYXRvckdlb2xvY2F0aW9uLmNwcAogSlNOYXZpZ2F0b3JHUFUuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
ODNjOWVjN2Q4ZmUwNDYzZDA1MWQ1MGZlNzY5YzM5OTg2NjcxNTkzZi4uNTI3ODgzOGZkMmU1NjFj
NjliZjU1Y2NjZTA0ZTVjYTg0NzFmOGJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDg3MSw2ICs0ODcxLDkgQEAKIAkJRjNB
QkZFMEMxMzBFOURBMDAwRTdGN0QxIC8qIEluc3RydW1lbnRpbmdBZ2VudHMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzQUJGRTBCMTMwRTlEQTAwMEU3
RjdEMSAvKiBJbnN0cnVtZW50aW5nQWdlbnRzLmggKi87IH07CiAJCUYzRDQ2MTQ5MTE2MUQ1MzIw
MENBMEQwOSAvKiBKU0Vycm9ySGFuZGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRjNENDYxNDcxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJyb3JIYW5k
bGVyLmggKi87IH07CiAJCUY0MzNFOTAzMURCQkRCQTIwMEVGMEQxNCAvKiBTdGF0aWNQYXN0ZWJv
YXJkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDMz
RTkwMjFEQkJEQkEyMDBFRjBEMTQgLyogU3RhdGljUGFzdGVib2FyZC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUY0NDBFNzdBMjMzRDk0RDcwMDYz
RjlBQiAvKiBOYXZpZ2F0b3JDbGlwYm9hcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEY0NDBFNzZGMjMzRDk0RDMwMDYzRjlBQiAvKiBOYXZpZ2F0b3JD
bGlwYm9hcmQuaCAqLzsgfTsKKwkJRjQ0MEU3N0IyMzNEOTRENzAwNjNGOUFCIC8qIENsaXBib2Fy
ZEl0ZW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0
NDBFNzcwMjMzRDk0RDQwMDYzRjlBQiAvKiBDbGlwYm9hcmRJdGVtLmggKi87IH07CisJCUY0NDBF
NzdEMjMzRDk0RDcwMDYzRjlBQiAvKiBDbGlwYm9hcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NDBFNzcyMjMzRDk0RDUwMDYzRjlBQiAvKiBDbGlw
Ym9hcmQuaCAqLzsgfTsKIAkJRjQ0QTVGNTkxRkVEMzhGMjAwN0Y1OTQ0IC8qIExlZ2FjeU5TUGFz
dGVib2FyZFR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGNDRBNUY1NzFGRUQzODMwMDA3RjU5NDQgLyogTGVnYWN5TlNQYXN0ZWJvYXJkVHlwZXMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGNDRF
QkJEOTFEQjVEMjE0MDAyNzczMzQgLyogU3RhdGljUmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NEVCQkQ4MURCNUQyMTQwMDI3NzMzNCAvKiBT
dGF0aWNSYW5nZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUY0NUMyMzFFMTk5NUI3M0IwMEE2RTJFMyAvKiBBeGlzU2Nyb2xsU25hcE9mZnNldHMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NUMyMzFD
MTk5NUI3M0IwMEE2RTJFMyAvKiBBeGlzU2Nyb2xsU25hcE9mZnNldHMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTAwODksNyArMTAwOTIsMTEg
QEAKIAkJODM2RDAzMkIxREE4QTEzMjAwRkZEOTZCIC8qIEpTRXZlbnRJbml0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRXZlbnRJbml0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM2RDAzMkMxREE4QTEzMjAwRkZEOTZCIC8qIEpTRXZlbnRJ
bml0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXZlbnRJbml0Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzNkQwMzJEMURBOEExMzIwMEZGRDk2QiAvKiBK
U0NsaXBib2FyZEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTQ2xpcGJvYXJkRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4MzZE
MDMyRDFEQThBMTMyMDBGRkQ5NkMgLyogSlNDbGlwYm9hcmQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNDbGlwYm9hcmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk4MzZEMDMyRDFEQThBMTMyMDBGRkQ5NkQgLyogSlNDbGlwYm9hcmRJdGVtLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ2xpcGJvYXJkSXRlbS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzNkQwMzJFMURBOEExMzIwMEZGRDk2
QiAvKiBKU0NsaXBib2FyZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTQ2xpcGJvYXJkRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODM2RDAz
MkUxREE4QTEzMjAwRkZEOTZDIC8qIEpTQ2xpcGJvYXJkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTQ2xpcGJvYXJkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTgzNkQwMzJFMURBOEExMzIwMEZGRDk2RCAvKiBKU0NsaXBib2FyZEl0ZW0uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDbGlwYm9hcmRJdGVtLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTgzNkRBQTA1MUNFQUI3Q0QwMEEyQjcwNyAvKiBSZW5kZXJEZXNjZW5k
YW50SXRlcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyRGVz
Y2VuZGFudEl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzNzA1Njg4
MUY1MDkxNTAwMEQ5MzQyNSAvKiBKU0ZpbGVDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0ZpbGVDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTgzNzA1Njg5MUY1MDkxNTAwMEQ5MzQyNSAvKiBKU0ZpbGVTeXN0ZW1FbnRy
eUNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRmlsZVN5c3Rl
bUVudHJ5Q2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1MTU3LDYg
KzE1MTY0LDE1IEBACiAJCUY0MkNFQjU0MjE0MDMxRUUwMDJEQ0E3MiAvKiBGb250QXR0cmlidXRl
Q2hhbmdlc0NvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRm9udEF0dHJpYnV0ZUNoYW5n
ZXNDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQzM0U5MDIxREJCREJB
MjAwRUYwRDE0IC8qIFN0YXRpY1Bhc3RlYm9hcmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU3RhdGljUGFzdGVib2FyZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlGNDMzRTkwNDFEQkJEQkMyMDBFRjBEMTQgLyogU3RhdGljUGFzdGVib2FyZC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTdGF0aWNQYXN0ZWJvYXJkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRjQ0MEU3NkUyMzNEOTREMzAwNjNGOUFCIC8qIENsaXBib2FyZC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDbGlwYm9hcmQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlGNDQwRTc2RjIzM0Q5NEQzMDA2M0Y5QUIgLyogTmF2aWdhdG9y
Q2xpcGJvYXJkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdmlnYXRvckNs
aXBib2FyZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDQwRTc3MDIzM0Q5NEQ0
MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRlbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDbGlwYm9hcmRJdGVtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0NDBF
NzcxMjMzRDk0RDQwMDYzRjlBQiAvKiBOYXZpZ2F0b3JDbGlwYm9hcmQuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IE5hdmlnYXRvckNsaXBib2FyZC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUY0NDBFNzcyMjMzRDk0RDUwMDYzRjlBQiAvKiBDbGlwYm9hcmQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xpcGJvYXJkLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUY0NDBFNzczMjMzRDk0RDUwMDYzRjlBQiAvKiBOYXZpZ2F0b3JDbGlwYm9h
cmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmF2aWdhdG9yQ2xp
cGJvYXJkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0MEU3NzQyMzNEOTRE
NjAwNjNGOUFCIC8qIENsaXBib2FyZC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ2xpcGJv
YXJkLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0MEU3NzUyMzNEOTRENjAw
NjNGOUFCIC8qIENsaXBib2FyZEl0ZW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQ2xpcGJvYXJkSXRlbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUY0NDBFNzc3MjMzRDk0RDcwMDYzRjlBQiAvKiBDbGlwYm9hcmRJdGVtLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBDbGlwYm9hcmRJdGVtLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRjQ0Mjg1MEIyMTQwNDEyNTAwQ0NEQTIyIC8qIEZvbnRBdHRyaWJ1dGVDaGFuZ2VzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvbnRBdHRyaWJ1dGVDaGFuZ2VzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ0QTVGNTcxRkVEMzgzMDAwN0Y1OTQ0IC8qIExlZ2FjeU5T
UGFzdGVib2FyZFR5cGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExlZ2FjeU5TUGFzdGVib2FyZFR5cGVz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NEVCQkQ2MURCNUQxQjYwMDI3NzMz
NCAvKiBTdGF0aWNSYW5nZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU3RhdGljUmFuZ2Uu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTY1NzUsNiArMTY1OTEsNyBAQAog
CQkJCTEyMjFFMDU4MUMwMkI0MDkwMDZBMUEwMCAvKiBBbmltYXRpb24gKi8sCiAJCQkJMUFFOTZB
NzkxRDFBMEE1QzAwQjg2NzY4IC8qIEFwcGxlUGF5ICovLAogCQkJCTQxRkIyNzg4MUYzNDQ2MUIw
MDc5NTQ4OCAvKiBDYWNoZUFQSSAqLywKKwkJCQlGNDQwRTc2OTIzM0Q5MzYyMDA2M0Y5QUIgLyog
Q2xpcGJvYXJkICovLAogCQkJCUE4M0I3OTEwMENDQjAwMUIwMDBCMDgyNSAvKiBDb3JlICovLAog
CQkJCTU3QzdBNjhEMUU1NjlBODQwMEM2N0Q3MSAvKiBDcmVkZW50aWFsTWFuYWdlbWVudCAqLywK
IAkJCQlFMUZGOEY2MTE4MDc0NUM2MDAxMzI2NzQgLyogQ3J5cHRvICovLApAQCAtMjE5MjMsNiAr
MjE5NDAsNyBAQAogCQkJCUNFMjYxNjlEMTg3RTY1NTQwMDc5NTVGMyAvKiBhaXJwbGF5ICovLAog
CQkJCTFBNThFODYxMUQxOUQzNzMwMEMwRUE3MyAvKiBhcHBsZXBheSAqLywKIAkJCQk2M0JENEE1
QzFGNzc4RTg0MDA0Mzg3MjIgLyogYXBwbGljYXRpb25tYW5pZmVzdCAqLywKKwkJCQlGNDQwRTc2
QTIzM0Q5M0M4MDA2M0Y5QUIgLyogYXN5bmMtY2xpcGJvYXJkICovLAogCQkJCTgzMjE1MDc5MUYy
N0U5NkIwMDk1QjEzNiAvKiBiZWFjb24gKi8sCiAJCQkJNDEzODBDMUUxRjM0MzY2MDAwMTU1RkRB
IC8qIGNhY2hlICovLAogCQkJCTU3QzdBNjg4MUU1Njk0NkQwMEM2N0Q3MSAvKiBjcmVkZW50aWFs
bWFuYWdlbWVudCAqLywKQEAgLTI2NzgwLDYgKzI2Nzk4LDMzIEBACiAJCQlwYXRoID0gbWFjOwog
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJRjQ0MEU3NjkyMzNEOTM2MjAwNjNG
OUFCIC8qIENsaXBib2FyZCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4g
PSAoCisJCQkJODM2RDAzMkQxREE4QTEzMjAwRkZEOTZDIC8qIEpTQ2xpcGJvYXJkLmNwcCAqLywK
KwkJCQk4MzZEMDMyRTFEQThBMTMyMDBGRkQ5NkMgLyogSlNDbGlwYm9hcmQuaCAqLywKKwkJCQk4
MzZEMDMyRDFEQThBMTMyMDBGRkQ5NkQgLyogSlNDbGlwYm9hcmRJdGVtLmNwcCAqLywKKwkJCQk4
MzZEMDMyRTFEQThBMTMyMDBGRkQ5NkQgLyogSlNDbGlwYm9hcmRJdGVtLmggKi8sCisJCQkpOwor
CQkJbmFtZSA9IENsaXBib2FyZDsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJ
CUY0NDBFNzZBMjMzRDkzQzgwMDYzRjlBQiAvKiBhc3luYy1jbGlwYm9hcmQgKi8gPSB7CisJCQlp
c2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUY0NDBFNzZFMjMzRDk0RDMwMDYz
RjlBQiAvKiBDbGlwYm9hcmQuY3BwICovLAorCQkJCUY0NDBFNzcyMjMzRDk0RDUwMDYzRjlBQiAv
KiBDbGlwYm9hcmQuaCAqLywKKwkJCQlGNDQwRTc3NDIzM0Q5NEQ2MDA2M0Y5QUIgLyogQ2xpcGJv
YXJkLmlkbCAqLywKKwkJCQlGNDQwRTc3NTIzM0Q5NEQ2MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRl
bS5jcHAgKi8sCisJCQkJRjQ0MEU3NzAyMzNEOTRENDAwNjNGOUFCIC8qIENsaXBib2FyZEl0ZW0u
aCAqLywKKwkJCQlGNDQwRTc3NzIzM0Q5NEQ3MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRlbS5pZGwg
Ki8sCisJCQkJRjQ0MEU3NzMyMzNEOTRENTAwNjNGOUFCIC8qIE5hdmlnYXRvckNsaXBib2FyZC5j
cHAgKi8sCisJCQkJRjQ0MEU3NkYyMzNEOTREMzAwNjNGOUFCIC8qIE5hdmlnYXRvckNsaXBib2Fy
ZC5oICovLAorCQkJCUY0NDBFNzcxMjMzRDk0RDQwMDYzRjlBQiAvKiBOYXZpZ2F0b3JDbGlwYm9h
cmQuaWRsICovLAorCQkJKTsKKwkJCXBhdGggPSAiYXN5bmMtY2xpcGJvYXJkIjsKKwkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCUY0ODM4OTc5MUUxREQyM0EwMDc2QjdFQSAvKiBF
ZGl0aW5nSGlzdG9yeSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAo
CkBAIC0yODczNSw4ICsyODc4MCwxMCBAQAogCQkJCUU0QTgxNEQ0MUM2REVDNDAwMEJGODVBQyAv
KiBDbGFzc0NoYW5nZUludmFsaWRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM0OEJGQUMx
Qjg1NzI5ODAwOTEyRjM2IC8qIENsYXNzQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NDEwNzkwOEMxRkMzRjAzMzAwNjFCMjdBIC8qIENsaWVudE9yaWdpbi5oIGluIEhlYWRlcnMgKi8s
CisJCQkJRjQ0MEU3N0QyMzNEOTRENzAwNjNGOUFCIC8qIENsaXBib2FyZC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJN0MzQTkxRTYxQzk2M0I4ODAwRDFBN0UzIC8qIENsaXBib2FyZEFjY2Vzc1BvbGlj
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMzFCNDAwQTQ0RUZDNzAwRjk5MkUwIC8qIENsaXBi
b2FyZEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlGNDQwRTc3QjIzM0Q5NEQ3MDA2M0Y5QUIg
LyogQ2xpcGJvYXJkSXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkI5MkRGNEIxNUZFRDA4NzAw
OTk0NDMzIC8qIENsaXBQYXRoT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1ODAzNzE2
MjFBNjZGMDBBMDBCQUY1MTkgLyogQ2xpcFJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUFC
RDEzMTRGQTA5RDUwMDc0NTdBRSAvKiBDbG9zZUV2ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTMw
OTc3LDYgKzMxMDI0LDcgQEAKIAkJCQlBOUM2RTVBNjBENzQ2NDU4MDA2NDQyRTkgLyogTmF2aWdh
dG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTI3MTlDNzBFRUVDMTY4MDBGNjEyMTMgLyogTmF2
aWdhdG9yQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODMyMTUwN0UxRjI3RUExQjAwOTVCMTM2
IC8qIE5hdmlnYXRvckJlYWNvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjQ0MEU3N0EyMzNEOTRE
NzAwNjNGOUFCIC8qIE5hdmlnYXRvckNsaXBib2FyZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzcy
RDNFNTcyMTY1NzhBRTAwQzVFMDIxIC8qIE5hdmlnYXRvckNyZWRlbnRpYWxzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk5NzExNDYwNDE0RUYwMDlBMDA2NzRGRDkgLyogTmF2aWdhdG9yR2VvbG9jYXRp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCTVFQTcyNUQ2MUFDQUJENTcwMEVBRDE3QiAvKiBOYXZp
Z2F0b3JNZWRpYURldmljZXMuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IGZmZDNlNTllZjg0OWEwMWE4
ZmE1ZDI2YzBmZWZjMWZkYTRlZmE5MjcuLjA2MGM3MDMyNzVmNGMzYzQ4MWRhZDI4YjM1M2VlYTEy
MjAwM2UyNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVp
bHRpbk5hbWVzLmgKQEAgLTU1LDYgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1h
Y3JvKENhY2hlU3RvcmFnZSkgXAogICAgIG1hY3JvKENsaWVudCkgXAogICAgIG1hY3JvKENsaWVu
dHMpIFwKKyAgICBtYWNybyhDbGlwYm9hcmQpIFwKKyAgICBtYWNybyhDbGlwYm9hcmRJdGVtKSBc
CiAgICAgbWFjcm8oQ3JlZGVudGlhbCkgXAogICAgIG1hY3JvKENyZWRlbnRpYWxzQ29udGFpbmVy
KSBcCiAgICAgbWFjcm8oQ1NTQW5pbWF0aW9uKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuY3BwCmluZGV4IDE1YzA1NmQ3NjQz
MDE3NTlmNmJjZTBlNWJmOTY3MjVmMGE5MWVmYTAuLjMwMjFhODFmYmU1ZGViZDZiMWZkYjM5ODJh
ZGYxMTMyNTZjM2FmN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmll
bnRhdGlvbk9yTW90aW9uRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VP
cmllbnRhdGlvbk9yTW90aW9uRXZlbnQuY3BwCkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50LmgiCiAK
KyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkFuZE1v
dGlvbkFjY2Vzc0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUg
IkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudFRhcmdldEZhY3RvcnkuaW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRG
YWN0b3J5LmluCmluZGV4IDliOWJmOTM3Y2MwOTNhNjAwNWNkNjBjZTE2NDRjYjA4OGViZTY2MTIu
LjI4MjcwZjI3NTA1MDUzYTIzMzEwMzMyNmRiNDZjYzdjMGFiNGMxZWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgpAQCAtNyw2ICs3LDcgQEAgQXBwbGVQYXlTZXNz
aW9uIGNvbmRpdGlvbmFsPUFQUExFX1BBWQogQXVkaW9Ob2RlIGNvbmRpdGlvbmFsPVdFQl9BVURJ
TwogQXVkaW9Db250ZXh0IGNvbmRpdGlvbmFsPVdFQl9BVURJTwogQXVkaW9UcmFja0xpc3QgY29u
ZGl0aW9uYWw9VklERU9fVFJBQ0sKK0NsaXBib2FyZAogRGVkaWNhdGVkV29ya2VyR2xvYmFsU2Nv
cGUKIERPTUFwcGxpY2F0aW9uQ2FjaGUKIERPTVdpbmRvdwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZmVhdHVyZXMuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2ZlYXR1cmVzLmpzb24KaW5kZXgg
ZTU4N2QyMjM0OTRjMmZmZDgxMzliNjM3ZmQ1YmU3NzFkYzNjNGNiZi4uMjg3ZDBlYjM4NjNkNmI2
MWY5ZDM3ZjQ4NDM5Mzc0ZTg4MDM5NzQxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmVh
dHVyZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9mZWF0dXJlcy5qc29uCkBAIC0xMSw2ICsx
MSwyMSBAQAogICAgICAgICAiY2F0ZWdvcnkiOiAid2ViYXBwcyIsCiAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJSZXNvdXJjZXMgYXJlIHNhdmVkIGZvciBvZmZsaW5lIHVzZSB1c2luZyBhIG1hbmlm
ZXN0LiIKICAgICB9LAorICAgIHsKKyAgICAgICAgIm5hbWUiOiAiQXN5bmMgQ2xpcGJvYXJkIEFQ
SSIsCisgICAgICAgICJzdGF0dXMiOiB7CisgICAgICAgICAgICAic3RhdHVzIjogIkluIERldmVs
b3BtZW50IgorICAgICAgICB9LAorICAgICAgICAidXJsIjogImh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9jbGlwYm9hcmQtYXBpcy8jYXN5bmMtY2xpcGJvYXJkLWFwaSIsCisgICAgICAgICJzcGVjaWZp
Y2F0aW9uIjogIkNsaXBib2FyZCBBUEkiLAorICAgICAgICAiY2F0ZWdvcnkiOiAid2ViYXBwcyIs
CisgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbiBBUEkgdGhhdCBhbGxvd3MgcmVhZGluZyBmcm9t
IGFuZCB3cml0aW5nIHRvIHRoZSBzeXN0ZW0gY2xpcGJvYXJkLiIsCisgICAgICAgICJjb250YWN0
IjogeworICAgICAgICAgICAgIm5hbWUiOiAiV2Vuc29uIEhzaWVoIiwKKyAgICAgICAgICAgICJl
bWFpbCI6ICJ3ZW5zb25faHNpZWhAYXBwbGUuY29tIiwKKyAgICAgICAgICAgICJ0d2l0dGVyIjog
IkB3ZW5zb25oc2llaCIKKyAgICAgICAgfQorICAgIH0sCiAgICAgewogICAgICAgICAibmFtZSI6
ICJCYXR0ZXJ5IFN0YXR1cyBBUEkiLAogICAgICAgICAic3RhdHVzIjogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy55YW1sCmluZGV4IDMzNWI3OGFlZDYzMjNkMTA4MTg2NTViZGNiNDhhZDhjZTE3NWUx
YjUuLmVmYmM2MzVlMzJhNmZiMDMwYWJlOTk2ZmE5NTkwYWU2YzI3ZTAzOTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLnlhbWwKQEAgLTExOCw2ICsxMTgsOCBAQCBzaG91bGRQcmludEJhY2tncm91
bmRzOgogY2xpcGJvYXJkQWNjZXNzUG9saWN5OgogICB0eXBlOiBDbGlwYm9hcmRBY2Nlc3NQb2xp
Y3kKICAgaW5pdGlhbDogQ2xpcGJvYXJkQWNjZXNzUG9saWN5OjpSZXF1aXJlc1VzZXJHZXN0dXJl
Cithc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ6CisgIGluaXRpYWw6IGZhbHNlCiAKIHRleHRBcmVh
c0FyZVJlc2l6YWJsZToKICAgaW5pdGlhbDogZmFsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQ
cmVmZXJlbmNlcy55YW1sCmluZGV4IGJiODg5Njc5NDY3ZWZiZjEzNGUyZTcxZjVhMjc2MjQxMGQ1
YjYyNWYuLjM0ZGRiYmNmYWE2YmNkNmZhZDFjMzM5ZjQ5MWExZmQwNjBmZjg0ZDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtODQ2LDYgKzg0NiwxMyBAQCBD
dXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQ6CiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjog
IkVuYWJsZSBjdXN0b20gY2xpcGJvYXJkIHR5cGVzIGFuZCBiZXR0ZXIgc2VjdXJpdHkgbW9kZWwg
Zm9yIGNsaXBib2FyZCBBUEkuIgogICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0
dXJlcwogCitBc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVs
dFZhbHVlOiBmYWxzZQorICBodW1hblJlYWRhYmxlTmFtZTogIkFzeW5jIGNsaXBib2FyZCBBUEki
CisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSB0aGUgYXN5bmMgY2xpcGJvYXJk
IEFQSSIKKyAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorCiBXZWJTaGFyZUVuYWJsZWQ6CiAgIHR5
cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX1dFQl9TSEFSRV9FTkFCTEVECmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggNTZhYjM2ZTRiYTc1NTk2NWQ5Y2VkM2ZhNzg3MjM2ZmJkY2FmYTk5ZS4uNWZkMzZkNjdjN2Yw
ZjE4OTcxMGQ4YjFlOGU0ODZiMmQ0Mzk4MTg4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE5
LTEwLTA3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAg
IFtDbGlwYm9hcmQgQVBJXSBJbnRyb2R1Y2UgYmluZGluZ3MgZm9yIHRoZSBhc3luYyBDbGlwYm9h
cmQgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDI2MjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU2MDM4MTI2PgorCisgICAgICAgIFJldmll
d2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJk
L2NsaXBib2FyZC1pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWludGVyZmFjZXMuaHRtbDogQWRkZWQuCisK
KyAgICAgICAgQWRkIGEgbmV3IHRlc3QgdG8gc2FuaXR5IGNoZWNrIHRoZSBuZXcgY2xpcGJvYXJk
IEFQSSBpbnRlcmZhY2VzIGFuZCBpbnRlcmZhY2UgZXh0ZW5zaW9ucy4KKworICAgICAgICAqIGVk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC13cmFwcGVyLXN0YXlzLWFsaXZlLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLXdyYXBwZXItc3RheXMtYWxpdmUuaHRtbDogQWRkZWQuCisKKyAgICAgICAgQWRkIGEgbmV3
IHRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGNsaXBib2FyZCB3cmFwcGVyIHN0YXlzIGFsaXZl
IGJldHdlZW4gR0MgcGFzc2VzLCBldmVuIHdoZW4gdGhlIGNsaXBib2FyZCdzCisgICAgICAgIG5h
dmlnYXRvciBpcyBrZXB0IGFsaXZlLCBpbmRlcGVuZGVudGx5IG9mIGl0cyB3aW5kb3cgb2JqZWN0
LgorCisgICAgICAgICogZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjLWhpZ2hzaWVycmEvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFj
aGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rl
c3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZp
Z2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHBsYXRmb3JtL3dpbi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jh
c2gtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNhaXJvL2Zhc3QvZG9tL25h
dmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQ6CisKKyAgICAgICAgVXBkYXRl
IGFuIGV4aXN0aW5nIGxheW91dCB0ZXN0IHRvIGluY2x1ZGUgIm5hdmlnYXRvci5jbGlwYm9hcmQi
LgorCiAyMDE5LTEwLTA3ICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29t
PgogCiAgICAgICAgIERvbWFpbiByZWxhdGlvbnNoaXBzIGluIHRoZSBJVFAgRGF0YWJhc2Ugc2hv
dWxkIGJlIGluc2VydGVkIGluIGEgc2luZ2xlIHF1ZXJ5IGFuZCBpZ25vcmUgcmVwZWF0IGluc2Vy
dCBhdHRlbXB0cy4gKDIwMjYwNCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pbnRlcmZhY2VzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45OWM1MGExYmQ0NDVkZDYyYjcxOWFiMmVmNDFlYmJlZGVmNjdlNjll
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWludGVyZmFjZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTEgQEAKK1Rlc3Rz
IHRoZSBpbnRlcmZhY2VzIG9mIHRoZSBhc3luYyBjbGlwYm9hcmQgQVBJLCB3aGljaCBpbmNsdWRl
IENsaXBib2FyZCwgQ2xpcGJvYXJkSXRlbSwgYW5kIGV4dGVuc2lvbnMgdG8gTmF2aWdhdG9yLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCitUZXN0aW5nIENsaXBib2FyZDoKK1BB
U1MgQ2xpcGJvYXJkIGluc3RhbmNlb2YgRnVuY3Rpb24gaXMgdHJ1ZQorUEFTUyB0eXBlb2YgQ2xp
cGJvYXJkIGlzICJmdW5jdGlvbiIKK1BBU1MgbmF2aWdhdG9yLmNsaXBib2FyZCBpbnN0YW5jZW9m
IENsaXBib2FyZCBpcyB0cnVlCitQQVNTIE9iamVjdC5nZXRQcm90b3R5cGVPZihuYXZpZ2F0b3Iu
Y2xpcGJvYXJkKSA9PT0gQ2xpcGJvYXJkLnByb3RvdHlwZSBpcyB0cnVlCitQQVNTIENsaXBib2Fy
ZC5wcm90b3R5cGUucmVhZFRleHQgaW5zdGFuY2VvZiBGdW5jdGlvbiBpcyB0cnVlCitQQVNTIENs
aXBib2FyZC5wcm90b3R5cGUud3JpdGVUZXh0IGluc3RhbmNlb2YgRnVuY3Rpb24gaXMgdHJ1ZQor
UEFTUyBDbGlwYm9hcmQucHJvdG90eXBlLnJlYWQgaW5zdGFuY2VvZiBGdW5jdGlvbiBpcyB0cnVl
CitQQVNTIENsaXBib2FyZC5wcm90b3R5cGUud3JpdGUgaW5zdGFuY2VvZiBGdW5jdGlvbiBpcyB0
cnVlCitQQVNTIENsaXBib2FyZCgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IElsbGVnYWwg
Y29uc3RydWN0b3IuCitQQVNTIG5ldyBDbGlwYm9hcmQoKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IENsaXBi
b2FyZCgpJykuCitQQVNTIENsaXBib2FyZC50b1N0cmluZygpIGlzICJmdW5jdGlvbiBDbGlwYm9h
cmQoKSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIKK1BBU1MgbmF2aWdhdG9yLmNsaXBib2FyZC50
b1N0cmluZygpIGlzICJbb2JqZWN0IENsaXBib2FyZF0iCitQQVNTIG5hdmlnYXRvci5jbGlwYm9h
cmQud3JpdGVUZXh0KCdmb28nKSBpbnN0YW5jZW9mIFByb21pc2UgaXMgdHJ1ZQorUEFTUyBuYXZp
Z2F0b3IuY2xpcGJvYXJkLndyaXRlKFsgXSkgaW5zdGFuY2VvZiBQcm9taXNlIGlzIHRydWUKK1BB
U1MgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCkgaW5zdGFuY2VvZiBQcm9taXNlIGlzIHRydWUK
K1BBU1MgbmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkVGV4dCgpIGluc3RhbmNlb2YgUHJvbWlzZSBp
cyB0cnVlCitQQVNTIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUoKSByZWplY3RlZCB3aXRoIFR5
cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMKK1BBU1MgbmF2aWdhdG9yLmNsaXBib2FyZC53
cml0ZVRleHQoKSByZWplY3RlZCB3aXRoIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMK
K1BBU1MgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZSgnZm9vJykgcmVqZWN0ZWQgd2l0aCBUeXBl
RXJyb3I6IFZhbHVlIGlzIG5vdCBhIHNlcXVlbmNlCitQQVNTIG5hdmlnYXRvci5jbGlwYm9hcmQu
d3JpdGUoWzEsIDIsIDNdKSByZWplY3RlZCB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvcgorUEFT
UyBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlKG5ldyBDbGlwYm9hcmRJdGVtKHsgfSkpIHJlamVj
dGVkIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yCisKK1Rlc3RpbmcgQ2xpcGJvYXJkSXRlbToK
K1BBU1MgQ2xpcGJvYXJkSXRlbSBpbnN0YW5jZW9mIEZ1bmN0aW9uIGlzIHRydWUKK1BBU1MgdHlw
ZW9mIENsaXBib2FyZEl0ZW0gaXMgImZ1bmN0aW9uIgorUEFTUyBDbGlwYm9hcmRJdGVtLnByb3Rv
dHlwZS5nZXRUeXBlIGluc3RhbmNlb2YgRnVuY3Rpb24gaXMgdHJ1ZQorUEFTUyBDbGlwYm9hcmRJ
dGVtKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQ29uc3RydWN0b3IgcmVxdWlyZXMgJ25l
dycgb3BlcmF0b3IuCitQQVNTIG5ldyBDbGlwYm9hcmRJdGVtKCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG5ldyBDbGlwYm9hcmRJdGVtKCdm
b28nKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBuZXcgQ2xp
cGJvYXJkSXRlbSh7IH0pIGluc3RhbmNlb2YgQ2xpcGJvYXJkSXRlbSBpcyB0cnVlCitQQVNTIE9i
amVjdC5nZXRQcm90b3R5cGVPZihuZXcgQ2xpcGJvYXJkSXRlbSh7IH0pKSA9PT0gQ2xpcGJvYXJk
SXRlbS5wcm90b3R5cGUgaXMgdHJ1ZQorUEFTUyBuZXcgQ2xpcGJvYXJkSXRlbSh7IH0pLnR5cGVz
IGluc3RhbmNlb2YgQXJyYXkgaXMgdHJ1ZQorUEFTUyBDbGlwYm9hcmRJdGVtLnRvU3RyaW5nKCkg
aXMgImZ1bmN0aW9uIENsaXBib2FyZEl0ZW0oKSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIKK1BB
U1MgbmV3IENsaXBib2FyZEl0ZW0oeyB9KS50b1N0cmluZygpIGlzICJbb2JqZWN0IENsaXBib2Fy
ZEl0ZW1dIgorUEFTUyBuZXcgQ2xpcGJvYXJkSXRlbSh7IH0sIHsgZm9vOiAnYXR0YWNobWVudCcg
fSkucHJlc2VudGF0aW9uU3R5bGUgaXMgInVuc3BlY2lmaWVkIgorUEFTUyBuZXcgQ2xpcGJvYXJk
SXRlbSh7IH0sIHsgcHJlc2VudGF0aW9uU3R5bGU6ICdBdHRhQ0htZW5UJyB9KS5wcmVzZW50YXRp
b25TdHlsZSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBuZXcg
Q2xpcGJvYXJkSXRlbSh7IH0sIHsgcHJlc2VudGF0aW9uU3R5bGU6ICd1bnNwZWNpZmllZCcgfSku
cHJlc2VudGF0aW9uU3R5bGUgaXMgInVuc3BlY2lmaWVkIgorUEFTUyBuZXcgQ2xpcGJvYXJkSXRl
bSh7IH0sIHsgcHJlc2VudGF0aW9uU3R5bGU6ICdhdHRhY2htZW50JyB9KS5wcmVzZW50YXRpb25T
dHlsZSBpcyAiYXR0YWNobWVudCIKK1BBU1MgbmV3IENsaXBib2FyZEl0ZW0oeyB9LCB7IHByZXNl
bnRhdGlvblN0eWxlOiAnaW5saW5lJyB9KS5wcmVzZW50YXRpb25TdHlsZSBpcyAiaW5saW5lIgor
UEFTUyBuZXcgQ2xpcGJvYXJkSXRlbSh7IH0sICdpbmxpbmUnKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC1pbnRlcmZhY2VzLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaW50ZXJmYWNlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1YTI2
NzY4MjE0OGUzZWM2ZDcwNTcwMTQzZTIxZGYzZWVkYjU1NTQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaW50ZXJmYWNlcy5o
dG1sCkBAIC0wLDAgKzEsNjggQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1
bm5lciBbIGV4cGVyaW1lbnRhbDphc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHNob3VsZFJl
amVjdChzY3JpcHRUb0V2YWx1YXRlKQorICAgICAgICB7CisgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoYCR7c2NyaXB0VG9FdmFsdWF0ZX0gcmVzb2x2ZWQgdG8g
JHthd2FpdCBldmFsKHNjcmlwdFRvRXZhbHVhdGUpfWApOworICAgICAgICAgICAgfSBjYXRjaCAo
ZXhjZXB0aW9uKSB7CisgICAgICAgICAgICAgICAgdGVzdFBhc3NlZChgJHtzY3JpcHRUb0V2YWx1
YXRlfSByZWplY3RlZCB3aXRoICR7ZXhjZXB0aW9ufWApOworICAgICAgICAgICAgfQorICAgICAg
ICB9CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gcnVuVGVzdCgpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGUgaW50ZXJmYWNlcyBvZiB0aGUgYXN5bmMgY2xp
cGJvYXJkIEFQSSwgd2hpY2ggaW5jbHVkZSBDbGlwYm9hcmQsIENsaXBib2FyZEl0ZW0sIGFuZCBl
eHRlbnNpb25zIHRvIE5hdmlnYXRvci4iKTsKKworICAgICAgICAgICAgZGVidWcoIlxuVGVzdGlu
ZyBDbGlwYm9hcmQ6Iik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIkNsaXBib2FyZCBpbnN0
YW5jZW9mIEZ1bmN0aW9uIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInR5
cGVvZiBDbGlwYm9hcmQiLCAiZnVuY3Rpb24iKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgi
bmF2aWdhdG9yLmNsaXBib2FyZCBpbnN0YW5jZW9mIENsaXBib2FyZCIpOworICAgICAgICAgICAg
c2hvdWxkQmVUcnVlKCJPYmplY3QuZ2V0UHJvdG90eXBlT2YobmF2aWdhdG9yLmNsaXBib2FyZCkg
PT09IENsaXBib2FyZC5wcm90b3R5cGUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiQ2xp
cGJvYXJkLnByb3RvdHlwZS5yZWFkVGV4dCBpbnN0YW5jZW9mIEZ1bmN0aW9uIik7CisgICAgICAg
ICAgICBzaG91bGRCZVRydWUoIkNsaXBib2FyZC5wcm90b3R5cGUud3JpdGVUZXh0IGluc3RhbmNl
b2YgRnVuY3Rpb24iKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiQ2xpcGJvYXJkLnByb3Rv
dHlwZS5yZWFkIGluc3RhbmNlb2YgRnVuY3Rpb24iKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1
ZSgiQ2xpcGJvYXJkLnByb3RvdHlwZS53cml0ZSBpbnN0YW5jZW9mIEZ1bmN0aW9uIik7CisgICAg
ICAgICAgICBzaG91bGRUaHJvdygiQ2xpcGJvYXJkKCkiKTsKKyAgICAgICAgICAgIHNob3VsZFRo
cm93KCJuZXcgQ2xpcGJvYXJkKCkiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiQ2xpcGJvYXJkLnRvU3RyaW5nKCkiLCAiZnVuY3Rpb24gQ2xpcGJvYXJkKCkge1xuICAgIFtu
YXRpdmUgY29kZV1cbn0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmF2
aWdhdG9yLmNsaXBib2FyZC50b1N0cmluZygpIiwgIltvYmplY3QgQ2xpcGJvYXJkXSIpOworICAg
ICAgICAgICAgc2hvdWxkQmVUcnVlKCJuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCgnZm9v
JykgaW5zdGFuY2VvZiBQcm9taXNlIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIm5hdmln
YXRvci5jbGlwYm9hcmQud3JpdGUoWyBdKSBpbnN0YW5jZW9mIFByb21pc2UiKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlVHJ1ZSgibmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkKCkgaW5zdGFuY2VvZiBQ
cm9taXNlIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIm5hdmlnYXRvci5jbGlwYm9hcmQu
cmVhZFRleHQoKSBpbnN0YW5jZW9mIFByb21pc2UiKTsKKyAgICAgICAgICAgIGF3YWl0IHNob3Vs
ZFJlamVjdCgibmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZSgpIik7CisgICAgICAgICAgICBhd2Fp
dCBzaG91bGRSZWplY3QoIm5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KCkiKTsKKyAgICAg
ICAgICAgIGF3YWl0IHNob3VsZFJlamVjdCgibmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZSgnZm9v
JykiKTsKKyAgICAgICAgICAgIGF3YWl0IHNob3VsZFJlamVjdCgibmF2aWdhdG9yLmNsaXBib2Fy
ZC53cml0ZShbMSwgMiwgM10pIik7CisgICAgICAgICAgICBhd2FpdCBzaG91bGRSZWplY3QoIm5h
dmlnYXRvci5jbGlwYm9hcmQud3JpdGUobmV3IENsaXBib2FyZEl0ZW0oeyB9KSkiKTsKKworICAg
ICAgICAgICAgZGVidWcoIlxuVGVzdGluZyBDbGlwYm9hcmRJdGVtOiIpOworICAgICAgICAgICAg
c2hvdWxkQmVUcnVlKCJDbGlwYm9hcmRJdGVtIGluc3RhbmNlb2YgRnVuY3Rpb24iKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidHlwZW9mIENsaXBib2FyZEl0ZW0iLCAiZnVu
Y3Rpb24iKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiQ2xpcGJvYXJkSXRlbS5wcm90b3R5
cGUuZ2V0VHlwZSBpbnN0YW5jZW9mIEZ1bmN0aW9uIik7CisgICAgICAgICAgICBzaG91bGRUaHJv
dygiQ2xpcGJvYXJkSXRlbSgpIik7CisgICAgICAgICAgICBzaG91bGRUaHJvdygibmV3IENsaXBi
b2FyZEl0ZW0oKSIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3coIm5ldyBDbGlwYm9hcmRJdGVt
KCdmb28nKSIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJuZXcgQ2xpcGJvYXJkSXRlbSh7
IH0pIGluc3RhbmNlb2YgQ2xpcGJvYXJkSXRlbSIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVl
KCJPYmplY3QuZ2V0UHJvdG90eXBlT2YobmV3IENsaXBib2FyZEl0ZW0oeyB9KSkgPT09IENsaXBi
b2FyZEl0ZW0ucHJvdG90eXBlIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIm5ldyBDbGlw
Ym9hcmRJdGVtKHsgfSkudHlwZXMgaW5zdGFuY2VvZiBBcnJheSIpOworICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJDbGlwYm9hcmRJdGVtLnRvU3RyaW5nKCkiLCAiZnVuY3Rpb24g
Q2xpcGJvYXJkSXRlbSgpIHtcbiAgICBbbmF0aXZlIGNvZGVdXG59Iik7CisgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBDbGlwYm9hcmRJdGVtKHsgfSkudG9TdHJpbmcoKSIs
ICJbb2JqZWN0IENsaXBib2FyZEl0ZW1dIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoIm5ldyBDbGlwYm9hcmRJdGVtKHsgfSwgeyBmb286ICdhdHRhY2htZW50JyB9KS5wcmVz
ZW50YXRpb25TdHlsZSIsICJ1bnNwZWNpZmllZCIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3co
Im5ldyBDbGlwYm9hcmRJdGVtKHsgfSwgeyBwcmVzZW50YXRpb25TdHlsZTogJ0F0dGFDSG1lblQn
IH0pLnByZXNlbnRhdGlvblN0eWxlIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoIm5ldyBDbGlwYm9hcmRJdGVtKHsgfSwgeyBwcmVzZW50YXRpb25TdHlsZTogJ3Vuc3BlY2lm
aWVkJyB9KS5wcmVzZW50YXRpb25TdHlsZSIsICJ1bnNwZWNpZmllZCIpOworICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQ2xpcGJvYXJkSXRlbSh7IH0sIHsgcHJlc2VudGF0
aW9uU3R5bGU6ICdhdHRhY2htZW50JyB9KS5wcmVzZW50YXRpb25TdHlsZSIsICJhdHRhY2htZW50
Iik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBDbGlwYm9hcmRJdGVt
KHsgfSwgeyBwcmVzZW50YXRpb25TdHlsZTogJ2lubGluZScgfSkucHJlc2VudGF0aW9uU3R5bGUi
LCAiaW5saW5lIik7CisgICAgICAgICAgICBzaG91bGRUaHJvdygibmV3IENsaXBib2FyZEl0ZW0o
eyB9LCAnaW5saW5lJykiKTsKKworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
IH0KKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keSBvbmxvYWQ9cnVuVGVzdCgpPjwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC13cmFwcGVyLXN0YXlzLWFsaXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC13cmFwcGVyLXN0YXlzLWFsaXZlLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMWE3ODA2ZmNkZmIwMDMyZmU4YzdkMDcxNjNjNTEzMWQ2MWZm
ZWZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9h
cmQvY2xpcGJvYXJkLXdyYXBwZXItc3RheXMtYWxpdmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTAgQEAKK1ZlcmlmaWVzIHRoYXQgdGhlIHdyYXBwZXIgZm9yIE5hdmlnYXRvcidzIENsaXBib2Fy
ZCByZW1haW5zIGNvbnNpc3RlbnQgYWNyb3NzIEdDIHBhc3Nlcy4gVGhpcyB0ZXN0IG11c3QgYmUg
cnVuIHVzaW5nIFdlYktpdFRlc3RSdW5uZXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitQQVNTIHN1YmZyYW1lTmF2aWdhdG9yLmNsaXBib2FyZC5mb28gaXMgImJhciIKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtd3JhcHBlci1z
dGF5cy1hbGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLXdyYXBwZXItc3RheXMtYWxpdmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMWY1NjE4ZTZiYTM0
ZDRjZDhmNzlhMDhiODVlM2FjZWM4MmFmYzlkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLXdyYXBwZXItc3RheXMtYWxpdmUu
aHRtbApAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyBleHBlcmltZW50YWw6YXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4K
KzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhZGRFdmVudExpc3RlbmVyKCJsb2Fk
IiwgYXN5bmMgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVmVyaWZpZXMg
dGhhdCB0aGUgd3JhcHBlciBmb3IgTmF2aWdhdG9yJ3MgQ2xpcGJvYXJkIHJlbWFpbnMgY29uc2lz
dGVudCBhY3Jvc3MgR0MgcGFzc2VzLiBUaGlzIHRlc3QgbXVzdCBiZSBydW4gdXNpbmcgV2ViS2l0
VGVzdFJ1bm5lci4iKTsKKworICAgICAgICAgICAgc3ViZnJhbWUgPSBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCJpZnJhbWUiKTsKKyAgICAgICAgICAgIHN1YmZyYW1lTmF2aWdhdG9yID0gc3ViZnJh
bWUuY29udGVudFdpbmRvdy5uYXZpZ2F0b3I7CisgICAgICAgICAgICBzdWJmcmFtZU5hdmlnYXRv
ci5jbGlwYm9hcmQuZm9vID0gImJhciI7CisgICAgICAgICAgICBzdWJmcmFtZS5yZW1vdmUoKTsK
KyAgICAgICAgICAgIHN1YmZyYW1lID0gbnVsbDsKKworICAgICAgICAgICAgaWYgKHdpbmRvdy5H
Q0NvbnRyb2xsZXIpCisgICAgICAgICAgICAgICAgR0NDb250cm9sbGVyLmNvbGxlY3QoKTsKKwor
ICAgICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29s
dmUsIDUwKSk7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInN1YmZyYW1lTmF2
aWdhdG9yLmNsaXBib2FyZC5mb28iLCAiYmFyIik7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgfSk7CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHk+CisgICAgICAgIDxpZnJh
bWUgc3JjZG9jPSJIZWxsbyB3b3JsZCI+PC9pZnJhbWU+CisgICAgPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNy
YXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hl
ZC1uby1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggZjJmNjNlODU2NTBkNjIxYzQ2YTE3MDFhZDI1
N2QyZDQyZjg3NjczZi4uMjdmYmJlYTFhNDE5ZjFkMWZlM2Y0NmUxZDJhNjM0ZGM1MTNjYjBmMyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNy
YXNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0
YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC01LDYgKzUsNyBAQCBUaGlzIHRlc3RzIHRo
YXQgdGhlIG5hdmlnYXRvciBvYmplY3Qgb2YgYSBkZWxldGVkIGZyYW1lIGlzIGRpc2Nvbm5lY3Rl
ZCBwcm9wZXJseQogbmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwTmFt
ZSBpcyBPSwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25hdmlnYXRvci5jbGlwYm9hcmQg
aXMgT0sKIG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBuYXZpZ2F0b3IuY3JlZGVudGlh
bHMgaXMgT0sKIG5hdmlnYXRvci5nZXRTdG9yYWdlVXBkYXRlcygpIGlzIE9LCkBAIC0zMSw2ICsz
Miw3IEBAIG5hdmlnYXRvci53ZWJkcml2ZXIgaXMgT0sKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBp
cyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9L
CituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBP
SwogbmF2aWdhdG9yLmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0
ZXMoKSBpcyBPSwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0
RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IDU1NzA0MmE1NzU2ODE5N2EwMWExYzhiZGVmMmU4MzA0NDY1NmYwOTEuLjA2ZWQ3
NGE3ZGQyMWFlODBlYmNmYjNiMDZkYzU4MTc5ZWU1MWMyOTggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE1LDYgKzE1LDkgQEAgaHR0cC90
ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtZG9tY2FjaGUtcGVuZGluZy1wcm9taXNlLmh0bWwg
WyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3JlcXVl
c3QvZGVzdGluYXRpb24gWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBvbGljeSBbIFNraXAgXQogCisjIEFzeW5jIENs
aXBib2FyZCBBUEkgaXMgbm90IHN1cHBvcnRlZCBpbiBXZWJLaXQxIHlldC4KK3dlYmtpdC5vcmcv
Yi8yMDI2NTQgZWRpdGluZy9hc3luYy1jbGlwYm9hcmQgWyBTa2lwIF0KKwogIyBTa2lwIFdlYlJU
QyBmb3Igbm93IGluIFdLMQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMg
WyBTa2lwIF0KIHdlYnJ0YyBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLWhpZ2hzaWVycmEvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1oaWdoc2llcnJhL2Zhc3QvZG9t
L25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggODUwODA3NjA3
NTVlMGJkNTAwNTljODc3ZmRlYmMyZTc0MzY0NzNiZS4uMjg1YjFlN2FjZDUwMDA1MTk1YjBkOGU4
NWMxOWVjOTgyN2U5MzU0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWhp
Z2hzaWVycmEvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtaGlnaHNpZXJyYS9mYXN0L2RvbS9uYXZp
Z2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC00LDYgKzQsNyBAQCBUaGlz
IHRlc3RzIHRoYXQgdGhlIG5hdmlnYXRvciBvYmplY3Qgb2YgYSBkZWxldGVkIGZyYW1lIGlzIGRp
c2Nvbm5lY3RlZCBwcm9wZXJseQogbmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0
b3IuYXBwTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25hdmlnYXRvci5j
bGlwYm9hcmQgaXMgT0sKIG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBuYXZpZ2F0b3Iu
Y3JlZGVudGlhbHMgaXMgT0sKIG5hdmlnYXRvci5nZXRTdG9yYWdlVXBkYXRlcygpIGlzIE9LCkBA
IC0yOCw2ICsyOSw3IEBAIG5hdmlnYXRvci53ZWJkcml2ZXIgaXMgT0sKIG5hdmlnYXRvci5hcHBD
b2RlTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJz
aW9uIGlzIE9LCituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5h
YmxlZCBpcyBPSwogbmF2aWdhdG9yLmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3Rv
cmFnZVVwZGF0ZXMoKSBpcyBPSwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IGYzZjhiOGE3MTQ5ZTE5ZjQ3ZWJlMWJhY2E1Zjc5MTJiYjVmMjJh
NmMuLjJkNzliMWQwMzI5OGQyZGRlYmEyZjA3M2I2MzU5YjM2MGE0Y2IyNzEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ0LDYgKzQ0LDkg
QEAgY3NzLWN1c3RvbS1wcm9wZXJ0aWVzLWFwaSBbIFNraXAgXQogY3NzLXR5cGVkb20gWyBTa2lw
IF0KIGNzcy1kYXJrLW1vZGUgWyBTa2lwIF0KIAorIyBBc3luYyBDbGlwYm9hcmQgQVBJIGlzIG5v
dCBzdXBwb3J0ZWQgaW4gV2ViS2l0MSB5ZXQuCit3ZWJraXQub3JnL2IvMjAyNjU0IGVkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkIFsgU2tpcCBdCisKIHdlYmdwdSBbIFNraXAgXQogaW5zcGVjdG9yL2Nh
bnZhcy9jcmVhdGUtY29udGV4dC13ZWJncHUuaHRtbCBbIFNraXAgXQogaW5zcGVjdG9yL2NhbnZh
cy9yZXF1ZXN0Q2xpZW50Tm9kZXMtd2ViZ3B1Lmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5v
LWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9k
b20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCAzY2YwZGIy
YmQ4MThjN2VkMDc5MDI5N2Q1MjFhNWI1MzU0MGZkOWY4Li4zNDEyODQwMTdiNDI3NDRkMWJkMTFi
NTlkNjJhMTg1ZjJkNzBkYzlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNo
ZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC01LDYgKzUsNyBAQCBUaGlzIHRlc3RzIHRoYXQg
dGhlIG5hdmlnYXRvciBvYmplY3Qgb2YgYSBkZWxldGVkIGZyYW1lIGlzIGRpc2Nvbm5lY3RlZCBw
cm9wZXJseQogbmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwTmFtZSBp
cyBPSwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25hdmlnYXRvci5jbGlwYm9hcmQgaXMg
T0sKIG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBuYXZpZ2F0b3IuY3JlZGVudGlhbHMg
aXMgT0sKIG5hdmlnYXRvci5nZXRTdG9yYWdlVXBkYXRlcygpIGlzIE9LCkBAIC0zMSw2ICszMiw3
IEBAIG5hdmlnYXRvci53ZWJkcml2ZXIgaXMgT0sKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBP
SwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCitu
YXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwog
bmF2aWdhdG9yLmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMo
KSBpcyBPSwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZG9tL25h
dmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4
dAppbmRleCAzMzNlYzk2MDhkOGQ0ZGY1N2MxZmYwZjJkN2U0ZTI1Mzc4YmEzNzNmLi5mZjFjNTIx
ZDEwMTA4MDZlOTBkNTcwNWRlNDQzMjQzMjQzN2FmOWNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9kb20vbmF2aWdhdG9y
LWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtNCw2ICs0LDcgQEAgVGhpcyB0ZXN0
cyB0aGF0IHRoZSBuYXZpZ2F0b3Igb2JqZWN0IG9mIGEgZGVsZXRlZCBmcmFtZSBpcyBkaXNjb25u
ZWN0ZWQgcHJvcGVybHkKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFw
cE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3IuY2xpcGJv
YXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9yLmNyZWRl
bnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwpAQCAtMjcs
NiArMjgsNyBAQCBuYXZpZ2F0b3Iud2ViZHJpdmVyIGlzIE9LCiBuYXZpZ2F0b3IuYXBwQ29kZU5h
bWUgaXMgT0sKIG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwVmVyc2lvbiBp
cyBPSworbmF2aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQg
aXMgT0sKIG5hdmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwogbmF2aWdhdG9yLmdldFN0b3JhZ2VV
cGRhdGVzKCkgaXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0
L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBl
Y3RlZC50eHQKaW5kZXggOWNjY2VhYzU5MzI1MDRkMWI3YTEwYjFmYzkxNWVmM2U1YzE1OWVlMy4u
MjE4OGVmYTdmMzJjOTRmN2MzODk2YzRiMTc3ZGE1OTczM2Y2MDM4NiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFz
aC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZG9tL25h
dmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTQsNiArNCw3IEBAIFRo
aXMgdGVzdHMgdGhhdCB0aGUgbmF2aWdhdG9yIG9iamVjdCBvZiBhIGRlbGV0ZWQgZnJhbWUgaXMg
ZGlzY29ubmVjdGVkIHByb3Blcmx5CiBuYXZpZ2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sKIG5hdmln
YXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2aWdhdG9y
LmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5hdmlnYXRv
ci5jcmVkZW50aWFscyBpcyBPSwogbmF2aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkgaXMgT0sK
QEAgLTI0LDYgKzI1LDcgQEAgbmF2aWdhdG9yLndlYmRyaXZlciBpcyBPSwogbmF2aWdhdG9yLmFw
cENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcFZl
cnNpb24gaXMgT0sKK25hdmlnYXRvci5jbGlwYm9hcmQgaXMgT0sKIG5hdmlnYXRvci5jb29raWVF
bmFibGVkIGlzIE9LCiBuYXZpZ2F0b3IuY3JlZGVudGlhbHMgaXMgT0sKIG5hdmlnYXRvci5nZXRT
dG9yYWdlVXBkYXRlcygpIGlzIE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW5jYWlyby9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFj
aGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCBiM2IyNTJmZGU3ZTA5NjUzMzk4MjY0ZWZk
NWUwYzhjNzA4OGY2NDU3Li5kMTljNTc2YTUxN2ZiMmEzMmFjYmU4ZTNmYzQ3N2E3ZDFkYWIwZjEz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9mYXN0L2RvbS9uYXZp
Z2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbmNhaXJvL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBl
Y3RlZC50eHQKQEAgLTMsNiArMyw3IEBAIFRoaXMgdGVzdHMgdGhhdCB0aGUgbmF2aWdhdG9yIG9i
amVjdCBvZiBhIGRlbGV0ZWQgZnJhbWUgaXMgZGlzY29ubmVjdGVkIHByb3Blcmx5CiBuYXZpZ2F0
b3IuYXBwQ29kZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3Iu
YXBwVmVyc2lvbiBpcyBPSworbmF2aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNv
b2tpZUVuYWJsZWQgaXMgT0sKIG5hdmlnYXRvci5nZXRTdG9yYWdlVXBkYXRlcygpIGlzIE9LCiBu
YXZpZ2F0b3IuamF2YUVuYWJsZWQoKSBpcyBPSwpAQCAtMjEsNiArMjIsNyBAQCBuYXZpZ2F0b3Iu
d2ViZHJpdmVyIGlzIE9LCiBuYXZpZ2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5h
cHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2aWdhdG9yLmNsaXBi
b2FyZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5hdmlnYXRvci5nZXRT
dG9yYWdlVXBkYXRlcygpIGlzIE9LCiBuYXZpZ2F0b3IuamF2YUVuYWJsZWQoKSBpcyBPSwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380376</attachid>
            <date>2019-10-07 17:31:03 -0700</date>
            <delta_ts>2019-10-07 17:52:36 -0700</delta_ts>
            <desc>Fix WPE build</desc>
            <filename>bug-202622-20191007173102.patch</filename>
            <type>text/plain</type>
            <size>68010</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwODA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODQ1MjdlMTUwMjJiNmZi
YjU1M2Y2MGQzZWMxZGUxODRjYzZmZDQ4Zi4uN2E5YWQ3M2M4Y2Q4OGU0MzEyMzAwNGE1NjUwOWQz
M2YyNjFkMGQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc3IEBACisyMDE5LTEwLTA3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtDbGlwYm9hcmQg
QVBJXSBJbnRyb2R1Y2UgYmluZGluZ3MgZm9yIHRoZSBhc3luYyBDbGlwYm9hcmQgQVBJCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI2MjIKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzU2MDM4MTI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1
a2UgTml3YS4KKworICAgICAgICBBZGRzIElETCBmb3IgdGhlIGFzeW5jIGNsaXBib2FyZCBBUEkg
KHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBkZWxheWVkIGl0ZW0gZ2VuZXJhdGlvbiBpbnRlcmZhY2Vz
LCB3aGljaAorICAgICAgICBJJ2xsIGl0ZXJhdGUgb24gYW5kIGludHJvZHVjZSBzZXBhcmF0ZWx5
KS4gU2VlOiBodHRwczovL3czYy5naXRodWIuaW8vY2xpcGJvYXJkLWFwaXMvI2FzeW5jLWNsaXBi
b2FyZC1hcGkgZm9yCisgICAgICAgIG1vcmUgaW5mb3JtYXRpb24uCisKKyAgICAgICAgVGVzdHM6
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pbnRlcmZhY2VzLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC13cmFwcGVyLXN0YXlz
LWFsaXZlLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q2xpcGJvYXJkOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpDbGlw
Ym9hcmQpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpuYXZpZ2F0b3IpOgorICAgICAg
ICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpldmVudFRhcmdldEludGVyZmFjZSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpyZWFkVGV4dCk6CisgICAgICAgIChXZWJDb3Jl
OjpDbGlwYm9hcmQ6OndyaXRlVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OnJl
YWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjp3cml0ZSk6CisKKyAgICAgICAgU3R1
YiBvdXQgdGhlc2UgQVBJIGNhbGxzIGZvciBub3cgYnkgaW1tZWRpYXRlbHkgcmVqZWN0aW5nIHRo
ZSBnaXZlbiBwcm9taXNlLgorCisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xp
cGJvYXJkLmg6CisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZEl0ZW06OkNsaXBib2FyZEl0ZW0pOgorICAgICAg
ICAoV2ViQ29yZTo6Q2xpcGJvYXJkSXRlbTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNs
aXBib2FyZEl0ZW06OnR5cGVzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZEl0
ZW06OmdldFR5cGUpOgorCisgICAgICAgIFN0dWIgb3V0IHRoZXNlIEFQSSBjYWxscyBmb3Igbm93
IGJ5IGltbWVkaWF0ZWx5IHJlamVjdGluZyB0aGUgZ2l2ZW4gcHJvbWlzZS4KKworICAgICAgICAo
V2ViQ29yZTo6bmF2aWdhdG9yKToKKyAgICAgICAgKiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9D
bGlwYm9hcmRJdGVtLmg6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmRJdGVtOjpwcmVzZW50
YXRpb25TdHlsZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xp
cGJvYXJkSXRlbS5pZGw6CisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdh
dG9yQ2xpcGJvYXJkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNsaXBib2FyZDo6
TmF2aWdhdG9yQ2xpcGJvYXJkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNsaXBib2Fy
ZDo6Y2xpcGJvYXJkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNsaXBib2FyZDo6ZnJv
bSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDbGlwYm9hcmQ6OnN1cHBsZW1lbnROYW1l
KToKKyAgICAgICAgKiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQu
aDoKKyAgICAgICAgKiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHA6CisgICAgICAgICogTW9k
dWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmUuaDoKKworICAgICAgICBNb3JlIHVuaWZpZWQgc291
cmNlcy1yZWxhdGVkIGJ1aWxkIGZpeGVzLgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRGV2aWNlT3JpZW50
YXRpb25Pck1vdGlvbkV2ZW50LmNwcDoKKworICAgICAgICBVbmlmaWVkIHNvdXJjZXMtcmVsYXRl
ZCBidWlsZCBmaXguCisKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAg
ICAgICAqIGZlYXR1cmVzLmpzb246CisKKyAgICAgICAgQWRkIEFzeW5jIENsaXBib2FyZCBBUEkg
YXMgYSBmZWF0dXJlIGluIGRldmVsb3BtZW50IG9uIHdlYmtpdC5vcmcuCisKKyAgICAgICAgKiBw
YWdlL1NldHRpbmdzLnlhbWw6CisKIDIwMTktMTAtMDcgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtp
QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBidWlsZCBmaXggZm9yIFdpbmRvd3MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMTIzNDJjNzY5NmExZGI4NDcwNTkyMDU1YWE3NTQ2MjQ2MDY3NGNiYy4uOWYz
MzZhODg1NmM3Njk3OTcwNDlkY2FjMDNmNGFmODk2ZTc0YzI0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAxOS0xMC0wNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KKworICAgICAgICBbQ2xpcGJvYXJkIEFQSV0gSW50cm9kdWNlIGJpbmRpbmdzIGZvciB0aGUg
YXN5bmMgQ2xpcGJvYXJkIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjAyNjIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NjAzODEyNj4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgQWRkcyBhIG5ldyBl
eHBlcmltZW50YWwgZmVhdHVyZSBmbGFnLiBTZWUgV2ViQ29yZSBDaGFuZ2VMb2cgZm9yIG1vcmUg
ZGV0YWlscy4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorCiAyMDE5
LTEwLTA3ICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgogCiAgICAg
ICAgIERvbWFpbiByZWxhdGlvbnNoaXBzIGluIHRoZSBJVFAgRGF0YWJhc2Ugc2hvdWxkIGJlIGlu
c2VydGVkIGluIGEgc2luZ2xlIHF1ZXJ5IGFuZCBpZ25vcmUgcmVwZWF0IGluc2VydCBhdHRlbXB0
cy4gKDIwMjYwNCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggODI2MmJlNjhjODI0MDhiZjcxNTZh
MWM4MWZkZDdiNjJmYjRiNWMxYy4uYzc5MmE5ZmZlMzU3ZDVjNzg3N2ZmZjI1Y2JhZDE1ZTRkMDk4
OWY5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTI4LDYgKzI4LDcgQEAgc2V0KFdlYkNvcmVf
UFJJVkFURV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
YXBwbGVwYXkiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJl
cXVlc3QiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdCIK
KyAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQiCiAgICAgIiR7V0VC
Q09SRV9ESVJ9L01vZHVsZXMvYmVhY29uIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2Nh
Y2hlIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50IgpA
QCAtMjIzLDYgKzIyNCwxMCBAQCBzZXQoV2ViQ29yZV9JRExfSU5DTFVERVMKIHNldChXZWJDb3Jl
X05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9haXJwbGF5L1dlYktpdFBsYXliYWNrVGFy
Z2V0QXZhaWxhYmlsaXR5RXZlbnQuaWRsCiAKKyAgICBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9D
bGlwYm9hcmQuaWRsCisgICAgTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkSXRlbS5p
ZGwKKyAgICBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuaWRsCisK
ICAgICBNb2R1bGVzL2JlYWNvbi9OYXZpZ2F0b3JCZWFjb24uaWRsCiAKICAgICBNb2R1bGVzL2Nh
Y2hlL0NhY2hlUXVlcnlPcHRpb25zLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggMmY5OGY5ZTMxNWViNmY4M2UwMzM0Y2E3Zjc4NDhl
M2RlYTRkMTIwOS4uZThmN2E2YjA3MWEyN2FjMWI2YTgxM2Q4N2I5NDUwNWE5ZTIxYzk5OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC00
Nyw2ICs0Nyw5IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlw
cGluZ01ldGhvZFVwZGF0ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2Fw
cGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXIuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UmVxdWVzdC5pZGwKKyQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5pZGwKKyQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uaWRsCiskKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2JlYWNvbi9OYXZpZ2F0b3JCZWFjb24uaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL2NhY2hlL0NhY2hlUXVlcnlPcHRpb25zLmlkbAogJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9jYWNoZS9ET01DYWNoZS5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggOTNjNWM4Njc1ODU5NGFhMGEwN2Ri
NjJiMGM4ZTA0ZDM0NGI4NzgxYS4uN2RmYjg5Nzc3NjkxNzU5ZTUxZGZhMGViZDYzOTgyMGMxZmJh
NjJlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QKQEAgLTI5MCw4ICsyOTAsMTIgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNDaGFyYWN0ZXJEYXRhLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDaGFyYWN0ZXJEYXRhLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2hpbGROb2RlLmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDaGlsZE5vZGUuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDbGlwYm9hcmQuY3BwCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NsaXBib2FyZC5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NsaXBib2Fy
ZEV2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNDbGlwYm9hcmRFdmVudC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0NsaXBib2FyZEl0ZW0uY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0NsaXBib2FyZEl0ZW0uaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDbG9zZUV2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDbG9zZUV2ZW50LmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ29tbWFuZExpbmVBUElIb3N0LmNw
cApAQCAtMTA2Nyw2ICsxMDcxLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvckJlYWNvbi5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yQmVhY29uLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yQ2xpcGJv
YXJkLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNO
YXZpZ2F0b3JDbGlwYm9hcmQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNOYXZpZ2F0b3JDcmVkZW50aWFscy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yQ3JlZGVudGlhbHMuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3JFTUUuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyODQwZWZkNmZhZTY5NDA3OWMxYzAx
NGMzM2JhMDE1MDBmMzI5ODdjLi4zN2EzYjQzNDA1ODFhOTliMzczNjMwNTEyOWRkMDQzMGVlNjRk
NWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTMxLDYgKzMxLDcgQEAgVlBB
VEggPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FpcnBsYXkgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9hcHBsZXBheSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1l
bnRyZXF1ZXN0IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvYmVhY29uIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY2Fj
aGUgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudCBcCkBAIC0x
MjIsNiArMTIzLDkgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxl
UGF5UmVxdWVzdC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQv
Q2xpcGJvYXJkLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9D
bGlwYm9hcmRJdGVtLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FzeW5jLWNsaXBib2Fy
ZC9OYXZpZ2F0b3JDbGlwYm9hcmQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYmVhY29u
L05hdmlnYXRvckJlYWNvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jYWNoZS9DYWNo
ZVF1ZXJ5T3B0aW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jYWNoZS9ET01DYWNo
ZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9h
cmQvQ2xpcGJvYXJkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJk
L0NsaXBib2FyZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGRjNDVkZDI1ZWRhYzZjYmRhZmU4NjAyYzdiMzI4
OTg4NDU4MGFkZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5
bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5jcHAKQEAgLTAsMCArMSw4NSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDbGlwYm9hcmQuaCIKKworI2luY2x1ZGUg
IkNsaXBib2FyZEl0ZW0uaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2UuaCIKKyNpbmNsdWRlICJK
U0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChDbGlwYm9hcmQpOwor
CitSZWY8Q2xpcGJvYXJkPiBDbGlwYm9hcmQ6OmNyZWF0ZShOYXZpZ2F0b3ImIG5hdmlnYXRvcikK
K3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDbGlwYm9hcmQobmF2aWdhdG9yKSk7Cit9CisK
K0NsaXBib2FyZDo6Q2xpcGJvYXJkKE5hdmlnYXRvciYgbmF2aWdhdG9yKQorICAgIDogbV9uYXZp
Z2F0b3IobWFrZVdlYWtQdHIobmF2aWdhdG9yKSkKK3sKK30KKworTmF2aWdhdG9yKiBDbGlwYm9h
cmQ6Om5hdmlnYXRvcigpCit7CisgICAgcmV0dXJuIG1fbmF2aWdhdG9yLmdldCgpOworfQorCitF
dmVudFRhcmdldEludGVyZmFjZSBDbGlwYm9hcmQ6OmV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gQ2xpcGJvYXJkRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOworfQor
CitTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBDbGlwYm9hcmQ6OnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSBjb25zdAoreworICAgIHJldHVybiBtX25hdmlnYXRvciA/IG1fbmF2aWdhdG9yLT5zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkgOiBudWxscHRyOworfQorCit2b2lkIENsaXBib2FyZDo6cmVh
ZFRleHQoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIHByb21pc2UtPnJl
amVjdChOb3RTdXBwb3J0ZWRFcnJvcik7Cit9CisKK3ZvaWQgQ2xpcGJvYXJkOjp3cml0ZVRleHQo
Y29uc3QgU3RyaW5nJiBkYXRhLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCit7Cisg
ICAgVU5VU0VEX1BBUkFNKGRhdGEpOworICAgIHByb21pc2UtPnJlamVjdChOb3RTdXBwb3J0ZWRF
cnJvcik7Cit9CisKK3ZvaWQgQ2xpcGJvYXJkOjpyZWFkKFJlZjxEZWZlcnJlZFByb21pc2U+JiYg
cHJvbWlzZSkKK3sKKyAgICBwcm9taXNlLT5yZWplY3QoTm90U3VwcG9ydGVkRXJyb3IpOworfQor
Cit2b2lkIENsaXBib2FyZDo6d3JpdGUoY29uc3QgVmVjdG9yPFJlZlB0cjxDbGlwYm9hcmRJdGVt
Pj4mIGl0ZW1zLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCit7CisgICAgVU5VU0VE
X1BBUkFNKGl0ZW1zKTsKKyAgICBwcm9taXNlLT5yZWplY3QoTm90U3VwcG9ydGVkRXJyb3IpOwor
fQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2Fy
ZC9DbGlwYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0Ns
aXBib2FyZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxN2RhNGZkM2FhZWU1ODI1MjFmYTMyNTk1Njc2MDY2NTIw
ODAzNTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNs
aXBib2FyZC9DbGlwYm9hcmQuaApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxs
b2NJbmxpbmVzLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi9XZWFr
UHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2xpcGJvYXJkSXRlbTsKK2Ns
YXNzIERlZmVycmVkUHJvbWlzZTsKK2NsYXNzIE5hdmlnYXRvcjsKKworY2xhc3MgQ2xpcGJvYXJk
IGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Q2xpcGJvYXJkPiwgcHVibGljIEV2ZW50VGFyZ2V0
V2l0aElubGluZURhdGEgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ2xpcGJvYXJkKTsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPENsaXBib2FyZD4gY3JlYXRlKE5hdmlnYXRvciYpOwor
CisgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBm
aW5hbDsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkgY29uc3QgZmluYWw7CisKKyAgICBOYXZpZ2F0b3IqIG5hdmlnYXRvcigpOworCisgICAgdXNp
bmcgUmVmQ291bnRlZDo6cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOworCisgICAg
dm9pZCByZWFkVGV4dChSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKyAgICB2b2lkIHdyaXRlVGV4
dChjb25zdCBTdHJpbmcmIGRhdGEsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworCisgICAgdm9p
ZCByZWFkKFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAgIHZvaWQgd3JpdGUoY29uc3QgVmVj
dG9yPFJlZlB0cjxDbGlwYm9hcmRJdGVtPj4mIGRhdGEsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYp
OworCitwcml2YXRlOgorICAgIENsaXBib2FyZChOYXZpZ2F0b3ImKTsKKworICAgIHZvaWQgcmVm
RXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0
KCkgZmluYWwgeyBkZXJlZigpOyB9CisKKyAgICBXZWFrUHRyPE5hdmlnYXRvcj4gbV9uYXZpZ2F0
b3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZjYx
MjdhNTQ2ZDE3NjgwNmFjNGU4MjNlMjUwMTVkYmI4ZGYxOTVkCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmlkbApAQCAt
MCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwordHlwZWRlZiBzZXF1ZW5jZTxDbGlwYm9hcmRJdGVt
PiBDbGlwYm9hcmRJdGVtczsKKworWworICAgIFNlY3VyZUNvbnRleHQsCisgICAgRXhwb3NlZD1X
aW5kb3csCisgICAgRW5hYmxlZEJ5U2V0dGluZz1Bc3luY0NsaXBib2FyZEFQSSwKKyAgICBHZW5l
cmF0ZUlzUmVhY2hhYmxlPVJlYWNoYWJsZUZyb21OYXZpZ2F0b3IKK10gaW50ZXJmYWNlIENsaXBi
b2FyZCA6IEV2ZW50VGFyZ2V0IHsKKyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPENsaXBib2FyZEl0
ZW1zPiByZWFkKCk7CisgICAgW05ld09iamVjdF0gUHJvbWlzZTxET01TdHJpbmc+IHJlYWRUZXh0
KCk7CisgICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiB3cml0ZShDbGlwYm9hcmRJdGVtcyBk
YXRhKTsKKyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPHZvaWQ+IHdyaXRlVGV4dChET01TdHJpbmcg
ZGF0YSk7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlw
Ym9hcmQvQ2xpcGJvYXJkSXRlbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNs
aXBib2FyZC9DbGlwYm9hcmRJdGVtLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YjNlYzNjMjA5ZTRkNzRkMzFl
YjcxNGQwMTNlODI5NzVlNDVjODhiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkSXRlbS5jcHAKQEAgLTAsMCArMSw2NiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDbGlwYm9hcmRJ
dGVtLmgiCisKKyNpbmNsdWRlICJKU0RPTVByb21pc2UuaCIKKyNpbmNsdWRlICJKU0RPTVByb21p
c2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK0NsaXBib2FyZEl0ZW06On5DbGlwYm9hcmRJdGVtKCkgPSBkZWZhdWx0OworCitDbGlw
Ym9hcmRJdGVtOjpDbGlwYm9hcmRJdGVtKFZlY3RvcjxLZXlWYWx1ZVBhaXI8U3RyaW5nLCBSZWZQ
dHI8RE9NUHJvbWlzZT4+PiYmIGl0ZW1zLCBjb25zdCBPcHRpb25zJiBvcHRpb25zKQorICAgIDog
bV9wcmVzZW50YXRpb25TdHlsZShvcHRpb25zLnByZXNlbnRhdGlvblN0eWxlKQoreworICAgIFVO
VVNFRF9QQVJBTShpdGVtcyk7Cit9CisKK1JlZjxDbGlwYm9hcmRJdGVtPiBDbGlwYm9hcmRJdGVt
OjpjcmVhdGUoVmVjdG9yPEtleVZhbHVlUGFpcjxTdHJpbmcsIFJlZlB0cjxET01Qcm9taXNlPj4+
JiYgZGF0YSwgY29uc3QgT3B0aW9ucyYgb3B0aW9ucykKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBDbGlwYm9hcmRJdGVtKFdURk1vdmUoZGF0YSksIG9wdGlvbnMpKTsKK30KKworVmVjdG9y
PFN0cmluZz4gQ2xpcGJvYXJkSXRlbTo6dHlwZXMoKSBjb25zdAoreworICAgIHJldHVybiB7IH07
Cit9CisKK3ZvaWQgQ2xpcGJvYXJkSXRlbTo6Z2V0VHlwZShjb25zdCBTdHJpbmcmIHR5cGUsIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBVTlVTRURfUEFSQU0odHlwZSk7
CisgICAgcHJvbWlzZS0+cmVqZWN0KE5vdFN1cHBvcnRlZEVycm9yKTsKK30KKworTmF2aWdhdG9y
KiBDbGlwYm9hcmRJdGVtOjpuYXZpZ2F0b3IoKQoreworICAgIC8vIEZJWE1FOiBXaGVuIHN1cHBv
cnQgZm9yIENsaXBib2FyZC5yZWFkKCkgaXMgaW1wbGVtZW50ZWQsIHRoaXMgc2hvdWxkIGluc3Rl
YWQgcmV0dXJuIHRoZSBhc3NvY2lhdGVkIENsaXBib2FyZAorICAgIC8vIG9iamVjdCdzIG5hdmln
YXRvciwgaWYgaXQgaXMgYXNzb2NpYXRlZCB3aXRoIGEgQ2xpcGJvYXJkLgorICAgIHJldHVybiBu
dWxscHRyOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYmJkN2Y2MWI2ODdlZWU4YmRmNGEzNjk3ZDFkNTU2NjM2MGRiZjUxYgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZEl0
ZW0uaApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlIDx3dGYvS2V5VmFsdWVQYWlyLmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERlZmVy
cmVkUHJvbWlzZTsKK2NsYXNzIERPTVByb21pc2U7CitjbGFzcyBOYXZpZ2F0b3I7CisKK2NsYXNz
IENsaXBib2FyZEl0ZW0gOiBwdWJsaWMgUmVmQ291bnRlZDxDbGlwYm9hcmRJdGVtPiB7CitwdWJs
aWM6CisgICAgfkNsaXBib2FyZEl0ZW0oKTsKKworICAgIGVudW0gY2xhc3MgUHJlc2VudGF0aW9u
U3R5bGUgOiB1aW50OF90IHsgVW5zcGVjaWZpZWQsIElubGluZSwgQXR0YWNobWVudCB9OworCisg
ICAgc3RydWN0IE9wdGlvbnMgeworICAgICAgICBQcmVzZW50YXRpb25TdHlsZSBwcmVzZW50YXRp
b25TdHlsZSB7IFByZXNlbnRhdGlvblN0eWxlOjpVbnNwZWNpZmllZCB9OworICAgIH07CisKKyAg
ICBzdGF0aWMgUmVmPENsaXBib2FyZEl0ZW0+IGNyZWF0ZShWZWN0b3I8S2V5VmFsdWVQYWlyPFN0
cmluZywgUmVmUHRyPERPTVByb21pc2U+Pj4mJiwgY29uc3QgT3B0aW9ucyYpOworCisgICAgVmVj
dG9yPFN0cmluZz4gdHlwZXMoKSBjb25zdDsKKyAgICB2b2lkIGdldFR5cGUoY29uc3QgU3RyaW5n
JiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisKKyAgICBQcmVzZW50YXRpb25TdHlsZSBwcmVz
ZW50YXRpb25TdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJlc2VudGF0aW9uU3R5bGU7IH07Cisg
ICAgTmF2aWdhdG9yKiBuYXZpZ2F0b3IoKTsKKworcHJpdmF0ZToKKyAgICBDbGlwYm9hcmRJdGVt
KFZlY3RvcjxLZXlWYWx1ZVBhaXI8U3RyaW5nLCBSZWZQdHI8RE9NUHJvbWlzZT4+PiYmLCBjb25z
dCBPcHRpb25zJik7CisKKyAgICBQcmVzZW50YXRpb25TdHlsZSBtX3ByZXNlbnRhdGlvblN0eWxl
IHsgUHJlc2VudGF0aW9uU3R5bGU6OlVuc3BlY2lmaWVkIH07Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBi
b2FyZC9DbGlwYm9hcmRJdGVtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xp
cGJvYXJkL0NsaXBib2FyZEl0ZW0uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjNWIzNGZkYTNlYmM4Mzg1ODRk
MzhiYzE5YTZmMmE0YjVhNDczYTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmlkbApAQCAtMCwwICsxLDQ1IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKwordHlwZWRlZiAoRE9NU3RyaW5nIG9yIEJsb2IpIENsaXBib2FyZEl0ZW1E
YXRhVHlwZTsKK3R5cGVkZWYgUHJvbWlzZTxDbGlwYm9hcmRJdGVtRGF0YVR5cGU+IENsaXBib2Fy
ZEl0ZW1EYXRhOworCitlbnVtIFByZXNlbnRhdGlvblN0eWxlIHsgInVuc3BlY2lmaWVkIiwgImlu
bGluZSIsICJhdHRhY2htZW50IiB9OworCitkaWN0aW9uYXJ5IENsaXBib2FyZEl0ZW1PcHRpb25z
IHsKKyAgICBQcmVzZW50YXRpb25TdHlsZSBwcmVzZW50YXRpb25TdHlsZSA9ICJ1bnNwZWNpZmll
ZCI7Cit9OworCitbCisgICAgQ29uc3RydWN0b3IocmVjb3JkPERPTVN0cmluZywgQ2xpcGJvYXJk
SXRlbURhdGE+IGl0ZW1zLCBvcHRpb25hbCBDbGlwYm9hcmRJdGVtT3B0aW9ucyBvcHRpb25zKSwK
KyAgICBFeHBvc2VkPVdpbmRvdywKKyAgICBFbmFibGVkQnlTZXR0aW5nPUFzeW5jQ2xpcGJvYXJk
QVBJLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCisgICAgR2VuZXJhdGVJc1JlYWNo
YWJsZT1SZWFjaGFibGVGcm9tTmF2aWdhdG9yCitdIGludGVyZmFjZSBDbGlwYm9hcmRJdGVtIHsK
KyAgICByZWFkb25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RE9NU3RyaW5nPiB0eXBlczsKKyAg
ICBbTmV3T2JqZWN0XSBQcm9taXNlPEJsb2I+IGdldFR5cGUoRE9NU3RyaW5nIHR5cGUpOworICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBQcmVzZW50YXRpb25TdHlsZSBwcmVzZW50YXRpb25TdHlsZTsK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9O
YXZpZ2F0b3JDbGlwYm9hcmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlw
Ym9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MzRmYjJkNjMyYThkNDUw
MDljZjQ3YjJhMGEzYTFiYTY4YjA5ZGUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmNwcApAQCAtMCww
ICsxLDcwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5h
dmlnYXRvckNsaXBib2FyZC5oIgorCisjaW5jbHVkZSAiQ2xpcGJvYXJkLmgiCisjaW5jbHVkZSAi
TmF2aWdhdG9yLmgiCisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK05hdmlnYXRvckNsaXBib2FyZDo6TmF2aWdhdG9yQ2xpcGJvYXJkKE5hdmln
YXRvciYgbmF2aWdhdG9yKQorICAgIDogbV9uYXZpZ2F0b3IobmF2aWdhdG9yKQoreworfQorCitO
YXZpZ2F0b3JDbGlwYm9hcmQ6On5OYXZpZ2F0b3JDbGlwYm9hcmQoKSA9IGRlZmF1bHQ7CisKK1Jl
ZlB0cjxDbGlwYm9hcmQ+IE5hdmlnYXRvckNsaXBib2FyZDo6Y2xpcGJvYXJkKE5hdmlnYXRvciYg
bmF2aWdhdG9yKQoreworICAgIHJldHVybiBOYXZpZ2F0b3JDbGlwYm9hcmQ6OmZyb20obmF2aWdh
dG9yKS0+Y2xpcGJvYXJkKCk7Cit9CisKK1JlZlB0cjxDbGlwYm9hcmQ+IE5hdmlnYXRvckNsaXBi
b2FyZDo6Y2xpcGJvYXJkKCkKK3sKKyAgICBpZiAoIW1fY2xpcGJvYXJkKQorICAgICAgICBtX2Ns
aXBib2FyZCA9IENsaXBib2FyZDo6Y3JlYXRlKG1fbmF2aWdhdG9yKTsKKyAgICByZXR1cm4gbV9j
bGlwYm9hcmQ7Cit9CisKK05hdmlnYXRvckNsaXBib2FyZCogTmF2aWdhdG9yQ2xpcGJvYXJkOjpm
cm9tKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIGF1dG8qIHN1cHBsZW1lbnQgPSBzdGF0
aWNfY2FzdDxOYXZpZ2F0b3JDbGlwYm9hcmQqPihTdXBwbGVtZW50PE5hdmlnYXRvcj46OmZyb20o
Jm5hdmlnYXRvciwgc3VwcGxlbWVudE5hbWUoKSkpOworICAgIGlmICghc3VwcGxlbWVudCkgewor
ICAgICAgICBhdXRvIG5ld1N1cHBsZW1lbnQgPSBtYWtlVW5pcXVlPE5hdmlnYXRvckNsaXBib2Fy
ZD4obmF2aWdhdG9yKTsKKyAgICAgICAgc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7
CisgICAgICAgIHByb3ZpZGVUbygmbmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpLCBXVEZNb3Zl
KG5ld1N1cHBsZW1lbnQpKTsKKyAgICB9CisgICAgcmV0dXJuIHN1cHBsZW1lbnQ7Cit9CisKK2Nv
bnN0IGNoYXIqIE5hdmlnYXRvckNsaXBib2FyZDo6c3VwcGxlbWVudE5hbWUoKQoreworICAgIHJl
dHVybiAiTmF2aWdhdG9yQ2xpcGJvYXJkIjsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44ZDE5NDcwZjI1Y2Q1Nzg0ZGYyMGRhNGQyOGNjMDk0MzNjMTJiOTQ1Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2
aWdhdG9yQ2xpcGJvYXJkLmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENsaXBib2FyZDsKK2NsYXNzIE5h
dmlnYXRvcjsKKworY2xhc3MgTmF2aWdhdG9yQ2xpcGJvYXJkIGZpbmFsIDogcHVibGljIFN1cHBs
ZW1lbnQ8TmF2aWdhdG9yPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6
CisgICAgZXhwbGljaXQgTmF2aWdhdG9yQ2xpcGJvYXJkKE5hdmlnYXRvciYpOworICAgIH5OYXZp
Z2F0b3JDbGlwYm9hcmQoKTsKKworICAgIHN0YXRpYyBSZWZQdHI8Q2xpcGJvYXJkPiBjbGlwYm9h
cmQoTmF2aWdhdG9yJik7CisgICAgUmVmUHRyPENsaXBib2FyZD4gY2xpcGJvYXJkKCk7CisKK3By
aXZhdGU6CisgICAgc3RhdGljIE5hdmlnYXRvckNsaXBib2FyZCogZnJvbShOYXZpZ2F0b3ImKTsK
KyAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKKworICAgIFJlZlB0cjxD
bGlwYm9hcmQ+IG1fY2xpcGJvYXJkOworICAgIE5hdmlnYXRvciYgbV9uYXZpZ2F0b3I7Cit9Owor
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9O
YXZpZ2F0b3JDbGlwYm9hcmQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlw
Ym9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZDZiNTMzZjYzYTY3YjA5
YWUwN2EwMDg3ZTU1NTc0NjNmYTk5NTQ5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmlkbApAQCAtMCww
ICsxLDMwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9QXN5bmNDbGlw
Ym9hcmRBUEksCitdIHBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvciB7CisgICAgW1NlY3VyZUNv
bnRleHQsIFNhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBDbGlwYm9hcmQgY2xpcGJvYXJk
OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01l
ZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IGQwODc5OGUyMzRjMDQzOGRiNTY5YTkyZWQ3NTljYjcy
ZDczMmRlOWEuLmI1YjQ1YWIxMGY3ZDgxNzQ1YWI3ZmZmYjFlMTg5OTViNTBkNWVkMjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFj
ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVRyYWNrLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNp
bmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTT3ZlcmNvbnN0cmFp
bmVkRXJyb3IuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWVkaWFDb25zdHJh
aW50cy5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1Q
cml2YXRlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ0RUTUZTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENEVE1GU2VuZGVyLmNwcAppbmRleCAzZTZkYzA4OTRlNjU1M2MzZjkwMmU0OTc5MzBlOTk4ZWI3
YmVhM2NkLi42ZmY0YWE1ZTc3Zjk3ZGRmOTIzZDNiZmI5YTZlNmY3MWM1ZmY1ODRmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5j
cHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIlJUQ0RUTUZTZW5kZXJCYWNrZW5kLmgi
CiAjaW5jbHVkZSAiUlRDRFRNRlRvbmVDaGFuZ2VFdmVudC5oIgorI2luY2x1ZGUgIlJUQ1J0cFNl
bmRlci5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlIDx3
dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHAKaW5kZXggMDA3ZDJjM2E0YjllYmExY2FjMTMw
NDk3Njg2ZDQ0NmQyZjA1MzIzYi4uMmE2NmZmNDhkMWYwMjNlY2JkYTA3OTUxNGY1OWQwZGI2NDNl
ZDFlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTZW5kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwU2VuZGVyLmNwcApAQCAtMzMsNiArMzMsNyBAQAogCiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAK
KyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIlJUQ0RUTUZTZW5k
ZXIuaCIKICNpbmNsdWRlICJSVENEVE1GU2VuZGVyQmFja2VuZC5oIgogI2luY2x1ZGUgIlJUQ1J0
cENhcGFiaWxpdGllcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV2ViR1BVUGlwZWxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VVBpcGVsaW5lLmgKaW5kZXggMWUzMjNjNzliZjE5ODI1ODIzNjJhNzNmOGE2NzVmMTI4YjRhNmY3
MS4uM2IzNGE0ZWIwNjVjYjA0MTk4MmU5MTMwYmRhNjI1MDc2NWIzYWI5MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZS5oCkBAIC0zMCw2ICszMCw3
IEBACiAjaW5jbHVkZSAiR1BVT2JqZWN0QmFzZS5oIgogI2luY2x1ZGUgIldlYkdQVVNoYWRlck1v
ZHVsZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDRhODEwOTI0ZGU3NDMy
ZmZmZTYxMmNmNWVkZDZkMWZhYjYxMzU3MjcuLjNiZDMyNjAyNWQzYjA4NzcwNTQ4ODAwNTNlNTg4
YjA5ZTk1MDJhODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0zMyw2ICszMywxMCBAQCBsb2FkZXIvY2Fj
aGUvQ2FjaGVkQXBwbGljYXRpb25NYW5pZmVzdC5jcHAKIAogI2VuZGlmCiAKK01vZHVsZXMvYXN5
bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5jcHAKK01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBi
b2FyZEl0ZW0uY3BwCitNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQu
Y3BwCisKIE1vZHVsZXMvYmVhY29uL05hdmlnYXRvckJlYWNvbi5jcHAKIAogTW9kdWxlcy9jYWNo
ZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcApAQCAtMjY4OCw3ICsyNjkyLDkgQEAgSlNDaGFu
bmVsTWVyZ2VyTm9kZS5jcHAKIEpTQ2hhbm5lbFNwbGl0dGVyTm9kZS5jcHAKIEpTQ2hhcmFjdGVy
RGF0YS5jcHAKIEpTQ2hpbGROb2RlLmNwcAorSlNDbGlwYm9hcmQuY3BwCiBKU0NsaXBib2FyZEV2
ZW50LmNwcAorSlNDbGlwYm9hcmRJdGVtLmNwcAogSlNDbG9zZUV2ZW50LmNwcAogSlNDb21tYW5k
TGluZUFQSUhvc3QuY3BwCiBKU0NvbW1lbnQuY3BwCkBAIC0zMDI5LDYgKzMwMzUsNyBAQCBKU011
dGF0aW9uUmVjb3JkLmNwcAogSlNOYW1lZE5vZGVNYXAuY3BwCiBKU05hdmlnYXRvci5jcHAKIEpT
TmF2aWdhdG9yQmVhY29uLmNwcAorSlNOYXZpZ2F0b3JDbGlwYm9hcmQuY3BwCiBKU05hdmlnYXRv
ckNyZWRlbnRpYWxzLmNwcAogSlNOYXZpZ2F0b3JHZW9sb2NhdGlvbi5jcHAKIEpTTmF2aWdhdG9y
R1BVLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDgzYzllYzdkOGZlMDQ2M2QwNTFkNTBmZTc2OWMzOTk4NjY3MTU5M2YuLjUy
Nzg4MzhmZDJlNTYxYzY5YmY1NWNjY2UwNGU1Y2E4NDcxZjhiZGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ4NzEsNiArNDg3
MSw5IEBACiAJCUYzQUJGRTBDMTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVtZW50aW5nQWdlbnRz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0FCRkUw
QjEzMEU5REEwMDBFN0Y3RDEgLyogSW5zdHJ1bWVudGluZ0FnZW50cy5oICovOyB9OwogCQlGM0Q0
NjE0OTExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzRDQ2MTQ3MTE2MUQ1MzIwMENBMEQwOSAv
KiBKU0Vycm9ySGFuZGxlci5oICovOyB9OwogCQlGNDMzRTkwMzFEQkJEQkEyMDBFRjBEMTQgLyog
U3RhdGljUGFzdGVib2FyZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjQzM0U5MDIxREJCREJBMjAwRUYwRDE0IC8qIFN0YXRpY1Bhc3RlYm9hcmQuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlGNDQwRTc3
QTIzM0Q5NEQ3MDA2M0Y5QUIgLyogTmF2aWdhdG9yQ2xpcGJvYXJkLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDQwRTc2RjIzM0Q5NEQzMDA2M0Y5QUIg
LyogTmF2aWdhdG9yQ2xpcGJvYXJkLmggKi87IH07CisJCUY0NDBFNzdCMjMzRDk0RDcwMDYzRjlB
QiAvKiBDbGlwYm9hcmRJdGVtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGNDQwRTc3MDIzM0Q5NEQ0MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRlbS5oICov
OyB9OworCQlGNDQwRTc3RDIzM0Q5NEQ3MDA2M0Y5QUIgLyogQ2xpcGJvYXJkLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDQwRTc3MjIzM0Q5NEQ1MDA2
M0Y5QUIgLyogQ2xpcGJvYXJkLmggKi87IH07CiAJCUY0NEE1RjU5MUZFRDM4RjIwMDdGNTk0NCAv
KiBMZWdhY3lOU1Bhc3RlYm9hcmRUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRjQ0QTVGNTcxRkVEMzgzMDAwN0Y1OTQ0IC8qIExlZ2FjeU5TUGFz
dGVib2FyZFR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJRjQ0RUJCRDkxREI1RDIxNDAwMjc3MzM0IC8qIFN0YXRpY1JhbmdlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDRFQkJEODFEQjVEMjE0
MDAyNzczMzQgLyogU3RhdGljUmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlGNDVDMjMxRTE5OTVCNzNCMDBBNkUyRTMgLyogQXhpc1Njcm9s
bFNuYXBPZmZzZXRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGNDVDMjMxQzE5OTVCNzNCMDBBNkUyRTMgLyogQXhpc1Njcm9sbFNuYXBPZmZzZXRzLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEwMDg5
LDcgKzEwMDkyLDExIEBACiAJCTgzNkQwMzJCMURBOEExMzIwMEZGRDk2QiAvKiBKU0V2ZW50SW5p
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0V2ZW50SW5pdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzNkQwMzJDMURBOEExMzIwMEZGRDk2
QiAvKiBKU0V2ZW50SW5pdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V2
ZW50SW5pdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzZEMDMyRDFEQThBMTMy
MDBGRkQ5NkIgLyogSlNDbGlwYm9hcmRFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0NsaXBib2FyZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODM2RDAzMkQxREE4QTEzMjAwRkZEOTZDIC8qIEpTQ2xpcGJvYXJkLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ2xpcGJvYXJkLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODM2RDAzMkQxREE4QTEzMjAwRkZEOTZEIC8qIEpTQ2xp
cGJvYXJkSXRlbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Ns
aXBib2FyZEl0ZW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzZEMDMyRTFE
QThBMTMyMDBGRkQ5NkIgLyogSlNDbGlwYm9hcmRFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0NsaXBib2FyZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTgzNkQwMzJFMURBOEExMzIwMEZGRDk2QyAvKiBKU0NsaXBib2FyZC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NsaXBib2FyZC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk4MzZEMDMyRTFEQThBMTMyMDBGRkQ5NkQgLyogSlNDbGlwYm9hcmRJdGVt
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ2xpcGJvYXJkSXRlbS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzZEQUEwNTFDRUFCN0NEMDBBMkI3MDcgLyog
UmVuZGVyRGVzY2VuZGFudEl0ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJlbmRlckRlc2NlbmRhbnRJdGVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk4MzcwNTY4ODFGNTA5MTUwMDBEOTM0MjUgLyogSlNGaWxlQ2FsbGJhY2suY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNGaWxlQ2FsbGJhY2suY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzcwNTY4OTFGNTA5MTUwMDBEOTM0MjUgLyogSlNG
aWxlU3lzdGVtRW50cnlDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0ZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xNTE1Nyw2ICsxNTE2NCwxNSBAQAogCQlGNDJDRUI1NDIxNDAzMUVFMDAyRENBNzIgLyog
Rm9udEF0dHJpYnV0ZUNoYW5nZXNDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEZvbnRB
dHRyaWJ1dGVDaGFuZ2VzQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0
MzNFOTAyMURCQkRCQTIwMEVGMEQxNCAvKiBTdGF0aWNQYXN0ZWJvYXJkLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0YXRpY1Bhc3RlYm9hcmQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRjQzM0U5MDQxREJCREJDMjAwRUYwRDE0IC8qIFN0YXRpY1Bhc3RlYm9h
cmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RhdGljUGFzdGVib2FyZC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0NDBFNzZFMjMzRDk0RDMwMDYzRjlBQiAvKiBDbGlwYm9h
cmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2xpcGJvYXJkLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0MEU3NkYyMzNEOTREMzAwNjNGOUFC
IC8qIE5hdmlnYXRvckNsaXBib2FyZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBOYXZpZ2F0b3JDbGlwYm9hcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0
MEU3NzAyMzNEOTRENDAwNjNGOUFCIC8qIENsaXBib2FyZEl0ZW0uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ2xpcGJvYXJkSXRlbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlGNDQwRTc3MTIzM0Q5NEQ0MDA2M0Y5QUIgLyogTmF2aWdhdG9yQ2xpcGJvYXJkLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0b3JDbGlwYm9hcmQuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlGNDQwRTc3MjIzM0Q5NEQ1MDA2M0Y5QUIgLyogQ2xpcGJv
YXJkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENsaXBib2FyZC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDQwRTc3MzIzM0Q5NEQ1MDA2M0Y5QUIgLyogTmF2
aWdhdG9yQ2xpcGJvYXJkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE5hdmlnYXRvckNsaXBib2FyZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0
NDBFNzc0MjMzRDk0RDYwMDYzRjlBQiAvKiBDbGlwYm9hcmQuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IENsaXBib2FyZC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0NDBF
Nzc1MjMzRDk0RDYwMDYzRjlBQiAvKiBDbGlwYm9hcmRJdGVtLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENsaXBib2FyZEl0ZW0uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlGNDQwRTc3NzIzM0Q5NEQ3MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRlbS5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ2xpcGJvYXJkSXRlbS5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUY0NDI4NTBCMjE0MDQxMjUwMENDREEyMiAvKiBGb250QXR0cmli
dXRlQ2hhbmdlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGb250QXR0cmlidXRlQ2hhbmdlcy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NEE1RjU3MUZFRDM4MzAwMDdGNTk0
NCAvKiBMZWdhY3lOU1Bhc3RlYm9hcmRUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMZWdhY3lOU1Bh
c3RlYm9hcmRUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDRFQkJENjFE
QjVEMUI2MDAyNzczMzQgLyogU3RhdGljUmFuZ2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IFN0YXRpY1JhbmdlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2NTc1LDYg
KzE2NTkxLDcgQEAKIAkJCQkxMjIxRTA1ODFDMDJCNDA5MDA2QTFBMDAgLyogQW5pbWF0aW9uICov
LAogCQkJCTFBRTk2QTc5MUQxQTBBNUMwMEI4Njc2OCAvKiBBcHBsZVBheSAqLywKIAkJCQk0MUZC
Mjc4ODFGMzQ0NjFCMDA3OTU0ODggLyogQ2FjaGVBUEkgKi8sCisJCQkJRjQ0MEU3NjkyMzNEOTM2
MjAwNjNGOUFCIC8qIENsaXBib2FyZCAqLywKIAkJCQlBODNCNzkxMDBDQ0IwMDFCMDAwQjA4MjUg
LyogQ29yZSAqLywKIAkJCQk1N0M3QTY4RDFFNTY5QTg0MDBDNjdENzEgLyogQ3JlZGVudGlhbE1h
bmFnZW1lbnQgKi8sCiAJCQkJRTFGRjhGNjExODA3NDVDNjAwMTMyNjc0IC8qIENyeXB0byAqLywK
QEAgLTIxOTIzLDYgKzIxOTQwLDcgQEAKIAkJCQlDRTI2MTY5RDE4N0U2NTU0MDA3OTU1RjMgLyog
YWlycGxheSAqLywKIAkJCQkxQTU4RTg2MTFEMTlEMzczMDBDMEVBNzMgLyogYXBwbGVwYXkgKi8s
CiAJCQkJNjNCRDRBNUMxRjc3OEU4NDAwNDM4NzIyIC8qIGFwcGxpY2F0aW9ubWFuaWZlc3QgKi8s
CisJCQkJRjQ0MEU3NkEyMzNEOTNDODAwNjNGOUFCIC8qIGFzeW5jLWNsaXBib2FyZCAqLywKIAkJ
CQk4MzIxNTA3OTFGMjdFOTZCMDA5NUIxMzYgLyogYmVhY29uICovLAogCQkJCTQxMzgwQzFFMUYz
NDM2NjAwMDE1NUZEQSAvKiBjYWNoZSAqLywKIAkJCQk1N0M3QTY4ODFFNTY5NDZEMDBDNjdENzEg
LyogY3JlZGVudGlhbG1hbmFnZW1lbnQgKi8sCkBAIC0yNjc4MCw2ICsyNjc5OCwzMyBAQAogCQkJ
cGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCUY0NDBFNzY5
MjMzRDkzNjIwMDYzRjlBQiAvKiBDbGlwYm9hcmQgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsK
KwkJCWNoaWxkcmVuID0gKAorCQkJCTgzNkQwMzJEMURBOEExMzIwMEZGRDk2QyAvKiBKU0NsaXBi
b2FyZC5jcHAgKi8sCisJCQkJODM2RDAzMkUxREE4QTEzMjAwRkZEOTZDIC8qIEpTQ2xpcGJvYXJk
LmggKi8sCisJCQkJODM2RDAzMkQxREE4QTEzMjAwRkZEOTZEIC8qIEpTQ2xpcGJvYXJkSXRlbS5j
cHAgKi8sCisJCQkJODM2RDAzMkUxREE4QTEzMjAwRkZEOTZEIC8qIEpTQ2xpcGJvYXJkSXRlbS5o
ICovLAorCQkJKTsKKwkJCW5hbWUgPSBDbGlwYm9hcmQ7CisJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOworCQl9OworCQlGNDQwRTc2QTIzM0Q5M0M4MDA2M0Y5QUIgLyogYXN5bmMtY2xpcGJvYXJk
ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlGNDQwRTc2
RTIzM0Q5NEQzMDA2M0Y5QUIgLyogQ2xpcGJvYXJkLmNwcCAqLywKKwkJCQlGNDQwRTc3MjIzM0Q5
NEQ1MDA2M0Y5QUIgLyogQ2xpcGJvYXJkLmggKi8sCisJCQkJRjQ0MEU3NzQyMzNEOTRENjAwNjNG
OUFCIC8qIENsaXBib2FyZC5pZGwgKi8sCisJCQkJRjQ0MEU3NzUyMzNEOTRENjAwNjNGOUFCIC8q
IENsaXBib2FyZEl0ZW0uY3BwICovLAorCQkJCUY0NDBFNzcwMjMzRDk0RDQwMDYzRjlBQiAvKiBD
bGlwYm9hcmRJdGVtLmggKi8sCisJCQkJRjQ0MEU3NzcyMzNEOTRENzAwNjNGOUFCIC8qIENsaXBi
b2FyZEl0ZW0uaWRsICovLAorCQkJCUY0NDBFNzczMjMzRDk0RDUwMDYzRjlBQiAvKiBOYXZpZ2F0
b3JDbGlwYm9hcmQuY3BwICovLAorCQkJCUY0NDBFNzZGMjMzRDk0RDMwMDYzRjlBQiAvKiBOYXZp
Z2F0b3JDbGlwYm9hcmQuaCAqLywKKwkJCQlGNDQwRTc3MTIzM0Q5NEQ0MDA2M0Y5QUIgLyogTmF2
aWdhdG9yQ2xpcGJvYXJkLmlkbCAqLywKKwkJCSk7CisJCQlwYXRoID0gImFzeW5jLWNsaXBib2Fy
ZCI7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQlGNDgzODk3OTFFMUREMjNB
MDA3NkI3RUEgLyogRWRpdGluZ0hpc3RvcnkgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKApAQCAtMjg3MzUsOCArMjg3ODAsMTAgQEAKIAkJCQlFNEE4MTRENDFDNkRF
QzQwMDBCRjg1QUMgLyogQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb24uaCBpbiBIZWFkZXJzICovLAog
CQkJCTgzNDhCRkFDMUI4NTcyOTgwMDkxMkYzNiAvKiBDbGFzc0NvbGxlY3Rpb24uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQxMDc5MDhDMUZDM0YwMzMwMDYxQjI3QSAvKiBDbGllbnRPcmlnaW4uaCBp
biBIZWFkZXJzICovLAorCQkJCUY0NDBFNzdEMjMzRDk0RDcwMDYzRjlBQiAvKiBDbGlwYm9hcmQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdDM0E5MUU2MUM5NjNCODgwMEQxQTdFMyAvKiBDbGlwYm9h
cmRBY2Nlc3NQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDMxQjQwMEE0NEVGQzcwMEY5
OTJFMCAvKiBDbGlwYm9hcmRFdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjQ0MEU3N0IyMzNE
OTRENzAwNjNGOUFCIC8qIENsaXBib2FyZEl0ZW0uaCBpbiBIZWFkZXJzICovLAogCQkJCUZCOTJE
RjRCMTVGRUQwODcwMDk5NDQzMyAvKiBDbGlwUGF0aE9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTgwMzcxNjIxQTY2RjAwQTAwQkFGNTE5IC8qIENsaXBSZWN0LmggaW4gSGVhZGVycyAq
LywKIAkJCQk5N0FBQkQxMzE0RkEwOUQ1MDA3NDU3QUUgLyogQ2xvc2VFdmVudC5oIGluIEhlYWRl
cnMgKi8sCkBAIC0zMDk3Nyw2ICszMTAyNCw3IEBACiAJCQkJQTlDNkU1QTYwRDc0NjQ1ODAwNjQ0
MkU5IC8qIE5hdmlnYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNzE5QzcwRUVFQzE2ODAw
RjYxMjEzIC8qIE5hdmlnYXRvckJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzMjE1MDdFMUYy
N0VBMUIwMDk1QjEzNiAvKiBOYXZpZ2F0b3JCZWFjb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUY0
NDBFNzdBMjMzRDk0RDcwMDYzRjlBQiAvKiBOYXZpZ2F0b3JDbGlwYm9hcmQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTM3MkQzRTU3MjE2NTc4QUUwMEM1RTAyMSAvKiBOYXZpZ2F0b3JDcmVkZW50aWFs
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcxMTQ2MDQxNEVGMDA5QTAwNjc0RkQ5IC8qIE5hdmln
YXRvckdlb2xvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1RUE3MjVENjFBQ0FCRDU3MDBF
QUQxN0IgLyogTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBmZmQz
ZTU5ZWY4NDlhMDFhOGZhNWQyNmMwZmVmYzFmZGE0ZWZhOTI3Li4wNjBjNzAzMjc1ZjRjM2M0ODFk
YWQyOGIzNTNlZWExMjIwMDNlMjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC01NSw2ICs1NSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBtYWNybyhDYWNoZVN0b3JhZ2UpIFwKICAgICBtYWNybyhDbGllbnQpIFwKICAg
ICBtYWNybyhDbGllbnRzKSBcCisgICAgbWFjcm8oQ2xpcGJvYXJkKSBcCisgICAgbWFjcm8oQ2xp
cGJvYXJkSXRlbSkgXAogICAgIG1hY3JvKENyZWRlbnRpYWwpIFwKICAgICBtYWNybyhDcmVkZW50
aWFsc0NvbnRhaW5lcikgXAogICAgIG1hY3JvKENTU0FuaW1hdGlvbikgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50LmNwcAppbmRl
eCAxNWMwNTZkNzY0MzAxNzU5ZjZiY2UwZTViZjk2NzI1ZjBhOTFlZmEwLi4zMDIxYTgxZmJlNWRl
YmQ2YjFmZGIzOTgyYWRmMTEzMjU2YzNhZjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50LmNwcApAQCAtMjYsNiArMjYsOCBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uT3JNb3Rp
b25FdmVudC5oIgogCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiRGV2aWNlT3Jp
ZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQu
aCIKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgppbmRleCA5YjliZjkzN2NjMDkzYTYwMDVjZDYwY2UxNjQ0
Y2IwODhlYmU2NjEyLi4yODI3MGYyNzUwNTA1M2EyMzMxMDMzMjZkYjQ2Y2M3YzBhYjRjMWViIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTcsNiArNyw3IEBA
IEFwcGxlUGF5U2Vzc2lvbiBjb25kaXRpb25hbD1BUFBMRV9QQVkKIEF1ZGlvTm9kZSBjb25kaXRp
b25hbD1XRUJfQVVESU8KIEF1ZGlvQ29udGV4dCBjb25kaXRpb25hbD1XRUJfQVVESU8KIEF1ZGlv
VHJhY2tMaXN0IGNvbmRpdGlvbmFsPVZJREVPX1RSQUNLCitDbGlwYm9hcmQKIERlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlCiBET01BcHBsaWNhdGlvbkNhY2hlCiBET01XaW5kb3cKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2ZlYXR1cmVzLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9mZWF0dXJl
cy5qc29uCmluZGV4IGU1ODdkMjIzNDk0YzJmZmQ4MTM5YjYzN2ZkNWJlNzcxZGMzYzRjYmYuLjI4
N2QwZWIzODYzZDZiNjFmOWQzN2Y0ODQzOTM3NGU4ODAzOTc0MTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2ZlYXR1cmVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvZmVhdHVyZXMuanNv
bgpAQCAtMTEsNiArMTEsMjEgQEAKICAgICAgICAgImNhdGVnb3J5IjogIndlYmFwcHMiLAogICAg
ICAgICAiZGVzY3JpcHRpb24iOiAiUmVzb3VyY2VzIGFyZSBzYXZlZCBmb3Igb2ZmbGluZSB1c2Ug
dXNpbmcgYSBtYW5pZmVzdC4iCiAgICAgfSwKKyAgICB7CisgICAgICAgICJuYW1lIjogIkFzeW5j
IENsaXBib2FyZCBBUEkiLAorICAgICAgICAic3RhdHVzIjogeworICAgICAgICAgICAgInN0YXR1
cyI6ICJJbiBEZXZlbG9wbWVudCIKKyAgICAgICAgfSwKKyAgICAgICAgInVybCI6ICJodHRwczov
L3d3dy53My5vcmcvVFIvY2xpcGJvYXJkLWFwaXMvI2FzeW5jLWNsaXBib2FyZC1hcGkiLAorICAg
ICAgICAic3BlY2lmaWNhdGlvbiI6ICJDbGlwYm9hcmQgQVBJIiwKKyAgICAgICAgImNhdGVnb3J5
IjogIndlYmFwcHMiLAorICAgICAgICAiZGVzY3JpcHRpb24iOiAiQW4gQVBJIHRoYXQgYWxsb3dz
IHJlYWRpbmcgZnJvbSBhbmQgd3JpdGluZyB0byB0aGUgc3lzdGVtIGNsaXBib2FyZC4iLAorICAg
ICAgICAiY29udGFjdCI6IHsKKyAgICAgICAgICAgICJuYW1lIjogIldlbnNvbiBIc2llaCIsCisg
ICAgICAgICAgICAiZW1haWwiOiAid2Vuc29uX2hzaWVoQGFwcGxlLmNvbSIsCisgICAgICAgICAg
ICAidHdpdHRlciI6ICJAd2Vuc29uaHNpZWgiCisgICAgICAgIH0KKyAgICB9LAogICAgIHsKICAg
ICAgICAgIm5hbWUiOiAiQmF0dGVyeSBTdGF0dXMgQVBJIiwKICAgICAgICAgInN0YXR1cyI6IHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAppbmRleCAzMzViNzhhZWQ2MzIzZDEwODE4NjU1YmRj
YjQ4YWQ4Y2UxNzVlMWI1Li5lZmJjNjM1ZTMyYTZmYjAzMGFiZTk5NmZhOTU5MGFlNmMyN2UwMzk0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCkBAIC0xMTgsNiArMTE4LDggQEAgc2hvdWxk
UHJpbnRCYWNrZ3JvdW5kczoKIGNsaXBib2FyZEFjY2Vzc1BvbGljeToKICAgdHlwZTogQ2xpcGJv
YXJkQWNjZXNzUG9saWN5CiAgIGluaXRpYWw6IENsaXBib2FyZEFjY2Vzc1BvbGljeTo6UmVxdWly
ZXNVc2VyR2VzdHVyZQorYXN5bmNDbGlwYm9hcmRBUElFbmFibGVkOgorICBpbml0aWFsOiBmYWxz
ZQogCiB0ZXh0QXJlYXNBcmVSZXNpemFibGU6CiAgIGluaXRpYWw6IGZhbHNlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCBiYjg4OTY3OTQ2N2VmYmYxMzRlMmU3
MWY1YTI3NjI0MTBkNWI2MjVmLi4zNGRkYmJjZmFhNmJjZDZmYWQxYzMzOWY0OTFhMWZkMDYwZmY4
NGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAgLTg0Niw2
ICs4NDYsMTMgQEAgQ3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkOgogICBodW1hblJlYWRhYmxl
RGVzY3JpcHRpb246ICJFbmFibGUgY3VzdG9tIGNsaXBib2FyZCB0eXBlcyBhbmQgYmV0dGVyIHNl
Y3VyaXR5IG1vZGVsIGZvciBjbGlwYm9hcmQgQVBJLiIKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMKIAorQXN5bmNDbGlwYm9hcmRBUElFbmFibGVkOgorICB0eXBlOiBi
b29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJBc3luYyBj
bGlwYm9hcmQgQVBJIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgdGhlIGFz
eW5jIGNsaXBib2FyZCBBUEkiCisgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKKwogV2ViU2hhcmVF
bmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9XRUJfU0hBUkVf
RU5BQkxFRApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDU2YWIzNmU0YmE3NTU5NjVkOWNlZDNmYTc4NzIzNmZiZGNhZmE5OWUu
LjVmZDM2ZDY3YzdmMGYxODk3MTBkOGIxZThlNDg2YjJkNDM5ODE4ODIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzMyBAQAorMjAxOS0xMC0wNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KKworICAgICAgICBbQ2xpcGJvYXJkIEFQSV0gSW50cm9kdWNlIGJpbmRpbmdzIGZvciB0aGUg
YXN5bmMgQ2xpcGJvYXJkIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjAyNjIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NjAzODEyNj4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaW50ZXJmYWNlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pbnRlcmZhY2VzLmh0
bWw6IEFkZGVkLgorCisgICAgICAgIEFkZCBhIG5ldyB0ZXN0IHRvIHNhbml0eSBjaGVjayB0aGUg
bmV3IGNsaXBib2FyZCBBUEkgaW50ZXJmYWNlcyBhbmQgaW50ZXJmYWNlIGV4dGVuc2lvbnMuCisK
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtd3JhcHBlci1zdGF5
cy1hbGl2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC13cmFwcGVyLXN0YXlzLWFsaXZlLmh0bWw6IEFkZGVkLgorCisgICAg
ICAgIEFkZCBhIG5ldyB0ZXN0IHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBjbGlwYm9hcmQgd3JhcHBl
ciBzdGF5cyBhbGl2ZSBiZXR3ZWVuIEdDIHBhc3NlcywgZXZlbiB3aGVuIHRoZSBjbGlwYm9hcmQn
cworICAgICAgICBuYXZpZ2F0b3IgaXMga2VwdCBhbGl2ZSwgaW5kZXBlbmRlbnRseSBvZiBpdHMg
d2luZG93IG9iamVjdC4KKworICAgICAgICAqIGZhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1u
by1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhw
ZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1oaWdoc2llcnJhL2Zhc3QvZG9tL25h
dmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIv
ZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZmFzdC9kb20vbmF2aWdhdG9yLWRl
dGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWly
by9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0OgorCisg
ICAgICAgIFVwZGF0ZSBhbiBleGlzdGluZyBsYXlvdXQgdGVzdCB0byBpbmNsdWRlICJuYXZpZ2F0
b3IuY2xpcGJvYXJkIi4KKwogMjAxOS0xMC0wNyAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hl
bmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBEb21haW4gcmVsYXRpb25zaGlwcyBpbiB0aGUgSVRQ
IERhdGFiYXNlIHNob3VsZCBiZSBpbnNlcnRlZCBpbiBhIHNpbmdsZSBxdWVyeSBhbmQgaWdub3Jl
IHJlcGVhdCBpbnNlcnQgYXR0ZW1wdHMuICgyMDI2MDQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaW50ZXJmYWNlcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaW50ZXJm
YWNlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTljNTBhMWJkNDQ1ZGQ2MmI3MTlhYjJlZjQx
ZWJiZWRlZjY3ZTY5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDUxIEBACitUZXN0cyB0aGUgaW50ZXJmYWNlcyBvZiB0aGUgYXN5bmMgY2xpcGJvYXJkIEFQSSwg
d2hpY2ggaW5jbHVkZSBDbGlwYm9hcmQsIENsaXBib2FyZEl0ZW0sIGFuZCBleHRlbnNpb25zIHRv
IE5hdmlnYXRvci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKworVGVzdGluZyBD
bGlwYm9hcmQ6CitQQVNTIENsaXBib2FyZCBpbnN0YW5jZW9mIEZ1bmN0aW9uIGlzIHRydWUKK1BB
U1MgdHlwZW9mIENsaXBib2FyZCBpcyAiZnVuY3Rpb24iCitQQVNTIG5hdmlnYXRvci5jbGlwYm9h
cmQgaW5zdGFuY2VvZiBDbGlwYm9hcmQgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0UHJvdG90eXBl
T2YobmF2aWdhdG9yLmNsaXBib2FyZCkgPT09IENsaXBib2FyZC5wcm90b3R5cGUgaXMgdHJ1ZQor
UEFTUyBDbGlwYm9hcmQucHJvdG90eXBlLnJlYWRUZXh0IGluc3RhbmNlb2YgRnVuY3Rpb24gaXMg
dHJ1ZQorUEFTUyBDbGlwYm9hcmQucHJvdG90eXBlLndyaXRlVGV4dCBpbnN0YW5jZW9mIEZ1bmN0
aW9uIGlzIHRydWUKK1BBU1MgQ2xpcGJvYXJkLnByb3RvdHlwZS5yZWFkIGluc3RhbmNlb2YgRnVu
Y3Rpb24gaXMgdHJ1ZQorUEFTUyBDbGlwYm9hcmQucHJvdG90eXBlLndyaXRlIGluc3RhbmNlb2Yg
RnVuY3Rpb24gaXMgdHJ1ZQorUEFTUyBDbGlwYm9hcmQoKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBJbGxlZ2FsIGNvbnN0cnVjdG9yLgorUEFTUyBuZXcgQ2xpcGJvYXJkKCkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRp
bmcgJ25ldyBDbGlwYm9hcmQoKScpLgorUEFTUyBDbGlwYm9hcmQudG9TdHJpbmcoKSBpcyAiZnVu
Y3Rpb24gQ2xpcGJvYXJkKCkge1xuICAgIFtuYXRpdmUgY29kZV1cbn0iCitQQVNTIG5hdmlnYXRv
ci5jbGlwYm9hcmQudG9TdHJpbmcoKSBpcyAiW29iamVjdCBDbGlwYm9hcmRdIgorUEFTUyBuYXZp
Z2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCgnZm9vJykgaW5zdGFuY2VvZiBQcm9taXNlIGlzIHRy
dWUKK1BBU1MgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZShbIF0pIGluc3RhbmNlb2YgUHJvbWlz
ZSBpcyB0cnVlCitQQVNTIG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpIGluc3RhbmNlb2YgUHJv
bWlzZSBpcyB0cnVlCitQQVNTIG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZFRleHQoKSBpbnN0YW5j
ZW9mIFByb21pc2UgaXMgdHJ1ZQorUEFTUyBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlKCkgcmVq
ZWN0ZWQgd2l0aCBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzCitQQVNTIG5hdmlnYXRv
ci5jbGlwYm9hcmQud3JpdGVUZXh0KCkgcmVqZWN0ZWQgd2l0aCBUeXBlRXJyb3I6IE5vdCBlbm91
Z2ggYXJndW1lbnRzCitQQVNTIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUoJ2ZvbycpIHJlamVj
dGVkIHdpdGggVHlwZUVycm9yOiBWYWx1ZSBpcyBub3QgYSBzZXF1ZW5jZQorUEFTUyBuYXZpZ2F0
b3IuY2xpcGJvYXJkLndyaXRlKFsxLCAyLCAzXSkgcmVqZWN0ZWQgd2l0aCBUeXBlRXJyb3I6IFR5
cGUgZXJyb3IKK1BBU1MgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZShuZXcgQ2xpcGJvYXJkSXRl
bSh7IH0pKSByZWplY3RlZCB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvcgorCitUZXN0aW5nIENs
aXBib2FyZEl0ZW06CitQQVNTIENsaXBib2FyZEl0ZW0gaW5zdGFuY2VvZiBGdW5jdGlvbiBpcyB0
cnVlCitQQVNTIHR5cGVvZiBDbGlwYm9hcmRJdGVtIGlzICJmdW5jdGlvbiIKK1BBU1MgQ2xpcGJv
YXJkSXRlbS5wcm90b3R5cGUuZ2V0VHlwZSBpbnN0YW5jZW9mIEZ1bmN0aW9uIGlzIHRydWUKK1BB
U1MgQ2xpcGJvYXJkSXRlbSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IENvbnN0cnVjdG9y
IHJlcXVpcmVzICduZXcnIG9wZXJhdG9yLgorUEFTUyBuZXcgQ2xpcGJvYXJkSXRlbSgpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBuZXcgQ2xp
cGJvYXJkSXRlbSgnZm9vJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4K
K1BBU1MgbmV3IENsaXBib2FyZEl0ZW0oeyB9KSBpbnN0YW5jZW9mIENsaXBib2FyZEl0ZW0gaXMg
dHJ1ZQorUEFTUyBPYmplY3QuZ2V0UHJvdG90eXBlT2YobmV3IENsaXBib2FyZEl0ZW0oeyB9KSkg
PT09IENsaXBib2FyZEl0ZW0ucHJvdG90eXBlIGlzIHRydWUKK1BBU1MgbmV3IENsaXBib2FyZEl0
ZW0oeyB9KS50eXBlcyBpbnN0YW5jZW9mIEFycmF5IGlzIHRydWUKK1BBU1MgQ2xpcGJvYXJkSXRl
bS50b1N0cmluZygpIGlzICJmdW5jdGlvbiBDbGlwYm9hcmRJdGVtKCkge1xuICAgIFtuYXRpdmUg
Y29kZV1cbn0iCitQQVNTIG5ldyBDbGlwYm9hcmRJdGVtKHsgfSkudG9TdHJpbmcoKSBpcyAiW29i
amVjdCBDbGlwYm9hcmRJdGVtXSIKK1BBU1MgbmV3IENsaXBib2FyZEl0ZW0oeyB9LCB7IGZvbzog
J2F0dGFjaG1lbnQnIH0pLnByZXNlbnRhdGlvblN0eWxlIGlzICJ1bnNwZWNpZmllZCIKK1BBU1Mg
bmV3IENsaXBib2FyZEl0ZW0oeyB9LCB7IHByZXNlbnRhdGlvblN0eWxlOiAnQXR0YUNIbWVuVCcg
fSkucHJlc2VudGF0aW9uU3R5bGUgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJv
ci4KK1BBU1MgbmV3IENsaXBib2FyZEl0ZW0oeyB9LCB7IHByZXNlbnRhdGlvblN0eWxlOiAndW5z
cGVjaWZpZWQnIH0pLnByZXNlbnRhdGlvblN0eWxlIGlzICJ1bnNwZWNpZmllZCIKK1BBU1MgbmV3
IENsaXBib2FyZEl0ZW0oeyB9LCB7IHByZXNlbnRhdGlvblN0eWxlOiAnYXR0YWNobWVudCcgfSku
cHJlc2VudGF0aW9uU3R5bGUgaXMgImF0dGFjaG1lbnQiCitQQVNTIG5ldyBDbGlwYm9hcmRJdGVt
KHsgfSwgeyBwcmVzZW50YXRpb25TdHlsZTogJ2lubGluZScgfSkucHJlc2VudGF0aW9uU3R5bGUg
aXMgImlubGluZSIKK1BBU1MgbmV3IENsaXBib2FyZEl0ZW0oeyB9LCAnaW5saW5lJykgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaW50ZXJmYWNlcy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWludGVyZmFjZXMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43NWEyNjc2ODIxNDhlM2VjNmQ3MDU3MDE0M2UyMWRmM2VlZGI1NTU0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWludGVyZmFjZXMuaHRtbApAQCAtMCwwICsxLDY4IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6YXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBzaG91bGRSZWplY3Qoc2NyaXB0VG9FdmFsdWF0ZSkKKyAgICAgICAgeworICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGAke3NjcmlwdFRvRXZhbHVhdGV9
IHJlc29sdmVkIHRvICR7YXdhaXQgZXZhbChzY3JpcHRUb0V2YWx1YXRlKX1gKTsKKyAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoYCR7
c2NyaXB0VG9FdmFsdWF0ZX0gcmVqZWN0ZWQgd2l0aCAke2V4Y2VwdGlvbn1gKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKQorICAg
ICAgICB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhlIGludGVyZmFjZXMgb2Yg
dGhlIGFzeW5jIGNsaXBib2FyZCBBUEksIHdoaWNoIGluY2x1ZGUgQ2xpcGJvYXJkLCBDbGlwYm9h
cmRJdGVtLCBhbmQgZXh0ZW5zaW9ucyB0byBOYXZpZ2F0b3IuIik7CisKKyAgICAgICAgICAgIGRl
YnVnKCJcblRlc3RpbmcgQ2xpcGJvYXJkOiIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJD
bGlwYm9hcmQgaW5zdGFuY2VvZiBGdW5jdGlvbiIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0eXBlb2YgQ2xpcGJvYXJkIiwgImZ1bmN0aW9uIik7CisgICAgICAgICAgICBz
aG91bGRCZVRydWUoIm5hdmlnYXRvci5jbGlwYm9hcmQgaW5zdGFuY2VvZiBDbGlwYm9hcmQiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiT2JqZWN0LmdldFByb3RvdHlwZU9mKG5hdmlnYXRv
ci5jbGlwYm9hcmQpID09PSBDbGlwYm9hcmQucHJvdG90eXBlIik7CisgICAgICAgICAgICBzaG91
bGRCZVRydWUoIkNsaXBib2FyZC5wcm90b3R5cGUucmVhZFRleHQgaW5zdGFuY2VvZiBGdW5jdGlv
biIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJDbGlwYm9hcmQucHJvdG90eXBlLndyaXRl
VGV4dCBpbnN0YW5jZW9mIEZ1bmN0aW9uIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIkNs
aXBib2FyZC5wcm90b3R5cGUucmVhZCBpbnN0YW5jZW9mIEZ1bmN0aW9uIik7CisgICAgICAgICAg
ICBzaG91bGRCZVRydWUoIkNsaXBib2FyZC5wcm90b3R5cGUud3JpdGUgaW5zdGFuY2VvZiBGdW5j
dGlvbiIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3coIkNsaXBib2FyZCgpIik7CisgICAgICAg
ICAgICBzaG91bGRUaHJvdygibmV3IENsaXBib2FyZCgpIik7CisgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoIkNsaXBib2FyZC50b1N0cmluZygpIiwgImZ1bmN0aW9uIENsaXBib2Fy
ZCgpIHtcbiAgICBbbmF0aXZlIGNvZGVdXG59Iik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoIm5hdmlnYXRvci5jbGlwYm9hcmQudG9TdHJpbmcoKSIsICJbb2JqZWN0IENsaXBi
b2FyZF0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgibmF2aWdhdG9yLmNsaXBib2FyZC53
cml0ZVRleHQoJ2ZvbycpIGluc3RhbmNlb2YgUHJvbWlzZSIpOworICAgICAgICAgICAgc2hvdWxk
QmVUcnVlKCJuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlKFsgXSkgaW5zdGFuY2VvZiBQcm9taXNl
Iik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIm5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
IGluc3RhbmNlb2YgUHJvbWlzZSIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWRUZXh0KCkgaW5zdGFuY2VvZiBQcm9taXNlIik7CisgICAgICAgICAg
ICBhd2FpdCBzaG91bGRSZWplY3QoIm5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUoKSIpOworICAg
ICAgICAgICAgYXdhaXQgc2hvdWxkUmVqZWN0KCJuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4
dCgpIik7CisgICAgICAgICAgICBhd2FpdCBzaG91bGRSZWplY3QoIm5hdmlnYXRvci5jbGlwYm9h
cmQud3JpdGUoJ2ZvbycpIik7CisgICAgICAgICAgICBhd2FpdCBzaG91bGRSZWplY3QoIm5hdmln
YXRvci5jbGlwYm9hcmQud3JpdGUoWzEsIDIsIDNdKSIpOworICAgICAgICAgICAgYXdhaXQgc2hv
dWxkUmVqZWN0KCJuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlKG5ldyBDbGlwYm9hcmRJdGVtKHsg
fSkpIik7CisKKyAgICAgICAgICAgIGRlYnVnKCJcblRlc3RpbmcgQ2xpcGJvYXJkSXRlbToiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiQ2xpcGJvYXJkSXRlbSBpbnN0YW5jZW9mIEZ1bmN0
aW9uIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInR5cGVvZiBDbGlwYm9h
cmRJdGVtIiwgImZ1bmN0aW9uIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIkNsaXBib2Fy
ZEl0ZW0ucHJvdG90eXBlLmdldFR5cGUgaW5zdGFuY2VvZiBGdW5jdGlvbiIpOworICAgICAgICAg
ICAgc2hvdWxkVGhyb3coIkNsaXBib2FyZEl0ZW0oKSIpOworICAgICAgICAgICAgc2hvdWxkVGhy
b3coIm5ldyBDbGlwYm9hcmRJdGVtKCkiKTsKKyAgICAgICAgICAgIHNob3VsZFRocm93KCJuZXcg
Q2xpcGJvYXJkSXRlbSgnZm9vJykiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgibmV3IENs
aXBib2FyZEl0ZW0oeyB9KSBpbnN0YW5jZW9mIENsaXBib2FyZEl0ZW0iKTsKKyAgICAgICAgICAg
IHNob3VsZEJlVHJ1ZSgiT2JqZWN0LmdldFByb3RvdHlwZU9mKG5ldyBDbGlwYm9hcmRJdGVtKHsg
fSkpID09PSBDbGlwYm9hcmRJdGVtLnByb3RvdHlwZSIpOworICAgICAgICAgICAgc2hvdWxkQmVU
cnVlKCJuZXcgQ2xpcGJvYXJkSXRlbSh7IH0pLnR5cGVzIGluc3RhbmNlb2YgQXJyYXkiKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiQ2xpcGJvYXJkSXRlbS50b1N0cmluZygp
IiwgImZ1bmN0aW9uIENsaXBib2FyZEl0ZW0oKSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIpOwor
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQ2xpcGJvYXJkSXRlbSh7IH0p
LnRvU3RyaW5nKCkiLCAiW29iamVjdCBDbGlwYm9hcmRJdGVtXSIpOworICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQ2xpcGJvYXJkSXRlbSh7IH0sIHsgZm9vOiAnYXR0YWNo
bWVudCcgfSkucHJlc2VudGF0aW9uU3R5bGUiLCAidW5zcGVjaWZpZWQiKTsKKyAgICAgICAgICAg
IHNob3VsZFRocm93KCJuZXcgQ2xpcGJvYXJkSXRlbSh7IH0sIHsgcHJlc2VudGF0aW9uU3R5bGU6
ICdBdHRhQ0htZW5UJyB9KS5wcmVzZW50YXRpb25TdHlsZSIpOworICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJuZXcgQ2xpcGJvYXJkSXRlbSh7IH0sIHsgcHJlc2VudGF0aW9uU3R5
bGU6ICd1bnNwZWNpZmllZCcgfSkucHJlc2VudGF0aW9uU3R5bGUiLCAidW5zcGVjaWZpZWQiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IENsaXBib2FyZEl0ZW0oeyB9
LCB7IHByZXNlbnRhdGlvblN0eWxlOiAnYXR0YWNobWVudCcgfSkucHJlc2VudGF0aW9uU3R5bGUi
LCAiYXR0YWNobWVudCIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcg
Q2xpcGJvYXJkSXRlbSh7IH0sIHsgcHJlc2VudGF0aW9uU3R5bGU6ICdpbmxpbmUnIH0pLnByZXNl
bnRhdGlvblN0eWxlIiwgImlubGluZSIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3coIm5ldyBD
bGlwYm9hcmRJdGVtKHsgfSwgJ2lubGluZScpIik7CisKKyAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHkgb25sb2FkPXJ1blRlc3Qo
KT48L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtd3JhcHBlci1zdGF5cy1hbGl2ZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtd3JhcHBlci1zdGF5
cy1hbGl2ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjFhNzgwNmZjZGZiMDAzMmZlOGM3ZDA3
MTYzYzUxMzFkNjFmZmVmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC13cmFwcGVyLXN0YXlzLWFsaXZlLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEwIEBACitWZXJpZmllcyB0aGF0IHRoZSB3cmFwcGVyIGZvciBOYXZpZ2F0
b3IncyBDbGlwYm9hcmQgcmVtYWlucyBjb25zaXN0ZW50IGFjcm9zcyBHQyBwYXNzZXMuIFRoaXMg
dGVzdCBtdXN0IGJlIHJ1biB1c2luZyBXZWJLaXRUZXN0UnVubmVyLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyBzdWJmcmFtZU5hdmlnYXRvci5jbGlwYm9hcmQuZm9vIGlz
ICJiYXIiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLXdyYXBwZXItc3RheXMtYWxpdmUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC13cmFwcGVyLXN0YXlzLWFsaXZlLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzFmNTYxOGU2YmEzNGQ0Y2Q4Zjc5YTA4Yjg1ZTNhY2VjODJhZmM5ZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC13cmFwcGVy
LXN0YXlzLWFsaXZlLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOmFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIGFzeW5jIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlZlcmlmaWVzIHRoYXQgdGhlIHdyYXBwZXIgZm9yIE5hdmlnYXRvcidzIENsaXBib2FyZCBy
ZW1haW5zIGNvbnNpc3RlbnQgYWNyb3NzIEdDIHBhc3Nlcy4gVGhpcyB0ZXN0IG11c3QgYmUgcnVu
IHVzaW5nIFdlYktpdFRlc3RSdW5uZXIuIik7CisKKyAgICAgICAgICAgIHN1YmZyYW1lID0gZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigiaWZyYW1lIik7CisgICAgICAgICAgICBzdWJmcmFtZU5hdmln
YXRvciA9IHN1YmZyYW1lLmNvbnRlbnRXaW5kb3cubmF2aWdhdG9yOworICAgICAgICAgICAgc3Vi
ZnJhbWVOYXZpZ2F0b3IuY2xpcGJvYXJkLmZvbyA9ICJiYXIiOworICAgICAgICAgICAgc3ViZnJh
bWUucmVtb3ZlKCk7CisgICAgICAgICAgICBzdWJmcmFtZSA9IG51bGw7CisKKyAgICAgICAgICAg
IGlmICh3aW5kb3cuR0NDb250cm9sbGVyKQorICAgICAgICAgICAgICAgIEdDQ29udHJvbGxlci5j
b2xsZWN0KCk7CisKKyAgICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0
VGltZW91dChyZXNvbHZlLCA1MCkpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJzdWJmcmFtZU5hdmlnYXRvci5jbGlwYm9hcmQuZm9vIiwgImJhciIpOworICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0pOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8aWZyYW1lIHNyY2RvYz0iSGVsbG8gd29ybGQiPjwvaWZyYW1lPgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL25hdmlnYXRvci1k
ZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9uYXZp
Z2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IGYyZjYzZTg1NjUwZDYy
MWM0NmExNzAxYWQyNTdkMmQ0MmY4NzY3M2YuLjI3ZmJiZWExYTQxOWYxZDFmZTNmNDZlMWQyYTYz
NGRjNTEzY2IwZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL25hdmlnYXRvci1k
ZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
bmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtNSw2ICs1LDcgQEAg
VGhpcyB0ZXN0cyB0aGF0IHRoZSBuYXZpZ2F0b3Igb2JqZWN0IG9mIGEgZGVsZXRlZCBmcmFtZSBp
cyBkaXNjb25uZWN0ZWQgcHJvcGVybHkKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2
aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0
b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdh
dG9yLmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBP
SwpAQCAtMzEsNiArMzIsNyBAQCBuYXZpZ2F0b3Iud2ViZHJpdmVyIGlzIE9LCiBuYXZpZ2F0b3Iu
YXBwQ29kZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBw
VmVyc2lvbiBpcyBPSworbmF2aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tp
ZUVuYWJsZWQgaXMgT0sKIG5hdmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwogbmF2aWdhdG9yLmdl
dFN0b3JhZ2VVcGRhdGVzKCkgaXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azEv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCA1NTcwNDJhNTc1NjgxOTdhMDFhMWM4YmRlZjJlODMwNDQ2
NTZmMDkxLi4wNmVkNzRhN2RkMjFhZTgwZWJjZmIzYjA2ZGM1ODE3OWVlNTFjMjk4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNSw2ICsx
NSw5IEBAIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLWRvbWNhY2hlLXBlbmRpbmct
cHJvbWlzZS5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL2FwaS9yZXF1ZXN0L2Rlc3RpbmF0aW9uIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL2Nyb3NzLW9yaWdpbi1yZXNvdXJjZS1wb2xpY3kgWyBTa2lwIF0K
IAorIyBBc3luYyBDbGlwYm9hcmQgQVBJIGlzIG5vdCBzdXBwb3J0ZWQgaW4gV2ViS2l0MSB5ZXQu
Cit3ZWJraXQub3JnL2IvMjAyNjU0IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkIFsgU2tpcCBdCisK
ICMgU2tpcCBXZWJSVEMgZm9yIG5vdyBpbiBXSzEKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2VicnRjIFsgU2tpcCBdCiB3ZWJydGMgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy1oaWdoc2llcnJhL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hl
ZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtaGlnaHNp
ZXJyYS9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDg1MDgwNzYwNzU1ZTBiZDUwMDU5Yzg3N2ZkZWJjMmU3NDM2NDczYmUuLjI4NWIxZTdhY2Q1
MDAwNTE5NWIwZDhlODVjMTllYzk4MjdlOTM1NDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy1oaWdoc2llcnJhL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFz
aC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWhpZ2hzaWVycmEv
ZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtNCw2
ICs0LDcgQEAgVGhpcyB0ZXN0cyB0aGF0IHRoZSBuYXZpZ2F0b3Igb2JqZWN0IG9mIGEgZGVsZXRl
ZCBmcmFtZSBpcyBkaXNjb25uZWN0ZWQgcHJvcGVybHkKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBp
cyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9L
CituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBP
SwogbmF2aWdhdG9yLmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0
ZXMoKSBpcyBPSwpAQCAtMjgsNiArMjksNyBAQCBuYXZpZ2F0b3Iud2ViZHJpdmVyIGlzIE9LCiBu
YXZpZ2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZp
Z2F0b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdh
dG9yLmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5hdmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwogbmF2
aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkgaXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBmM2Y4YjhhNzE0OWUxOWY0N2ViZTFiYWNh
NWY3OTEyYmI1ZjIyYTZjLi4yZDc5YjFkMDMyOThkMmRkZWJhMmYwNzNiNjM1OWIzNjBhNGNiMjcx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBA
IC00NCw2ICs0NCw5IEBAIGNzcy1jdXN0b20tcHJvcGVydGllcy1hcGkgWyBTa2lwIF0KIGNzcy10
eXBlZG9tIFsgU2tpcCBdCiBjc3MtZGFyay1tb2RlIFsgU2tpcCBdCiAKKyMgQXN5bmMgQ2xpcGJv
YXJkIEFQSSBpcyBub3Qgc3VwcG9ydGVkIGluIFdlYktpdDEgeWV0Lgord2Via2l0Lm9yZy9iLzIw
MjY1NCBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZCBbIFNraXAgXQorCiB3ZWJncHUgWyBTa2lwIF0K
IGluc3BlY3Rvci9jYW52YXMvY3JlYXRlLWNvbnRleHQtd2ViZ3B1Lmh0bWwgWyBTa2lwIF0KIGlu
c3BlY3Rvci9jYW52YXMvcmVxdWVzdENsaWVudE5vZGVzLXdlYmdwdS5odG1sIFsgU2tpcCBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRv
ci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQK
aW5kZXggM2NmMGRiMmJkODE4YzdlZDA3OTAyOTdkNTIxYTViNTM1NDBmZDlmOC4uMzQxMjg0MDE3
YjQyNzQ0ZDFiZDExYjU5ZDYyYTE4NWYyZDcwZGM5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2
aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtNSw2ICs1LDcgQEAgVGhp
cyB0ZXN0cyB0aGF0IHRoZSBuYXZpZ2F0b3Igb2JqZWN0IG9mIGEgZGVsZXRlZCBmcmFtZSBpcyBk
aXNjb25uZWN0ZWQgcHJvcGVybHkKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdh
dG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3Iu
Y2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9y
LmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwpA
QCAtMzEsNiArMzIsNyBAQCBuYXZpZ2F0b3Iud2ViZHJpdmVyIGlzIE9LCiBuYXZpZ2F0b3IuYXBw
Q29kZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwVmVy
c2lvbiBpcyBPSworbmF2aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tpZUVu
YWJsZWQgaXMgT0sKIG5hdmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwogbmF2aWdhdG9yLmdldFN0
b3JhZ2VVcGRhdGVzKCkgaXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFz
aC1leHBlY3RlZC50eHQKaW5kZXggMzMzZWM5NjA4ZDhkNGRmNTdjMWZmMGYyZDdlNGUyNTM3OGJh
MzczZi4uZmYxYzUyMWQxMDEwODA2ZTkwZDU3MDVkZTQ0MzI0MzI0MzdhZjljYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1u
by1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
ZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTQsNiArNCw3
IEBAIFRoaXMgdGVzdHMgdGhhdCB0aGUgbmF2aWdhdG9yIG9iamVjdCBvZiBhIGRlbGV0ZWQgZnJh
bWUgaXMgZGlzY29ubmVjdGVkIHByb3Blcmx5CiBuYXZpZ2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sK
IG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2
aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5h
dmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwogbmF2aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkg
aXMgT0sKQEAgLTI3LDYgKzI4LDcgQEAgbmF2aWdhdG9yLndlYmRyaXZlciBpcyBPSwogbmF2aWdh
dG9yLmFwcENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwTmFtZSBpcyBPSwogbmF2aWdhdG9y
LmFwcFZlcnNpb24gaXMgT0sKK25hdmlnYXRvci5jbGlwYm9hcmQgaXMgT0sKIG5hdmlnYXRvci5j
b29raWVFbmFibGVkIGlzIE9LCiBuYXZpZ2F0b3IuY3JlZGVudGlhbHMgaXMgT0sKIG5hdmlnYXRv
ci5nZXRTdG9yYWdlVXBkYXRlcygpIGlzIE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQt
bm8tY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IDljY2NlYWM1OTMyNTA0ZDFiN2ExMGIxZmM5MTVl
ZjNlNWMxNTllZTMuLjIxODhlZmE3ZjMyYzk0ZjdjMzg5NmM0YjE3N2RhNTk3MzNmNjAzODYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0
YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC00
LDYgKzQsNyBAQCBUaGlzIHRlc3RzIHRoYXQgdGhlIG5hdmlnYXRvciBvYmplY3Qgb2YgYSBkZWxl
dGVkIGZyYW1lIGlzIGRpc2Nvbm5lY3RlZCBwcm9wZXJseQogbmF2aWdhdG9yLmFwcENvZGVOYW1l
IGlzIE9LCiBuYXZpZ2F0b3IuYXBwTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMg
T0sKK25hdmlnYXRvci5jbGlwYm9hcmQgaXMgT0sKIG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlz
IE9LCiBuYXZpZ2F0b3IuY3JlZGVudGlhbHMgaXMgT0sKIG5hdmlnYXRvci5nZXRTdG9yYWdlVXBk
YXRlcygpIGlzIE9LCkBAIC0yNCw2ICsyNSw3IEBAIG5hdmlnYXRvci53ZWJkcml2ZXIgaXMgT0sK
IG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5h
dmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZp
Z2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9yLmNyZWRlbnRpYWxzIGlzIE9LCiBu
YXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luY2Fpcm8vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNo
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL2Zhc3QvZG9tL25h
dmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggYjNiMjUyZmRlN2Uw
OTY1MzM5ODI2NGVmZDVlMGM4YzcwODhmNjQ1Ny4uZDE5YzU3NmE1MTdmYjJhMzJhY2JlOGUzZmM0
NzdhN2QxZGFiMGYxMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8v
ZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQt
bm8tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0zLDYgKzMsNyBAQCBUaGlzIHRlc3RzIHRoYXQgdGhl
IG5hdmlnYXRvciBvYmplY3Qgb2YgYSBkZWxldGVkIGZyYW1lIGlzIGRpc2Nvbm5lY3RlZCBwcm9w
ZXJseQogbmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwTmFtZSBpcyBP
SwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25hdmlnYXRvci5jbGlwYm9hcmQgaXMgT0sK
IG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0
ZXMoKSBpcyBPSwogbmF2aWdhdG9yLmphdmFFbmFibGVkKCkgaXMgT0sKQEAgLTIxLDYgKzIyLDcg
QEAgbmF2aWdhdG9yLndlYmRyaXZlciBpcyBPSwogbmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9L
CiBuYXZpZ2F0b3IuYXBwTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25h
dmlnYXRvci5jbGlwYm9hcmQgaXMgT0sKIG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBu
YXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwogbmF2aWdhdG9yLmphdmFFbmFibGVk
KCkgaXMgT0sK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380378</attachid>
            <date>2019-10-07 17:52:38 -0700</date>
            <delta_ts>2019-10-07 20:08:13 -0700</delta_ts>
            <desc>Try to fix GTK/WPE build again</desc>
            <filename>bug-202622-20191007175237.patch</filename>
            <type>text/plain</type>
            <size>68010</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwODA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODQ1MjdlMTUwMjJiNmZi
YjU1M2Y2MGQzZWMxZGUxODRjYzZmZDQ4Zi4uN2E5YWQ3M2M4Y2Q4OGU0MzEyMzAwNGE1NjUwOWQz
M2YyNjFkMGQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc3IEBACisyMDE5LTEwLTA3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtDbGlwYm9hcmQg
QVBJXSBJbnRyb2R1Y2UgYmluZGluZ3MgZm9yIHRoZSBhc3luYyBDbGlwYm9hcmQgQVBJCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI2MjIKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzU2MDM4MTI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1
a2UgTml3YS4KKworICAgICAgICBBZGRzIElETCBmb3IgdGhlIGFzeW5jIGNsaXBib2FyZCBBUEkg
KHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBkZWxheWVkIGl0ZW0gZ2VuZXJhdGlvbiBpbnRlcmZhY2Vz
LCB3aGljaAorICAgICAgICBJJ2xsIGl0ZXJhdGUgb24gYW5kIGludHJvZHVjZSBzZXBhcmF0ZWx5
KS4gU2VlOiBodHRwczovL3czYy5naXRodWIuaW8vY2xpcGJvYXJkLWFwaXMvI2FzeW5jLWNsaXBi
b2FyZC1hcGkgZm9yCisgICAgICAgIG1vcmUgaW5mb3JtYXRpb24uCisKKyAgICAgICAgVGVzdHM6
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pbnRlcmZhY2VzLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC13cmFwcGVyLXN0YXlz
LWFsaXZlLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q2xpcGJvYXJkOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpDbGlw
Ym9hcmQpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpuYXZpZ2F0b3IpOgorICAgICAg
ICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpldmVudFRhcmdldEludGVyZmFjZSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpyZWFkVGV4dCk6CisgICAgICAgIChXZWJDb3Jl
OjpDbGlwYm9hcmQ6OndyaXRlVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OnJl
YWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjp3cml0ZSk6CisKKyAgICAgICAgU3R1
YiBvdXQgdGhlc2UgQVBJIGNhbGxzIGZvciBub3cgYnkgaW1tZWRpYXRlbHkgcmVqZWN0aW5nIHRo
ZSBnaXZlbiBwcm9taXNlLgorCisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xp
cGJvYXJkLmg6CisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZEl0ZW06OkNsaXBib2FyZEl0ZW0pOgorICAgICAg
ICAoV2ViQ29yZTo6Q2xpcGJvYXJkSXRlbTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNs
aXBib2FyZEl0ZW06OnR5cGVzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZEl0
ZW06OmdldFR5cGUpOgorCisgICAgICAgIFN0dWIgb3V0IHRoZXNlIEFQSSBjYWxscyBmb3Igbm93
IGJ5IGltbWVkaWF0ZWx5IHJlamVjdGluZyB0aGUgZ2l2ZW4gcHJvbWlzZS4KKworICAgICAgICAo
V2ViQ29yZTo6bmF2aWdhdG9yKToKKyAgICAgICAgKiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9D
bGlwYm9hcmRJdGVtLmg6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmRJdGVtOjpwcmVzZW50
YXRpb25TdHlsZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xp
cGJvYXJkSXRlbS5pZGw6CisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdh
dG9yQ2xpcGJvYXJkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNsaXBib2FyZDo6
TmF2aWdhdG9yQ2xpcGJvYXJkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNsaXBib2Fy
ZDo6Y2xpcGJvYXJkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNsaXBib2FyZDo6ZnJv
bSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDbGlwYm9hcmQ6OnN1cHBsZW1lbnROYW1l
KToKKyAgICAgICAgKiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQu
aDoKKyAgICAgICAgKiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHA6CisgICAgICAgICogTW9k
dWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmUuaDoKKworICAgICAgICBNb3JlIHVuaWZpZWQgc291
cmNlcy1yZWxhdGVkIGJ1aWxkIGZpeGVzLgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRGV2aWNlT3JpZW50
YXRpb25Pck1vdGlvbkV2ZW50LmNwcDoKKworICAgICAgICBVbmlmaWVkIHNvdXJjZXMtcmVsYXRl
ZCBidWlsZCBmaXguCisKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAg
ICAgICAqIGZlYXR1cmVzLmpzb246CisKKyAgICAgICAgQWRkIEFzeW5jIENsaXBib2FyZCBBUEkg
YXMgYSBmZWF0dXJlIGluIGRldmVsb3BtZW50IG9uIHdlYmtpdC5vcmcuCisKKyAgICAgICAgKiBw
YWdlL1NldHRpbmdzLnlhbWw6CisKIDIwMTktMTAtMDcgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtp
QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBidWlsZCBmaXggZm9yIFdpbmRvd3MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMTIzNDJjNzY5NmExZGI4NDcwNTkyMDU1YWE3NTQ2MjQ2MDY3NGNiYy4uOWYz
MzZhODg1NmM3Njk3OTcwNDlkY2FjMDNmNGFmODk2ZTc0YzI0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAxOS0xMC0wNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KKworICAgICAgICBbQ2xpcGJvYXJkIEFQSV0gSW50cm9kdWNlIGJpbmRpbmdzIGZvciB0aGUg
YXN5bmMgQ2xpcGJvYXJkIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjAyNjIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NjAzODEyNj4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgQWRkcyBhIG5ldyBl
eHBlcmltZW50YWwgZmVhdHVyZSBmbGFnLiBTZWUgV2ViQ29yZSBDaGFuZ2VMb2cgZm9yIG1vcmUg
ZGV0YWlscy4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorCiAyMDE5
LTEwLTA3ICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgogCiAgICAg
ICAgIERvbWFpbiByZWxhdGlvbnNoaXBzIGluIHRoZSBJVFAgRGF0YWJhc2Ugc2hvdWxkIGJlIGlu
c2VydGVkIGluIGEgc2luZ2xlIHF1ZXJ5IGFuZCBpZ25vcmUgcmVwZWF0IGluc2VydCBhdHRlbXB0
cy4gKDIwMjYwNCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggODI2MmJlNjhjODI0MDhiZjcxNTZh
MWM4MWZkZDdiNjJmYjRiNWMxYy4uYzc5MmE5ZmZlMzU3ZDVjNzg3N2ZmZjI1Y2JhZDE1ZTRkMDk4
OWY5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTI4LDYgKzI4LDcgQEAgc2V0KFdlYkNvcmVf
UFJJVkFURV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
YXBwbGVwYXkiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJl
cXVlc3QiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdCIK
KyAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQiCiAgICAgIiR7V0VC
Q09SRV9ESVJ9L01vZHVsZXMvYmVhY29uIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2Nh
Y2hlIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50IgpA
QCAtMjIzLDYgKzIyNCwxMCBAQCBzZXQoV2ViQ29yZV9JRExfSU5DTFVERVMKIHNldChXZWJDb3Jl
X05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9haXJwbGF5L1dlYktpdFBsYXliYWNrVGFy
Z2V0QXZhaWxhYmlsaXR5RXZlbnQuaWRsCiAKKyAgICBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9D
bGlwYm9hcmQuaWRsCisgICAgTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkSXRlbS5p
ZGwKKyAgICBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuaWRsCisK
ICAgICBNb2R1bGVzL2JlYWNvbi9OYXZpZ2F0b3JCZWFjb24uaWRsCiAKICAgICBNb2R1bGVzL2Nh
Y2hlL0NhY2hlUXVlcnlPcHRpb25zLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggMmY5OGY5ZTMxNWViNmY4M2UwMzM0Y2E3Zjc4NDhl
M2RlYTRkMTIwOS4uZThmN2E2YjA3MWEyN2FjMWI2YTgxM2Q4N2I5NDUwNWE5ZTIxYzk5OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC00
Nyw2ICs0Nyw5IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlw
cGluZ01ldGhvZFVwZGF0ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2Fw
cGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXIuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UmVxdWVzdC5pZGwKKyQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5pZGwKKyQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uaWRsCiskKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2JlYWNvbi9OYXZpZ2F0b3JCZWFjb24uaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL2NhY2hlL0NhY2hlUXVlcnlPcHRpb25zLmlkbAogJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9jYWNoZS9ET01DYWNoZS5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggOTNjNWM4Njc1ODU5NGFhMGEwN2Ri
NjJiMGM4ZTA0ZDM0NGI4NzgxYS4uN2RmYjg5Nzc3NjkxNzU5ZTUxZGZhMGViZDYzOTgyMGMxZmJh
NjJlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QKQEAgLTI5MCw4ICsyOTAsMTIgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNDaGFyYWN0ZXJEYXRhLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDaGFyYWN0ZXJEYXRhLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2hpbGROb2RlLmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDaGlsZE5vZGUuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDbGlwYm9hcmQuY3BwCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NsaXBib2FyZC5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NsaXBib2Fy
ZEV2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNDbGlwYm9hcmRFdmVudC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0NsaXBib2FyZEl0ZW0uY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0NsaXBib2FyZEl0ZW0uaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDbG9zZUV2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDbG9zZUV2ZW50LmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ29tbWFuZExpbmVBUElIb3N0LmNw
cApAQCAtMTA2Nyw2ICsxMDcxLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvckJlYWNvbi5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yQmVhY29uLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yQ2xpcGJv
YXJkLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNO
YXZpZ2F0b3JDbGlwYm9hcmQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNOYXZpZ2F0b3JDcmVkZW50aWFscy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yQ3JlZGVudGlhbHMuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3JFTUUuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyODQwZWZkNmZhZTY5NDA3OWMxYzAx
NGMzM2JhMDE1MDBmMzI5ODdjLi4zN2EzYjQzNDA1ODFhOTliMzczNjMwNTEyOWRkMDQzMGVlNjRk
NWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTMxLDYgKzMxLDcgQEAgVlBB
VEggPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FpcnBsYXkgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9hcHBsZXBheSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1l
bnRyZXF1ZXN0IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvYmVhY29uIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY2Fj
aGUgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudCBcCkBAIC0x
MjIsNiArMTIzLDkgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxl
UGF5UmVxdWVzdC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQv
Q2xpcGJvYXJkLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9D
bGlwYm9hcmRJdGVtLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FzeW5jLWNsaXBib2Fy
ZC9OYXZpZ2F0b3JDbGlwYm9hcmQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYmVhY29u
L05hdmlnYXRvckJlYWNvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jYWNoZS9DYWNo
ZVF1ZXJ5T3B0aW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jYWNoZS9ET01DYWNo
ZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9h
cmQvQ2xpcGJvYXJkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJk
L0NsaXBib2FyZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjkzYjE0YmE1YjA5MmI5Mzg1NDk4YzU0NTI3OGQ3
MWM2YWJkNzM2NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5
bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5jcHAKQEAgLTAsMCArMSw4NiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDbGlwYm9hcmQuaCIKKworI2luY2x1ZGUg
IkNsaXBib2FyZEl0ZW0uaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2UuaCIKKyNpbmNsdWRlICJK
U0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorI2luY2x1ZGUg
PHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01B
S0VfSVNPX0FMTE9DQVRFRF9JTVBMKENsaXBib2FyZCk7CisKK1JlZjxDbGlwYm9hcmQ+IENsaXBi
b2FyZDo6Y3JlYXRlKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IENsaXBib2FyZChuYXZpZ2F0b3IpKTsKK30KKworQ2xpcGJvYXJkOjpDbGlwYm9hcmQo
TmF2aWdhdG9yJiBuYXZpZ2F0b3IpCisgICAgOiBtX25hdmlnYXRvcihtYWtlV2Vha1B0cihuYXZp
Z2F0b3IpKQoreworfQorCitOYXZpZ2F0b3IqIENsaXBib2FyZDo6bmF2aWdhdG9yKCkKK3sKKyAg
ICByZXR1cm4gbV9uYXZpZ2F0b3IuZ2V0KCk7Cit9CisKK0V2ZW50VGFyZ2V0SW50ZXJmYWNlIENs
aXBib2FyZDo6ZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdAoreworICAgIHJldHVybiBDbGlw
Ym9hcmRFdmVudFRhcmdldEludGVyZmFjZVR5cGU7Cit9CisKK1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIENsaXBib2FyZDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fbmF2aWdhdG9yID8gbV9uYXZpZ2F0b3ItPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSA6
IG51bGxwdHI7Cit9CisKK3ZvaWQgQ2xpcGJvYXJkOjpyZWFkVGV4dChSZWY8RGVmZXJyZWRQcm9t
aXNlPiYmIHByb21pc2UpCit7CisgICAgcHJvbWlzZS0+cmVqZWN0KE5vdFN1cHBvcnRlZEVycm9y
KTsKK30KKwordm9pZCBDbGlwYm9hcmQ6OndyaXRlVGV4dChjb25zdCBTdHJpbmcmIGRhdGEsIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7
CisgICAgcHJvbWlzZS0+cmVqZWN0KE5vdFN1cHBvcnRlZEVycm9yKTsKK30KKwordm9pZCBDbGlw
Ym9hcmQ6OnJlYWQoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIHByb21p
c2UtPnJlamVjdChOb3RTdXBwb3J0ZWRFcnJvcik7Cit9CisKK3ZvaWQgQ2xpcGJvYXJkOjp3cml0
ZShjb25zdCBWZWN0b3I8UmVmUHRyPENsaXBib2FyZEl0ZW0+PiYgaXRlbXMsIFJlZjxEZWZlcnJl
ZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oaXRlbXMpOworICAgIHBy
b21pc2UtPnJlamVjdChOb3RTdXBwb3J0ZWRFcnJvcik7Cit9CisKK30KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODk0MDJlNjI5OGExZjFjMDZmNDAxZmQxOThjYTM3MDc2NjQzYmRlZAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5oCkBA
IC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkV2
ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi9XZWFr
UHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2xpcGJvYXJkSXRlbTsKK2Ns
YXNzIERlZmVycmVkUHJvbWlzZTsKK2NsYXNzIE5hdmlnYXRvcjsKKworY2xhc3MgQ2xpcGJvYXJk
IGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Q2xpcGJvYXJkPiwgcHVibGljIEV2ZW50VGFyZ2V0
V2l0aElubGluZURhdGEgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ2xpcGJvYXJkKTsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPENsaXBib2FyZD4gY3JlYXRlKE5hdmlnYXRvciYpOwor
CisgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBm
aW5hbDsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkgY29uc3QgZmluYWw7CisKKyAgICBOYXZpZ2F0b3IqIG5hdmlnYXRvcigpOworCisgICAgdXNp
bmcgUmVmQ291bnRlZDo6cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOworCisgICAg
dm9pZCByZWFkVGV4dChSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKyAgICB2b2lkIHdyaXRlVGV4
dChjb25zdCBTdHJpbmcmIGRhdGEsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworCisgICAgdm9p
ZCByZWFkKFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAgIHZvaWQgd3JpdGUoY29uc3QgVmVj
dG9yPFJlZlB0cjxDbGlwYm9hcmRJdGVtPj4mIGRhdGEsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYp
OworCitwcml2YXRlOgorICAgIENsaXBib2FyZChOYXZpZ2F0b3ImKTsKKworICAgIHZvaWQgcmVm
RXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0
KCkgZmluYWwgeyBkZXJlZigpOyB9CisKKyAgICBXZWFrUHRyPE5hdmlnYXRvcj4gbV9uYXZpZ2F0
b3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZjYx
MjdhNTQ2ZDE3NjgwNmFjNGU4MjNlMjUwMTVkYmI4ZGYxOTVkCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmlkbApAQCAt
MCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwordHlwZWRlZiBzZXF1ZW5jZTxDbGlwYm9hcmRJdGVt
PiBDbGlwYm9hcmRJdGVtczsKKworWworICAgIFNlY3VyZUNvbnRleHQsCisgICAgRXhwb3NlZD1X
aW5kb3csCisgICAgRW5hYmxlZEJ5U2V0dGluZz1Bc3luY0NsaXBib2FyZEFQSSwKKyAgICBHZW5l
cmF0ZUlzUmVhY2hhYmxlPVJlYWNoYWJsZUZyb21OYXZpZ2F0b3IKK10gaW50ZXJmYWNlIENsaXBi
b2FyZCA6IEV2ZW50VGFyZ2V0IHsKKyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPENsaXBib2FyZEl0
ZW1zPiByZWFkKCk7CisgICAgW05ld09iamVjdF0gUHJvbWlzZTxET01TdHJpbmc+IHJlYWRUZXh0
KCk7CisgICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiB3cml0ZShDbGlwYm9hcmRJdGVtcyBk
YXRhKTsKKyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPHZvaWQ+IHdyaXRlVGV4dChET01TdHJpbmcg
ZGF0YSk7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlw
Ym9hcmQvQ2xpcGJvYXJkSXRlbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNs
aXBib2FyZC9DbGlwYm9hcmRJdGVtLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YjNlYzNjMjA5ZTRkNzRkMzFl
YjcxNGQwMTNlODI5NzVlNDVjODhiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkSXRlbS5jcHAKQEAgLTAsMCArMSw2NiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDbGlwYm9hcmRJ
dGVtLmgiCisKKyNpbmNsdWRlICJKU0RPTVByb21pc2UuaCIKKyNpbmNsdWRlICJKU0RPTVByb21p
c2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK0NsaXBib2FyZEl0ZW06On5DbGlwYm9hcmRJdGVtKCkgPSBkZWZhdWx0OworCitDbGlw
Ym9hcmRJdGVtOjpDbGlwYm9hcmRJdGVtKFZlY3RvcjxLZXlWYWx1ZVBhaXI8U3RyaW5nLCBSZWZQ
dHI8RE9NUHJvbWlzZT4+PiYmIGl0ZW1zLCBjb25zdCBPcHRpb25zJiBvcHRpb25zKQorICAgIDog
bV9wcmVzZW50YXRpb25TdHlsZShvcHRpb25zLnByZXNlbnRhdGlvblN0eWxlKQoreworICAgIFVO
VVNFRF9QQVJBTShpdGVtcyk7Cit9CisKK1JlZjxDbGlwYm9hcmRJdGVtPiBDbGlwYm9hcmRJdGVt
OjpjcmVhdGUoVmVjdG9yPEtleVZhbHVlUGFpcjxTdHJpbmcsIFJlZlB0cjxET01Qcm9taXNlPj4+
JiYgZGF0YSwgY29uc3QgT3B0aW9ucyYgb3B0aW9ucykKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBDbGlwYm9hcmRJdGVtKFdURk1vdmUoZGF0YSksIG9wdGlvbnMpKTsKK30KKworVmVjdG9y
PFN0cmluZz4gQ2xpcGJvYXJkSXRlbTo6dHlwZXMoKSBjb25zdAoreworICAgIHJldHVybiB7IH07
Cit9CisKK3ZvaWQgQ2xpcGJvYXJkSXRlbTo6Z2V0VHlwZShjb25zdCBTdHJpbmcmIHR5cGUsIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBVTlVTRURfUEFSQU0odHlwZSk7
CisgICAgcHJvbWlzZS0+cmVqZWN0KE5vdFN1cHBvcnRlZEVycm9yKTsKK30KKworTmF2aWdhdG9y
KiBDbGlwYm9hcmRJdGVtOjpuYXZpZ2F0b3IoKQoreworICAgIC8vIEZJWE1FOiBXaGVuIHN1cHBv
cnQgZm9yIENsaXBib2FyZC5yZWFkKCkgaXMgaW1wbGVtZW50ZWQsIHRoaXMgc2hvdWxkIGluc3Rl
YWQgcmV0dXJuIHRoZSBhc3NvY2lhdGVkIENsaXBib2FyZAorICAgIC8vIG9iamVjdCdzIG5hdmln
YXRvciwgaWYgaXQgaXMgYXNzb2NpYXRlZCB3aXRoIGEgQ2xpcGJvYXJkLgorICAgIHJldHVybiBu
dWxscHRyOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYmJkN2Y2MWI2ODdlZWU4YmRmNGEzNjk3ZDFkNTU2NjM2MGRiZjUxYgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZEl0
ZW0uaApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlIDx3dGYvS2V5VmFsdWVQYWlyLmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERlZmVy
cmVkUHJvbWlzZTsKK2NsYXNzIERPTVByb21pc2U7CitjbGFzcyBOYXZpZ2F0b3I7CisKK2NsYXNz
IENsaXBib2FyZEl0ZW0gOiBwdWJsaWMgUmVmQ291bnRlZDxDbGlwYm9hcmRJdGVtPiB7CitwdWJs
aWM6CisgICAgfkNsaXBib2FyZEl0ZW0oKTsKKworICAgIGVudW0gY2xhc3MgUHJlc2VudGF0aW9u
U3R5bGUgOiB1aW50OF90IHsgVW5zcGVjaWZpZWQsIElubGluZSwgQXR0YWNobWVudCB9OworCisg
ICAgc3RydWN0IE9wdGlvbnMgeworICAgICAgICBQcmVzZW50YXRpb25TdHlsZSBwcmVzZW50YXRp
b25TdHlsZSB7IFByZXNlbnRhdGlvblN0eWxlOjpVbnNwZWNpZmllZCB9OworICAgIH07CisKKyAg
ICBzdGF0aWMgUmVmPENsaXBib2FyZEl0ZW0+IGNyZWF0ZShWZWN0b3I8S2V5VmFsdWVQYWlyPFN0
cmluZywgUmVmUHRyPERPTVByb21pc2U+Pj4mJiwgY29uc3QgT3B0aW9ucyYpOworCisgICAgVmVj
dG9yPFN0cmluZz4gdHlwZXMoKSBjb25zdDsKKyAgICB2b2lkIGdldFR5cGUoY29uc3QgU3RyaW5n
JiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisKKyAgICBQcmVzZW50YXRpb25TdHlsZSBwcmVz
ZW50YXRpb25TdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJlc2VudGF0aW9uU3R5bGU7IH07Cisg
ICAgTmF2aWdhdG9yKiBuYXZpZ2F0b3IoKTsKKworcHJpdmF0ZToKKyAgICBDbGlwYm9hcmRJdGVt
KFZlY3RvcjxLZXlWYWx1ZVBhaXI8U3RyaW5nLCBSZWZQdHI8RE9NUHJvbWlzZT4+PiYmLCBjb25z
dCBPcHRpb25zJik7CisKKyAgICBQcmVzZW50YXRpb25TdHlsZSBtX3ByZXNlbnRhdGlvblN0eWxl
IHsgUHJlc2VudGF0aW9uU3R5bGU6OlVuc3BlY2lmaWVkIH07Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBi
b2FyZC9DbGlwYm9hcmRJdGVtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xp
cGJvYXJkL0NsaXBib2FyZEl0ZW0uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjNWIzNGZkYTNlYmM4Mzg1ODRk
MzhiYzE5YTZmMmE0YjVhNDczYTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmlkbApAQCAtMCwwICsxLDQ1IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKwordHlwZWRlZiAoRE9NU3RyaW5nIG9yIEJsb2IpIENsaXBib2FyZEl0ZW1E
YXRhVHlwZTsKK3R5cGVkZWYgUHJvbWlzZTxDbGlwYm9hcmRJdGVtRGF0YVR5cGU+IENsaXBib2Fy
ZEl0ZW1EYXRhOworCitlbnVtIFByZXNlbnRhdGlvblN0eWxlIHsgInVuc3BlY2lmaWVkIiwgImlu
bGluZSIsICJhdHRhY2htZW50IiB9OworCitkaWN0aW9uYXJ5IENsaXBib2FyZEl0ZW1PcHRpb25z
IHsKKyAgICBQcmVzZW50YXRpb25TdHlsZSBwcmVzZW50YXRpb25TdHlsZSA9ICJ1bnNwZWNpZmll
ZCI7Cit9OworCitbCisgICAgQ29uc3RydWN0b3IocmVjb3JkPERPTVN0cmluZywgQ2xpcGJvYXJk
SXRlbURhdGE+IGl0ZW1zLCBvcHRpb25hbCBDbGlwYm9hcmRJdGVtT3B0aW9ucyBvcHRpb25zKSwK
KyAgICBFeHBvc2VkPVdpbmRvdywKKyAgICBFbmFibGVkQnlTZXR0aW5nPUFzeW5jQ2xpcGJvYXJk
QVBJLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCisgICAgR2VuZXJhdGVJc1JlYWNo
YWJsZT1SZWFjaGFibGVGcm9tTmF2aWdhdG9yCitdIGludGVyZmFjZSBDbGlwYm9hcmRJdGVtIHsK
KyAgICByZWFkb25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RE9NU3RyaW5nPiB0eXBlczsKKyAg
ICBbTmV3T2JqZWN0XSBQcm9taXNlPEJsb2I+IGdldFR5cGUoRE9NU3RyaW5nIHR5cGUpOworICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBQcmVzZW50YXRpb25TdHlsZSBwcmVzZW50YXRpb25TdHlsZTsK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9O
YXZpZ2F0b3JDbGlwYm9hcmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlw
Ym9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MzRmYjJkNjMyYThkNDUw
MDljZjQ3YjJhMGEzYTFiYTY4YjA5ZGUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmNwcApAQCAtMCww
ICsxLDcwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5h
dmlnYXRvckNsaXBib2FyZC5oIgorCisjaW5jbHVkZSAiQ2xpcGJvYXJkLmgiCisjaW5jbHVkZSAi
TmF2aWdhdG9yLmgiCisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK05hdmlnYXRvckNsaXBib2FyZDo6TmF2aWdhdG9yQ2xpcGJvYXJkKE5hdmln
YXRvciYgbmF2aWdhdG9yKQorICAgIDogbV9uYXZpZ2F0b3IobmF2aWdhdG9yKQoreworfQorCitO
YXZpZ2F0b3JDbGlwYm9hcmQ6On5OYXZpZ2F0b3JDbGlwYm9hcmQoKSA9IGRlZmF1bHQ7CisKK1Jl
ZlB0cjxDbGlwYm9hcmQ+IE5hdmlnYXRvckNsaXBib2FyZDo6Y2xpcGJvYXJkKE5hdmlnYXRvciYg
bmF2aWdhdG9yKQoreworICAgIHJldHVybiBOYXZpZ2F0b3JDbGlwYm9hcmQ6OmZyb20obmF2aWdh
dG9yKS0+Y2xpcGJvYXJkKCk7Cit9CisKK1JlZlB0cjxDbGlwYm9hcmQ+IE5hdmlnYXRvckNsaXBi
b2FyZDo6Y2xpcGJvYXJkKCkKK3sKKyAgICBpZiAoIW1fY2xpcGJvYXJkKQorICAgICAgICBtX2Ns
aXBib2FyZCA9IENsaXBib2FyZDo6Y3JlYXRlKG1fbmF2aWdhdG9yKTsKKyAgICByZXR1cm4gbV9j
bGlwYm9hcmQ7Cit9CisKK05hdmlnYXRvckNsaXBib2FyZCogTmF2aWdhdG9yQ2xpcGJvYXJkOjpm
cm9tKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIGF1dG8qIHN1cHBsZW1lbnQgPSBzdGF0
aWNfY2FzdDxOYXZpZ2F0b3JDbGlwYm9hcmQqPihTdXBwbGVtZW50PE5hdmlnYXRvcj46OmZyb20o
Jm5hdmlnYXRvciwgc3VwcGxlbWVudE5hbWUoKSkpOworICAgIGlmICghc3VwcGxlbWVudCkgewor
ICAgICAgICBhdXRvIG5ld1N1cHBsZW1lbnQgPSBtYWtlVW5pcXVlPE5hdmlnYXRvckNsaXBib2Fy
ZD4obmF2aWdhdG9yKTsKKyAgICAgICAgc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7
CisgICAgICAgIHByb3ZpZGVUbygmbmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpLCBXVEZNb3Zl
KG5ld1N1cHBsZW1lbnQpKTsKKyAgICB9CisgICAgcmV0dXJuIHN1cHBsZW1lbnQ7Cit9CisKK2Nv
bnN0IGNoYXIqIE5hdmlnYXRvckNsaXBib2FyZDo6c3VwcGxlbWVudE5hbWUoKQoreworICAgIHJl
dHVybiAiTmF2aWdhdG9yQ2xpcGJvYXJkIjsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44ZDE5NDcwZjI1Y2Q1Nzg0ZGYyMGRhNGQyOGNjMDk0MzNjMTJiOTQ1Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2
aWdhdG9yQ2xpcGJvYXJkLmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENsaXBib2FyZDsKK2NsYXNzIE5h
dmlnYXRvcjsKKworY2xhc3MgTmF2aWdhdG9yQ2xpcGJvYXJkIGZpbmFsIDogcHVibGljIFN1cHBs
ZW1lbnQ8TmF2aWdhdG9yPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6
CisgICAgZXhwbGljaXQgTmF2aWdhdG9yQ2xpcGJvYXJkKE5hdmlnYXRvciYpOworICAgIH5OYXZp
Z2F0b3JDbGlwYm9hcmQoKTsKKworICAgIHN0YXRpYyBSZWZQdHI8Q2xpcGJvYXJkPiBjbGlwYm9h
cmQoTmF2aWdhdG9yJik7CisgICAgUmVmUHRyPENsaXBib2FyZD4gY2xpcGJvYXJkKCk7CisKK3By
aXZhdGU6CisgICAgc3RhdGljIE5hdmlnYXRvckNsaXBib2FyZCogZnJvbShOYXZpZ2F0b3ImKTsK
KyAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKKworICAgIFJlZlB0cjxD
bGlwYm9hcmQ+IG1fY2xpcGJvYXJkOworICAgIE5hdmlnYXRvciYgbV9uYXZpZ2F0b3I7Cit9Owor
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9O
YXZpZ2F0b3JDbGlwYm9hcmQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlw
Ym9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZDZiNTMzZjYzYTY3YjA5
YWUwN2EwMDg3ZTU1NTc0NjNmYTk5NTQ5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmlkbApAQCAtMCww
ICsxLDMwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9QXN5bmNDbGlw
Ym9hcmRBUEksCitdIHBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvciB7CisgICAgW1NlY3VyZUNv
bnRleHQsIFNhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBDbGlwYm9hcmQgY2xpcGJvYXJk
OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01l
ZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IGQwODc5OGUyMzRjMDQzOGRiNTY5YTkyZWQ3NTljYjcy
ZDczMmRlOWEuLmI1YjQ1YWIxMGY3ZDgxNzQ1YWI3ZmZmYjFlMTg5OTViNTBkNWVkMjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFj
ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVRyYWNrLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNp
bmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTT3ZlcmNvbnN0cmFp
bmVkRXJyb3IuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWVkaWFDb25zdHJh
aW50cy5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1Q
cml2YXRlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ0RUTUZTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENEVE1GU2VuZGVyLmNwcAppbmRleCAzZTZkYzA4OTRlNjU1M2MzZjkwMmU0OTc5MzBlOTk4ZWI3
YmVhM2NkLi42ZmY0YWE1ZTc3Zjk3ZGRmOTIzZDNiZmI5YTZlNmY3MWM1ZmY1ODRmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5j
cHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIlJUQ0RUTUZTZW5kZXJCYWNrZW5kLmgi
CiAjaW5jbHVkZSAiUlRDRFRNRlRvbmVDaGFuZ2VFdmVudC5oIgorI2luY2x1ZGUgIlJUQ1J0cFNl
bmRlci5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlIDx3
dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHAKaW5kZXggMDA3ZDJjM2E0YjllYmExY2FjMTMw
NDk3Njg2ZDQ0NmQyZjA1MzIzYi4uMmE2NmZmNDhkMWYwMjNlY2JkYTA3OTUxNGY1OWQwZGI2NDNl
ZDFlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTZW5kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwU2VuZGVyLmNwcApAQCAtMzMsNiArMzMsNyBAQAogCiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAK
KyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIlJUQ0RUTUZTZW5k
ZXIuaCIKICNpbmNsdWRlICJSVENEVE1GU2VuZGVyQmFja2VuZC5oIgogI2luY2x1ZGUgIlJUQ1J0
cENhcGFiaWxpdGllcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJn
cHUvV2ViR1BVUGlwZWxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQ
VVBpcGVsaW5lLmgKaW5kZXggMWUzMjNjNzliZjE5ODI1ODIzNjJhNzNmOGE2NzVmMTI4YjRhNmY3
MS4uM2IzNGE0ZWIwNjVjYjA0MTk4MmU5MTMwYmRhNjI1MDc2NWIzYWI5MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZS5oCkBAIC0zMCw2ICszMCw3
IEBACiAjaW5jbHVkZSAiR1BVT2JqZWN0QmFzZS5oIgogI2luY2x1ZGUgIldlYkdQVVNoYWRlck1v
ZHVsZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDRhODEwOTI0ZGU3NDMy
ZmZmZTYxMmNmNWVkZDZkMWZhYjYxMzU3MjcuLjNiZDMyNjAyNWQzYjA4NzcwNTQ4ODAwNTNlNTg4
YjA5ZTk1MDJhODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0zMyw2ICszMywxMCBAQCBsb2FkZXIvY2Fj
aGUvQ2FjaGVkQXBwbGljYXRpb25NYW5pZmVzdC5jcHAKIAogI2VuZGlmCiAKK01vZHVsZXMvYXN5
bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5jcHAKK01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBi
b2FyZEl0ZW0uY3BwCitNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQu
Y3BwCisKIE1vZHVsZXMvYmVhY29uL05hdmlnYXRvckJlYWNvbi5jcHAKIAogTW9kdWxlcy9jYWNo
ZS9DYWNoZVN0b3JhZ2VDb25uZWN0aW9uLmNwcApAQCAtMjY4OCw3ICsyNjkyLDkgQEAgSlNDaGFu
bmVsTWVyZ2VyTm9kZS5jcHAKIEpTQ2hhbm5lbFNwbGl0dGVyTm9kZS5jcHAKIEpTQ2hhcmFjdGVy
RGF0YS5jcHAKIEpTQ2hpbGROb2RlLmNwcAorSlNDbGlwYm9hcmQuY3BwCiBKU0NsaXBib2FyZEV2
ZW50LmNwcAorSlNDbGlwYm9hcmRJdGVtLmNwcAogSlNDbG9zZUV2ZW50LmNwcAogSlNDb21tYW5k
TGluZUFQSUhvc3QuY3BwCiBKU0NvbW1lbnQuY3BwCkBAIC0zMDI5LDYgKzMwMzUsNyBAQCBKU011
dGF0aW9uUmVjb3JkLmNwcAogSlNOYW1lZE5vZGVNYXAuY3BwCiBKU05hdmlnYXRvci5jcHAKIEpT
TmF2aWdhdG9yQmVhY29uLmNwcAorSlNOYXZpZ2F0b3JDbGlwYm9hcmQuY3BwCiBKU05hdmlnYXRv
ckNyZWRlbnRpYWxzLmNwcAogSlNOYXZpZ2F0b3JHZW9sb2NhdGlvbi5jcHAKIEpTTmF2aWdhdG9y
R1BVLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDgzYzllYzdkOGZlMDQ2M2QwNTFkNTBmZTc2OWMzOTk4NjY3MTU5M2YuLjUy
Nzg4MzhmZDJlNTYxYzY5YmY1NWNjY2UwNGU1Y2E4NDcxZjhiZGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ4NzEsNiArNDg3
MSw5IEBACiAJCUYzQUJGRTBDMTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVtZW50aW5nQWdlbnRz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0FCRkUw
QjEzMEU5REEwMDBFN0Y3RDEgLyogSW5zdHJ1bWVudGluZ0FnZW50cy5oICovOyB9OwogCQlGM0Q0
NjE0OTExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzRDQ2MTQ3MTE2MUQ1MzIwMENBMEQwOSAv
KiBKU0Vycm9ySGFuZGxlci5oICovOyB9OwogCQlGNDMzRTkwMzFEQkJEQkEyMDBFRjBEMTQgLyog
U3RhdGljUGFzdGVib2FyZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjQzM0U5MDIxREJCREJBMjAwRUYwRDE0IC8qIFN0YXRpY1Bhc3RlYm9hcmQuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlGNDQwRTc3
QTIzM0Q5NEQ3MDA2M0Y5QUIgLyogTmF2aWdhdG9yQ2xpcGJvYXJkLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDQwRTc2RjIzM0Q5NEQzMDA2M0Y5QUIg
LyogTmF2aWdhdG9yQ2xpcGJvYXJkLmggKi87IH07CisJCUY0NDBFNzdCMjMzRDk0RDcwMDYzRjlB
QiAvKiBDbGlwYm9hcmRJdGVtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGNDQwRTc3MDIzM0Q5NEQ0MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRlbS5oICov
OyB9OworCQlGNDQwRTc3RDIzM0Q5NEQ3MDA2M0Y5QUIgLyogQ2xpcGJvYXJkLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDQwRTc3MjIzM0Q5NEQ1MDA2
M0Y5QUIgLyogQ2xpcGJvYXJkLmggKi87IH07CiAJCUY0NEE1RjU5MUZFRDM4RjIwMDdGNTk0NCAv
KiBMZWdhY3lOU1Bhc3RlYm9hcmRUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRjQ0QTVGNTcxRkVEMzgzMDAwN0Y1OTQ0IC8qIExlZ2FjeU5TUGFz
dGVib2FyZFR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJRjQ0RUJCRDkxREI1RDIxNDAwMjc3MzM0IC8qIFN0YXRpY1JhbmdlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDRFQkJEODFEQjVEMjE0
MDAyNzczMzQgLyogU3RhdGljUmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlGNDVDMjMxRTE5OTVCNzNCMDBBNkUyRTMgLyogQXhpc1Njcm9s
bFNuYXBPZmZzZXRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGNDVDMjMxQzE5OTVCNzNCMDBBNkUyRTMgLyogQXhpc1Njcm9sbFNuYXBPZmZzZXRzLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEwMDg5
LDcgKzEwMDkyLDExIEBACiAJCTgzNkQwMzJCMURBOEExMzIwMEZGRDk2QiAvKiBKU0V2ZW50SW5p
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0V2ZW50SW5pdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzNkQwMzJDMURBOEExMzIwMEZGRDk2
QiAvKiBKU0V2ZW50SW5pdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V2
ZW50SW5pdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzZEMDMyRDFEQThBMTMy
MDBGRkQ5NkIgLyogSlNDbGlwYm9hcmRFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0NsaXBib2FyZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODM2RDAzMkQxREE4QTEzMjAwRkZEOTZDIC8qIEpTQ2xpcGJvYXJkLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ2xpcGJvYXJkLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODM2RDAzMkQxREE4QTEzMjAwRkZEOTZEIC8qIEpTQ2xp
cGJvYXJkSXRlbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Ns
aXBib2FyZEl0ZW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzZEMDMyRTFE
QThBMTMyMDBGRkQ5NkIgLyogSlNDbGlwYm9hcmRFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0NsaXBib2FyZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTgzNkQwMzJFMURBOEExMzIwMEZGRDk2QyAvKiBKU0NsaXBib2FyZC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NsaXBib2FyZC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk4MzZEMDMyRTFEQThBMTMyMDBGRkQ5NkQgLyogSlNDbGlwYm9hcmRJdGVt
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ2xpcGJvYXJkSXRlbS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzZEQUEwNTFDRUFCN0NEMDBBMkI3MDcgLyog
UmVuZGVyRGVzY2VuZGFudEl0ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJlbmRlckRlc2NlbmRhbnRJdGVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk4MzcwNTY4ODFGNTA5MTUwMDBEOTM0MjUgLyogSlNGaWxlQ2FsbGJhY2suY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNGaWxlQ2FsbGJhY2suY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzcwNTY4OTFGNTA5MTUwMDBEOTM0MjUgLyogSlNG
aWxlU3lzdGVtRW50cnlDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0ZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xNTE1Nyw2ICsxNTE2NCwxNSBAQAogCQlGNDJDRUI1NDIxNDAzMUVFMDAyRENBNzIgLyog
Rm9udEF0dHJpYnV0ZUNoYW5nZXNDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEZvbnRB
dHRyaWJ1dGVDaGFuZ2VzQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0
MzNFOTAyMURCQkRCQTIwMEVGMEQxNCAvKiBTdGF0aWNQYXN0ZWJvYXJkLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0YXRpY1Bhc3RlYm9hcmQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRjQzM0U5MDQxREJCREJDMjAwRUYwRDE0IC8qIFN0YXRpY1Bhc3RlYm9h
cmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RhdGljUGFzdGVib2FyZC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0NDBFNzZFMjMzRDk0RDMwMDYzRjlBQiAvKiBDbGlwYm9h
cmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2xpcGJvYXJkLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0MEU3NkYyMzNEOTREMzAwNjNGOUFC
IC8qIE5hdmlnYXRvckNsaXBib2FyZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBOYXZpZ2F0b3JDbGlwYm9hcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0
MEU3NzAyMzNEOTRENDAwNjNGOUFCIC8qIENsaXBib2FyZEl0ZW0uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ2xpcGJvYXJkSXRlbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlGNDQwRTc3MTIzM0Q5NEQ0MDA2M0Y5QUIgLyogTmF2aWdhdG9yQ2xpcGJvYXJkLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0b3JDbGlwYm9hcmQuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlGNDQwRTc3MjIzM0Q5NEQ1MDA2M0Y5QUIgLyogQ2xpcGJv
YXJkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENsaXBib2FyZC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDQwRTc3MzIzM0Q5NEQ1MDA2M0Y5QUIgLyogTmF2
aWdhdG9yQ2xpcGJvYXJkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE5hdmlnYXRvckNsaXBib2FyZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0
NDBFNzc0MjMzRDk0RDYwMDYzRjlBQiAvKiBDbGlwYm9hcmQuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IENsaXBib2FyZC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0NDBF
Nzc1MjMzRDk0RDYwMDYzRjlBQiAvKiBDbGlwYm9hcmRJdGVtLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENsaXBib2FyZEl0ZW0uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlGNDQwRTc3NzIzM0Q5NEQ3MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRlbS5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ2xpcGJvYXJkSXRlbS5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUY0NDI4NTBCMjE0MDQxMjUwMENDREEyMiAvKiBGb250QXR0cmli
dXRlQ2hhbmdlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGb250QXR0cmlidXRlQ2hhbmdlcy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NEE1RjU3MUZFRDM4MzAwMDdGNTk0
NCAvKiBMZWdhY3lOU1Bhc3RlYm9hcmRUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMZWdhY3lOU1Bh
c3RlYm9hcmRUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDRFQkJENjFE
QjVEMUI2MDAyNzczMzQgLyogU3RhdGljUmFuZ2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IFN0YXRpY1JhbmdlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2NTc1LDYg
KzE2NTkxLDcgQEAKIAkJCQkxMjIxRTA1ODFDMDJCNDA5MDA2QTFBMDAgLyogQW5pbWF0aW9uICov
LAogCQkJCTFBRTk2QTc5MUQxQTBBNUMwMEI4Njc2OCAvKiBBcHBsZVBheSAqLywKIAkJCQk0MUZC
Mjc4ODFGMzQ0NjFCMDA3OTU0ODggLyogQ2FjaGVBUEkgKi8sCisJCQkJRjQ0MEU3NjkyMzNEOTM2
MjAwNjNGOUFCIC8qIENsaXBib2FyZCAqLywKIAkJCQlBODNCNzkxMDBDQ0IwMDFCMDAwQjA4MjUg
LyogQ29yZSAqLywKIAkJCQk1N0M3QTY4RDFFNTY5QTg0MDBDNjdENzEgLyogQ3JlZGVudGlhbE1h
bmFnZW1lbnQgKi8sCiAJCQkJRTFGRjhGNjExODA3NDVDNjAwMTMyNjc0IC8qIENyeXB0byAqLywK
QEAgLTIxOTIzLDYgKzIxOTQwLDcgQEAKIAkJCQlDRTI2MTY5RDE4N0U2NTU0MDA3OTU1RjMgLyog
YWlycGxheSAqLywKIAkJCQkxQTU4RTg2MTFEMTlEMzczMDBDMEVBNzMgLyogYXBwbGVwYXkgKi8s
CiAJCQkJNjNCRDRBNUMxRjc3OEU4NDAwNDM4NzIyIC8qIGFwcGxpY2F0aW9ubWFuaWZlc3QgKi8s
CisJCQkJRjQ0MEU3NkEyMzNEOTNDODAwNjNGOUFCIC8qIGFzeW5jLWNsaXBib2FyZCAqLywKIAkJ
CQk4MzIxNTA3OTFGMjdFOTZCMDA5NUIxMzYgLyogYmVhY29uICovLAogCQkJCTQxMzgwQzFFMUYz
NDM2NjAwMDE1NUZEQSAvKiBjYWNoZSAqLywKIAkJCQk1N0M3QTY4ODFFNTY5NDZEMDBDNjdENzEg
LyogY3JlZGVudGlhbG1hbmFnZW1lbnQgKi8sCkBAIC0yNjc4MCw2ICsyNjc5OCwzMyBAQAogCQkJ
cGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCUY0NDBFNzY5
MjMzRDkzNjIwMDYzRjlBQiAvKiBDbGlwYm9hcmQgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsK
KwkJCWNoaWxkcmVuID0gKAorCQkJCTgzNkQwMzJEMURBOEExMzIwMEZGRDk2QyAvKiBKU0NsaXBi
b2FyZC5jcHAgKi8sCisJCQkJODM2RDAzMkUxREE4QTEzMjAwRkZEOTZDIC8qIEpTQ2xpcGJvYXJk
LmggKi8sCisJCQkJODM2RDAzMkQxREE4QTEzMjAwRkZEOTZEIC8qIEpTQ2xpcGJvYXJkSXRlbS5j
cHAgKi8sCisJCQkJODM2RDAzMkUxREE4QTEzMjAwRkZEOTZEIC8qIEpTQ2xpcGJvYXJkSXRlbS5o
ICovLAorCQkJKTsKKwkJCW5hbWUgPSBDbGlwYm9hcmQ7CisJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOworCQl9OworCQlGNDQwRTc2QTIzM0Q5M0M4MDA2M0Y5QUIgLyogYXN5bmMtY2xpcGJvYXJk
ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlGNDQwRTc2
RTIzM0Q5NEQzMDA2M0Y5QUIgLyogQ2xpcGJvYXJkLmNwcCAqLywKKwkJCQlGNDQwRTc3MjIzM0Q5
NEQ1MDA2M0Y5QUIgLyogQ2xpcGJvYXJkLmggKi8sCisJCQkJRjQ0MEU3NzQyMzNEOTRENjAwNjNG
OUFCIC8qIENsaXBib2FyZC5pZGwgKi8sCisJCQkJRjQ0MEU3NzUyMzNEOTRENjAwNjNGOUFCIC8q
IENsaXBib2FyZEl0ZW0uY3BwICovLAorCQkJCUY0NDBFNzcwMjMzRDk0RDQwMDYzRjlBQiAvKiBD
bGlwYm9hcmRJdGVtLmggKi8sCisJCQkJRjQ0MEU3NzcyMzNEOTRENzAwNjNGOUFCIC8qIENsaXBi
b2FyZEl0ZW0uaWRsICovLAorCQkJCUY0NDBFNzczMjMzRDk0RDUwMDYzRjlBQiAvKiBOYXZpZ2F0
b3JDbGlwYm9hcmQuY3BwICovLAorCQkJCUY0NDBFNzZGMjMzRDk0RDMwMDYzRjlBQiAvKiBOYXZp
Z2F0b3JDbGlwYm9hcmQuaCAqLywKKwkJCQlGNDQwRTc3MTIzM0Q5NEQ0MDA2M0Y5QUIgLyogTmF2
aWdhdG9yQ2xpcGJvYXJkLmlkbCAqLywKKwkJCSk7CisJCQlwYXRoID0gImFzeW5jLWNsaXBib2Fy
ZCI7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQlGNDgzODk3OTFFMUREMjNB
MDA3NkI3RUEgLyogRWRpdGluZ0hpc3RvcnkgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKApAQCAtMjg3MzUsOCArMjg3ODAsMTAgQEAKIAkJCQlFNEE4MTRENDFDNkRF
QzQwMDBCRjg1QUMgLyogQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb24uaCBpbiBIZWFkZXJzICovLAog
CQkJCTgzNDhCRkFDMUI4NTcyOTgwMDkxMkYzNiAvKiBDbGFzc0NvbGxlY3Rpb24uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQxMDc5MDhDMUZDM0YwMzMwMDYxQjI3QSAvKiBDbGllbnRPcmlnaW4uaCBp
biBIZWFkZXJzICovLAorCQkJCUY0NDBFNzdEMjMzRDk0RDcwMDYzRjlBQiAvKiBDbGlwYm9hcmQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdDM0E5MUU2MUM5NjNCODgwMEQxQTdFMyAvKiBDbGlwYm9h
cmRBY2Nlc3NQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDMxQjQwMEE0NEVGQzcwMEY5
OTJFMCAvKiBDbGlwYm9hcmRFdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjQ0MEU3N0IyMzNE
OTRENzAwNjNGOUFCIC8qIENsaXBib2FyZEl0ZW0uaCBpbiBIZWFkZXJzICovLAogCQkJCUZCOTJE
RjRCMTVGRUQwODcwMDk5NDQzMyAvKiBDbGlwUGF0aE9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTgwMzcxNjIxQTY2RjAwQTAwQkFGNTE5IC8qIENsaXBSZWN0LmggaW4gSGVhZGVycyAq
LywKIAkJCQk5N0FBQkQxMzE0RkEwOUQ1MDA3NDU3QUUgLyogQ2xvc2VFdmVudC5oIGluIEhlYWRl
cnMgKi8sCkBAIC0zMDk3Nyw2ICszMTAyNCw3IEBACiAJCQkJQTlDNkU1QTYwRDc0NjQ1ODAwNjQ0
MkU5IC8qIE5hdmlnYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNzE5QzcwRUVFQzE2ODAw
RjYxMjEzIC8qIE5hdmlnYXRvckJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzMjE1MDdFMUYy
N0VBMUIwMDk1QjEzNiAvKiBOYXZpZ2F0b3JCZWFjb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUY0
NDBFNzdBMjMzRDk0RDcwMDYzRjlBQiAvKiBOYXZpZ2F0b3JDbGlwYm9hcmQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTM3MkQzRTU3MjE2NTc4QUUwMEM1RTAyMSAvKiBOYXZpZ2F0b3JDcmVkZW50aWFs
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcxMTQ2MDQxNEVGMDA5QTAwNjc0RkQ5IC8qIE5hdmln
YXRvckdlb2xvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1RUE3MjVENjFBQ0FCRDU3MDBF
QUQxN0IgLyogTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBmZmQz
ZTU5ZWY4NDlhMDFhOGZhNWQyNmMwZmVmYzFmZGE0ZWZhOTI3Li4wNjBjNzAzMjc1ZjRjM2M0ODFk
YWQyOGIzNTNlZWExMjIwMDNlMjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC01NSw2ICs1NSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBtYWNybyhDYWNoZVN0b3JhZ2UpIFwKICAgICBtYWNybyhDbGllbnQpIFwKICAg
ICBtYWNybyhDbGllbnRzKSBcCisgICAgbWFjcm8oQ2xpcGJvYXJkKSBcCisgICAgbWFjcm8oQ2xp
cGJvYXJkSXRlbSkgXAogICAgIG1hY3JvKENyZWRlbnRpYWwpIFwKICAgICBtYWNybyhDcmVkZW50
aWFsc0NvbnRhaW5lcikgXAogICAgIG1hY3JvKENTU0FuaW1hdGlvbikgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50LmNwcAppbmRl
eCAxNWMwNTZkNzY0MzAxNzU5ZjZiY2UwZTViZjk2NzI1ZjBhOTFlZmEwLi4zMDIxYTgxZmJlNWRl
YmQ2YjFmZGIzOTgyYWRmMTEzMjU2YzNhZjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50LmNwcApAQCAtMjYsNiArMjYsOCBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uT3JNb3Rp
b25FdmVudC5oIgogCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiRGV2aWNlT3Jp
ZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQu
aCIKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgppbmRleCA5YjliZjkzN2NjMDkzYTYwMDVjZDYwY2UxNjQ0
Y2IwODhlYmU2NjEyLi4yODI3MGYyNzUwNTA1M2EyMzMxMDMzMjZkYjQ2Y2M3YzBhYjRjMWViIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTcsNiArNyw3IEBA
IEFwcGxlUGF5U2Vzc2lvbiBjb25kaXRpb25hbD1BUFBMRV9QQVkKIEF1ZGlvTm9kZSBjb25kaXRp
b25hbD1XRUJfQVVESU8KIEF1ZGlvQ29udGV4dCBjb25kaXRpb25hbD1XRUJfQVVESU8KIEF1ZGlv
VHJhY2tMaXN0IGNvbmRpdGlvbmFsPVZJREVPX1RSQUNLCitDbGlwYm9hcmQKIERlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlCiBET01BcHBsaWNhdGlvbkNhY2hlCiBET01XaW5kb3cKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2ZlYXR1cmVzLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9mZWF0dXJl
cy5qc29uCmluZGV4IGU1ODdkMjIzNDk0YzJmZmQ4MTM5YjYzN2ZkNWJlNzcxZGMzYzRjYmYuLjI4
N2QwZWIzODYzZDZiNjFmOWQzN2Y0ODQzOTM3NGU4ODAzOTc0MTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2ZlYXR1cmVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvZmVhdHVyZXMuanNv
bgpAQCAtMTEsNiArMTEsMjEgQEAKICAgICAgICAgImNhdGVnb3J5IjogIndlYmFwcHMiLAogICAg
ICAgICAiZGVzY3JpcHRpb24iOiAiUmVzb3VyY2VzIGFyZSBzYXZlZCBmb3Igb2ZmbGluZSB1c2Ug
dXNpbmcgYSBtYW5pZmVzdC4iCiAgICAgfSwKKyAgICB7CisgICAgICAgICJuYW1lIjogIkFzeW5j
IENsaXBib2FyZCBBUEkiLAorICAgICAgICAic3RhdHVzIjogeworICAgICAgICAgICAgInN0YXR1
cyI6ICJJbiBEZXZlbG9wbWVudCIKKyAgICAgICAgfSwKKyAgICAgICAgInVybCI6ICJodHRwczov
L3d3dy53My5vcmcvVFIvY2xpcGJvYXJkLWFwaXMvI2FzeW5jLWNsaXBib2FyZC1hcGkiLAorICAg
ICAgICAic3BlY2lmaWNhdGlvbiI6ICJDbGlwYm9hcmQgQVBJIiwKKyAgICAgICAgImNhdGVnb3J5
IjogIndlYmFwcHMiLAorICAgICAgICAiZGVzY3JpcHRpb24iOiAiQW4gQVBJIHRoYXQgYWxsb3dz
IHJlYWRpbmcgZnJvbSBhbmQgd3JpdGluZyB0byB0aGUgc3lzdGVtIGNsaXBib2FyZC4iLAorICAg
ICAgICAiY29udGFjdCI6IHsKKyAgICAgICAgICAgICJuYW1lIjogIldlbnNvbiBIc2llaCIsCisg
ICAgICAgICAgICAiZW1haWwiOiAid2Vuc29uX2hzaWVoQGFwcGxlLmNvbSIsCisgICAgICAgICAg
ICAidHdpdHRlciI6ICJAd2Vuc29uaHNpZWgiCisgICAgICAgIH0KKyAgICB9LAogICAgIHsKICAg
ICAgICAgIm5hbWUiOiAiQmF0dGVyeSBTdGF0dXMgQVBJIiwKICAgICAgICAgInN0YXR1cyI6IHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAppbmRleCAzMzViNzhhZWQ2MzIzZDEwODE4NjU1YmRj
YjQ4YWQ4Y2UxNzVlMWI1Li5lZmJjNjM1ZTMyYTZmYjAzMGFiZTk5NmZhOTU5MGFlNmMyN2UwMzk0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCkBAIC0xMTgsNiArMTE4LDggQEAgc2hvdWxk
UHJpbnRCYWNrZ3JvdW5kczoKIGNsaXBib2FyZEFjY2Vzc1BvbGljeToKICAgdHlwZTogQ2xpcGJv
YXJkQWNjZXNzUG9saWN5CiAgIGluaXRpYWw6IENsaXBib2FyZEFjY2Vzc1BvbGljeTo6UmVxdWly
ZXNVc2VyR2VzdHVyZQorYXN5bmNDbGlwYm9hcmRBUElFbmFibGVkOgorICBpbml0aWFsOiBmYWxz
ZQogCiB0ZXh0QXJlYXNBcmVSZXNpemFibGU6CiAgIGluaXRpYWw6IGZhbHNlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCBiYjg4OTY3OTQ2N2VmYmYxMzRlMmU3
MWY1YTI3NjI0MTBkNWI2MjVmLi4zNGRkYmJjZmFhNmJjZDZmYWQxYzMzOWY0OTFhMWZkMDYwZmY4
NGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAgLTg0Niw2
ICs4NDYsMTMgQEAgQ3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkOgogICBodW1hblJlYWRhYmxl
RGVzY3JpcHRpb246ICJFbmFibGUgY3VzdG9tIGNsaXBib2FyZCB0eXBlcyBhbmQgYmV0dGVyIHNl
Y3VyaXR5IG1vZGVsIGZvciBjbGlwYm9hcmQgQVBJLiIKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMKIAorQXN5bmNDbGlwYm9hcmRBUElFbmFibGVkOgorICB0eXBlOiBi
b29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJBc3luYyBj
bGlwYm9hcmQgQVBJIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgdGhlIGFz
eW5jIGNsaXBib2FyZCBBUEkiCisgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKKwogV2ViU2hhcmVF
bmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9XRUJfU0hBUkVf
RU5BQkxFRApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDU2YWIzNmU0YmE3NTU5NjVkOWNlZDNmYTc4NzIzNmZiZGNhZmE5OWUu
LjVmZDM2ZDY3YzdmMGYxODk3MTBkOGIxZThlNDg2YjJkNDM5ODE4ODIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzMyBAQAorMjAxOS0xMC0wNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KKworICAgICAgICBbQ2xpcGJvYXJkIEFQSV0gSW50cm9kdWNlIGJpbmRpbmdzIGZvciB0aGUg
YXN5bmMgQ2xpcGJvYXJkIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjAyNjIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NjAzODEyNj4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBlZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaW50ZXJmYWNlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pbnRlcmZhY2VzLmh0
bWw6IEFkZGVkLgorCisgICAgICAgIEFkZCBhIG5ldyB0ZXN0IHRvIHNhbml0eSBjaGVjayB0aGUg
bmV3IGNsaXBib2FyZCBBUEkgaW50ZXJmYWNlcyBhbmQgaW50ZXJmYWNlIGV4dGVuc2lvbnMuCisK
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtd3JhcHBlci1zdGF5
cy1hbGl2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xp
cGJvYXJkL2NsaXBib2FyZC13cmFwcGVyLXN0YXlzLWFsaXZlLmh0bWw6IEFkZGVkLgorCisgICAg
ICAgIEFkZCBhIG5ldyB0ZXN0IHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBjbGlwYm9hcmQgd3JhcHBl
ciBzdGF5cyBhbGl2ZSBiZXR3ZWVuIEdDIHBhc3NlcywgZXZlbiB3aGVuIHRoZSBjbGlwYm9hcmQn
cworICAgICAgICBuYXZpZ2F0b3IgaXMga2VwdCBhbGl2ZSwgaW5kZXBlbmRlbnRseSBvZiBpdHMg
d2luZG93IG9iamVjdC4KKworICAgICAgICAqIGZhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1u
by1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhw
ZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1oaWdoc2llcnJhL2Zhc3QvZG9tL25h
dmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIv
ZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZmFzdC9kb20vbmF2aWdhdG9yLWRl
dGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWly
by9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0OgorCisg
ICAgICAgIFVwZGF0ZSBhbiBleGlzdGluZyBsYXlvdXQgdGVzdCB0byBpbmNsdWRlICJuYXZpZ2F0
b3IuY2xpcGJvYXJkIi4KKwogMjAxOS0xMC0wNyAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hl
bmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBEb21haW4gcmVsYXRpb25zaGlwcyBpbiB0aGUgSVRQ
IERhdGFiYXNlIHNob3VsZCBiZSBpbnNlcnRlZCBpbiBhIHNpbmdsZSBxdWVyeSBhbmQgaWdub3Jl
IHJlcGVhdCBpbnNlcnQgYXR0ZW1wdHMuICgyMDI2MDQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaW50ZXJmYWNlcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaW50ZXJm
YWNlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTljNTBhMWJkNDQ1ZGQ2MmI3MTlhYjJlZjQx
ZWJiZWRlZjY3ZTY5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDUxIEBACitUZXN0cyB0aGUgaW50ZXJmYWNlcyBvZiB0aGUgYXN5bmMgY2xpcGJvYXJkIEFQSSwg
d2hpY2ggaW5jbHVkZSBDbGlwYm9hcmQsIENsaXBib2FyZEl0ZW0sIGFuZCBleHRlbnNpb25zIHRv
IE5hdmlnYXRvci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKworVGVzdGluZyBD
bGlwYm9hcmQ6CitQQVNTIENsaXBib2FyZCBpbnN0YW5jZW9mIEZ1bmN0aW9uIGlzIHRydWUKK1BB
U1MgdHlwZW9mIENsaXBib2FyZCBpcyAiZnVuY3Rpb24iCitQQVNTIG5hdmlnYXRvci5jbGlwYm9h
cmQgaW5zdGFuY2VvZiBDbGlwYm9hcmQgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0UHJvdG90eXBl
T2YobmF2aWdhdG9yLmNsaXBib2FyZCkgPT09IENsaXBib2FyZC5wcm90b3R5cGUgaXMgdHJ1ZQor
UEFTUyBDbGlwYm9hcmQucHJvdG90eXBlLnJlYWRUZXh0IGluc3RhbmNlb2YgRnVuY3Rpb24gaXMg
dHJ1ZQorUEFTUyBDbGlwYm9hcmQucHJvdG90eXBlLndyaXRlVGV4dCBpbnN0YW5jZW9mIEZ1bmN0
aW9uIGlzIHRydWUKK1BBU1MgQ2xpcGJvYXJkLnByb3RvdHlwZS5yZWFkIGluc3RhbmNlb2YgRnVu
Y3Rpb24gaXMgdHJ1ZQorUEFTUyBDbGlwYm9hcmQucHJvdG90eXBlLndyaXRlIGluc3RhbmNlb2Yg
RnVuY3Rpb24gaXMgdHJ1ZQorUEFTUyBDbGlwYm9hcmQoKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBJbGxlZ2FsIGNvbnN0cnVjdG9yLgorUEFTUyBuZXcgQ2xpcGJvYXJkKCkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRp
bmcgJ25ldyBDbGlwYm9hcmQoKScpLgorUEFTUyBDbGlwYm9hcmQudG9TdHJpbmcoKSBpcyAiZnVu
Y3Rpb24gQ2xpcGJvYXJkKCkge1xuICAgIFtuYXRpdmUgY29kZV1cbn0iCitQQVNTIG5hdmlnYXRv
ci5jbGlwYm9hcmQudG9TdHJpbmcoKSBpcyAiW29iamVjdCBDbGlwYm9hcmRdIgorUEFTUyBuYXZp
Z2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCgnZm9vJykgaW5zdGFuY2VvZiBQcm9taXNlIGlzIHRy
dWUKK1BBU1MgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZShbIF0pIGluc3RhbmNlb2YgUHJvbWlz
ZSBpcyB0cnVlCitQQVNTIG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpIGluc3RhbmNlb2YgUHJv
bWlzZSBpcyB0cnVlCitQQVNTIG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZFRleHQoKSBpbnN0YW5j
ZW9mIFByb21pc2UgaXMgdHJ1ZQorUEFTUyBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlKCkgcmVq
ZWN0ZWQgd2l0aCBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzCitQQVNTIG5hdmlnYXRv
ci5jbGlwYm9hcmQud3JpdGVUZXh0KCkgcmVqZWN0ZWQgd2l0aCBUeXBlRXJyb3I6IE5vdCBlbm91
Z2ggYXJndW1lbnRzCitQQVNTIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUoJ2ZvbycpIHJlamVj
dGVkIHdpdGggVHlwZUVycm9yOiBWYWx1ZSBpcyBub3QgYSBzZXF1ZW5jZQorUEFTUyBuYXZpZ2F0
b3IuY2xpcGJvYXJkLndyaXRlKFsxLCAyLCAzXSkgcmVqZWN0ZWQgd2l0aCBUeXBlRXJyb3I6IFR5
cGUgZXJyb3IKK1BBU1MgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZShuZXcgQ2xpcGJvYXJkSXRl
bSh7IH0pKSByZWplY3RlZCB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJvcgorCitUZXN0aW5nIENs
aXBib2FyZEl0ZW06CitQQVNTIENsaXBib2FyZEl0ZW0gaW5zdGFuY2VvZiBGdW5jdGlvbiBpcyB0
cnVlCitQQVNTIHR5cGVvZiBDbGlwYm9hcmRJdGVtIGlzICJmdW5jdGlvbiIKK1BBU1MgQ2xpcGJv
YXJkSXRlbS5wcm90b3R5cGUuZ2V0VHlwZSBpbnN0YW5jZW9mIEZ1bmN0aW9uIGlzIHRydWUKK1BB
U1MgQ2xpcGJvYXJkSXRlbSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IENvbnN0cnVjdG9y
IHJlcXVpcmVzICduZXcnIG9wZXJhdG9yLgorUEFTUyBuZXcgQ2xpcGJvYXJkSXRlbSgpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBuZXcgQ2xp
cGJvYXJkSXRlbSgnZm9vJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4K
K1BBU1MgbmV3IENsaXBib2FyZEl0ZW0oeyB9KSBpbnN0YW5jZW9mIENsaXBib2FyZEl0ZW0gaXMg
dHJ1ZQorUEFTUyBPYmplY3QuZ2V0UHJvdG90eXBlT2YobmV3IENsaXBib2FyZEl0ZW0oeyB9KSkg
PT09IENsaXBib2FyZEl0ZW0ucHJvdG90eXBlIGlzIHRydWUKK1BBU1MgbmV3IENsaXBib2FyZEl0
ZW0oeyB9KS50eXBlcyBpbnN0YW5jZW9mIEFycmF5IGlzIHRydWUKK1BBU1MgQ2xpcGJvYXJkSXRl
bS50b1N0cmluZygpIGlzICJmdW5jdGlvbiBDbGlwYm9hcmRJdGVtKCkge1xuICAgIFtuYXRpdmUg
Y29kZV1cbn0iCitQQVNTIG5ldyBDbGlwYm9hcmRJdGVtKHsgfSkudG9TdHJpbmcoKSBpcyAiW29i
amVjdCBDbGlwYm9hcmRJdGVtXSIKK1BBU1MgbmV3IENsaXBib2FyZEl0ZW0oeyB9LCB7IGZvbzog
J2F0dGFjaG1lbnQnIH0pLnByZXNlbnRhdGlvblN0eWxlIGlzICJ1bnNwZWNpZmllZCIKK1BBU1Mg
bmV3IENsaXBib2FyZEl0ZW0oeyB9LCB7IHByZXNlbnRhdGlvblN0eWxlOiAnQXR0YUNIbWVuVCcg
fSkucHJlc2VudGF0aW9uU3R5bGUgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJv
ci4KK1BBU1MgbmV3IENsaXBib2FyZEl0ZW0oeyB9LCB7IHByZXNlbnRhdGlvblN0eWxlOiAndW5z
cGVjaWZpZWQnIH0pLnByZXNlbnRhdGlvblN0eWxlIGlzICJ1bnNwZWNpZmllZCIKK1BBU1MgbmV3
IENsaXBib2FyZEl0ZW0oeyB9LCB7IHByZXNlbnRhdGlvblN0eWxlOiAnYXR0YWNobWVudCcgfSku
cHJlc2VudGF0aW9uU3R5bGUgaXMgImF0dGFjaG1lbnQiCitQQVNTIG5ldyBDbGlwYm9hcmRJdGVt
KHsgfSwgeyBwcmVzZW50YXRpb25TdHlsZTogJ2lubGluZScgfSkucHJlc2VudGF0aW9uU3R5bGUg
aXMgImlubGluZSIKK1BBU1MgbmV3IENsaXBib2FyZEl0ZW0oeyB9LCAnaW5saW5lJykgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaW50ZXJmYWNlcy5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWludGVyZmFjZXMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43NWEyNjc2ODIxNDhlM2VjNmQ3MDU3MDE0M2UyMWRmM2VlZGI1NTU0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWludGVyZmFjZXMuaHRtbApAQCAtMCwwICsxLDY4IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6YXN5bmNDbGlwYm9hcmRBUElFbmFibGVk
PXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5j
dGlvbiBzaG91bGRSZWplY3Qoc2NyaXB0VG9FdmFsdWF0ZSkKKyAgICAgICAgeworICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKGAke3NjcmlwdFRvRXZhbHVhdGV9
IHJlc29sdmVkIHRvICR7YXdhaXQgZXZhbChzY3JpcHRUb0V2YWx1YXRlKX1gKTsKKyAgICAgICAg
ICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoYCR7
c2NyaXB0VG9FdmFsdWF0ZX0gcmVqZWN0ZWQgd2l0aCAke2V4Y2VwdGlvbn1gKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKQorICAg
ICAgICB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhlIGludGVyZmFjZXMgb2Yg
dGhlIGFzeW5jIGNsaXBib2FyZCBBUEksIHdoaWNoIGluY2x1ZGUgQ2xpcGJvYXJkLCBDbGlwYm9h
cmRJdGVtLCBhbmQgZXh0ZW5zaW9ucyB0byBOYXZpZ2F0b3IuIik7CisKKyAgICAgICAgICAgIGRl
YnVnKCJcblRlc3RpbmcgQ2xpcGJvYXJkOiIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJD
bGlwYm9hcmQgaW5zdGFuY2VvZiBGdW5jdGlvbiIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ0eXBlb2YgQ2xpcGJvYXJkIiwgImZ1bmN0aW9uIik7CisgICAgICAgICAgICBz
aG91bGRCZVRydWUoIm5hdmlnYXRvci5jbGlwYm9hcmQgaW5zdGFuY2VvZiBDbGlwYm9hcmQiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiT2JqZWN0LmdldFByb3RvdHlwZU9mKG5hdmlnYXRv
ci5jbGlwYm9hcmQpID09PSBDbGlwYm9hcmQucHJvdG90eXBlIik7CisgICAgICAgICAgICBzaG91
bGRCZVRydWUoIkNsaXBib2FyZC5wcm90b3R5cGUucmVhZFRleHQgaW5zdGFuY2VvZiBGdW5jdGlv
biIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJDbGlwYm9hcmQucHJvdG90eXBlLndyaXRl
VGV4dCBpbnN0YW5jZW9mIEZ1bmN0aW9uIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIkNs
aXBib2FyZC5wcm90b3R5cGUucmVhZCBpbnN0YW5jZW9mIEZ1bmN0aW9uIik7CisgICAgICAgICAg
ICBzaG91bGRCZVRydWUoIkNsaXBib2FyZC5wcm90b3R5cGUud3JpdGUgaW5zdGFuY2VvZiBGdW5j
dGlvbiIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3coIkNsaXBib2FyZCgpIik7CisgICAgICAg
ICAgICBzaG91bGRUaHJvdygibmV3IENsaXBib2FyZCgpIik7CisgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoIkNsaXBib2FyZC50b1N0cmluZygpIiwgImZ1bmN0aW9uIENsaXBib2Fy
ZCgpIHtcbiAgICBbbmF0aXZlIGNvZGVdXG59Iik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoIm5hdmlnYXRvci5jbGlwYm9hcmQudG9TdHJpbmcoKSIsICJbb2JqZWN0IENsaXBi
b2FyZF0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgibmF2aWdhdG9yLmNsaXBib2FyZC53
cml0ZVRleHQoJ2ZvbycpIGluc3RhbmNlb2YgUHJvbWlzZSIpOworICAgICAgICAgICAgc2hvdWxk
QmVUcnVlKCJuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlKFsgXSkgaW5zdGFuY2VvZiBQcm9taXNl
Iik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIm5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgp
IGluc3RhbmNlb2YgUHJvbWlzZSIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJuYXZpZ2F0
b3IuY2xpcGJvYXJkLnJlYWRUZXh0KCkgaW5zdGFuY2VvZiBQcm9taXNlIik7CisgICAgICAgICAg
ICBhd2FpdCBzaG91bGRSZWplY3QoIm5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUoKSIpOworICAg
ICAgICAgICAgYXdhaXQgc2hvdWxkUmVqZWN0KCJuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4
dCgpIik7CisgICAgICAgICAgICBhd2FpdCBzaG91bGRSZWplY3QoIm5hdmlnYXRvci5jbGlwYm9h
cmQud3JpdGUoJ2ZvbycpIik7CisgICAgICAgICAgICBhd2FpdCBzaG91bGRSZWplY3QoIm5hdmln
YXRvci5jbGlwYm9hcmQud3JpdGUoWzEsIDIsIDNdKSIpOworICAgICAgICAgICAgYXdhaXQgc2hv
dWxkUmVqZWN0KCJuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlKG5ldyBDbGlwYm9hcmRJdGVtKHsg
fSkpIik7CisKKyAgICAgICAgICAgIGRlYnVnKCJcblRlc3RpbmcgQ2xpcGJvYXJkSXRlbToiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiQ2xpcGJvYXJkSXRlbSBpbnN0YW5jZW9mIEZ1bmN0
aW9uIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInR5cGVvZiBDbGlwYm9h
cmRJdGVtIiwgImZ1bmN0aW9uIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIkNsaXBib2Fy
ZEl0ZW0ucHJvdG90eXBlLmdldFR5cGUgaW5zdGFuY2VvZiBGdW5jdGlvbiIpOworICAgICAgICAg
ICAgc2hvdWxkVGhyb3coIkNsaXBib2FyZEl0ZW0oKSIpOworICAgICAgICAgICAgc2hvdWxkVGhy
b3coIm5ldyBDbGlwYm9hcmRJdGVtKCkiKTsKKyAgICAgICAgICAgIHNob3VsZFRocm93KCJuZXcg
Q2xpcGJvYXJkSXRlbSgnZm9vJykiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgibmV3IENs
aXBib2FyZEl0ZW0oeyB9KSBpbnN0YW5jZW9mIENsaXBib2FyZEl0ZW0iKTsKKyAgICAgICAgICAg
IHNob3VsZEJlVHJ1ZSgiT2JqZWN0LmdldFByb3RvdHlwZU9mKG5ldyBDbGlwYm9hcmRJdGVtKHsg
fSkpID09PSBDbGlwYm9hcmRJdGVtLnByb3RvdHlwZSIpOworICAgICAgICAgICAgc2hvdWxkQmVU
cnVlKCJuZXcgQ2xpcGJvYXJkSXRlbSh7IH0pLnR5cGVzIGluc3RhbmNlb2YgQXJyYXkiKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiQ2xpcGJvYXJkSXRlbS50b1N0cmluZygp
IiwgImZ1bmN0aW9uIENsaXBib2FyZEl0ZW0oKSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIpOwor
ICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQ2xpcGJvYXJkSXRlbSh7IH0p
LnRvU3RyaW5nKCkiLCAiW29iamVjdCBDbGlwYm9hcmRJdGVtXSIpOworICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQ2xpcGJvYXJkSXRlbSh7IH0sIHsgZm9vOiAnYXR0YWNo
bWVudCcgfSkucHJlc2VudGF0aW9uU3R5bGUiLCAidW5zcGVjaWZpZWQiKTsKKyAgICAgICAgICAg
IHNob3VsZFRocm93KCJuZXcgQ2xpcGJvYXJkSXRlbSh7IH0sIHsgcHJlc2VudGF0aW9uU3R5bGU6
ICdBdHRhQ0htZW5UJyB9KS5wcmVzZW50YXRpb25TdHlsZSIpOworICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJuZXcgQ2xpcGJvYXJkSXRlbSh7IH0sIHsgcHJlc2VudGF0aW9uU3R5
bGU6ICd1bnNwZWNpZmllZCcgfSkucHJlc2VudGF0aW9uU3R5bGUiLCAidW5zcGVjaWZpZWQiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IENsaXBib2FyZEl0ZW0oeyB9
LCB7IHByZXNlbnRhdGlvblN0eWxlOiAnYXR0YWNobWVudCcgfSkucHJlc2VudGF0aW9uU3R5bGUi
LCAiYXR0YWNobWVudCIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcg
Q2xpcGJvYXJkSXRlbSh7IH0sIHsgcHJlc2VudGF0aW9uU3R5bGU6ICdpbmxpbmUnIH0pLnByZXNl
bnRhdGlvblN0eWxlIiwgImlubGluZSIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3coIm5ldyBD
bGlwYm9hcmRJdGVtKHsgfSwgJ2lubGluZScpIik7CisKKyAgICAgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHkgb25sb2FkPXJ1blRlc3Qo
KT48L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtd3JhcHBlci1zdGF5cy1hbGl2ZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtd3JhcHBlci1zdGF5
cy1hbGl2ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjFhNzgwNmZjZGZiMDAzMmZlOGM3ZDA3
MTYzYzUxMzFkNjFmZmVmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
YXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC13cmFwcGVyLXN0YXlzLWFsaXZlLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEwIEBACitWZXJpZmllcyB0aGF0IHRoZSB3cmFwcGVyIGZvciBOYXZpZ2F0
b3IncyBDbGlwYm9hcmQgcmVtYWlucyBjb25zaXN0ZW50IGFjcm9zcyBHQyBwYXNzZXMuIFRoaXMg
dGVzdCBtdXN0IGJlIHJ1biB1c2luZyBXZWJLaXRUZXN0UnVubmVyLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyBzdWJmcmFtZU5hdmlnYXRvci5jbGlwYm9hcmQuZm9vIGlz
ICJiYXIiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJv
YXJkLXdyYXBwZXItc3RheXMtYWxpdmUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMt
Y2xpcGJvYXJkL2NsaXBib2FyZC13cmFwcGVyLXN0YXlzLWFsaXZlLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzFmNTYxOGU2YmEzNGQ0Y2Q4Zjc5YTA4Yjg1ZTNhY2VjODJhZmM5ZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC13cmFwcGVy
LXN0YXlzLWFsaXZlLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOmFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxl
ZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPHNj
cmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgYWRkRXZlbnRM
aXN0ZW5lcigibG9hZCIsIGFzeW5jIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlZlcmlmaWVzIHRoYXQgdGhlIHdyYXBwZXIgZm9yIE5hdmlnYXRvcidzIENsaXBib2FyZCBy
ZW1haW5zIGNvbnNpc3RlbnQgYWNyb3NzIEdDIHBhc3Nlcy4gVGhpcyB0ZXN0IG11c3QgYmUgcnVu
IHVzaW5nIFdlYktpdFRlc3RSdW5uZXIuIik7CisKKyAgICAgICAgICAgIHN1YmZyYW1lID0gZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigiaWZyYW1lIik7CisgICAgICAgICAgICBzdWJmcmFtZU5hdmln
YXRvciA9IHN1YmZyYW1lLmNvbnRlbnRXaW5kb3cubmF2aWdhdG9yOworICAgICAgICAgICAgc3Vi
ZnJhbWVOYXZpZ2F0b3IuY2xpcGJvYXJkLmZvbyA9ICJiYXIiOworICAgICAgICAgICAgc3ViZnJh
bWUucmVtb3ZlKCk7CisgICAgICAgICAgICBzdWJmcmFtZSA9IG51bGw7CisKKyAgICAgICAgICAg
IGlmICh3aW5kb3cuR0NDb250cm9sbGVyKQorICAgICAgICAgICAgICAgIEdDQ29udHJvbGxlci5j
b2xsZWN0KCk7CisKKyAgICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0
VGltZW91dChyZXNvbHZlLCA1MCkpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJzdWJmcmFtZU5hdmlnYXRvci5jbGlwYm9hcmQuZm9vIiwgImJhciIpOworICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0pOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5Pgor
ICAgICAgICA8aWZyYW1lIHNyY2RvYz0iSGVsbG8gd29ybGQiPjwvaWZyYW1lPgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL25hdmlnYXRvci1k
ZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9uYXZp
Z2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IGYyZjYzZTg1NjUwZDYy
MWM0NmExNzAxYWQyNTdkMmQ0MmY4NzY3M2YuLjI3ZmJiZWExYTQxOWYxZDFmZTNmNDZlMWQyYTYz
NGRjNTEzY2IwZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL25hdmlnYXRvci1k
ZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
bmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtNSw2ICs1LDcgQEAg
VGhpcyB0ZXN0cyB0aGF0IHRoZSBuYXZpZ2F0b3Igb2JqZWN0IG9mIGEgZGVsZXRlZCBmcmFtZSBp
cyBkaXNjb25uZWN0ZWQgcHJvcGVybHkKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2
aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0
b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdh
dG9yLmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBP
SwpAQCAtMzEsNiArMzIsNyBAQCBuYXZpZ2F0b3Iud2ViZHJpdmVyIGlzIE9LCiBuYXZpZ2F0b3Iu
YXBwQ29kZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBw
VmVyc2lvbiBpcyBPSworbmF2aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tp
ZUVuYWJsZWQgaXMgT0sKIG5hdmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwogbmF2aWdhdG9yLmdl
dFN0b3JhZ2VVcGRhdGVzKCkgaXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azEv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCA1NTcwNDJhNTc1NjgxOTdhMDFhMWM4YmRlZjJlODMwNDQ2
NTZmMDkxLi4wNmVkNzRhN2RkMjFhZTgwZWJjZmIzYjA2ZGM1ODE3OWVlNTFjMjk4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNSw2ICsx
NSw5IEBAIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLWRvbWNhY2hlLXBlbmRpbmct
cHJvbWlzZS5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL2FwaS9yZXF1ZXN0L2Rlc3RpbmF0aW9uIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL2Nyb3NzLW9yaWdpbi1yZXNvdXJjZS1wb2xpY3kgWyBTa2lwIF0K
IAorIyBBc3luYyBDbGlwYm9hcmQgQVBJIGlzIG5vdCBzdXBwb3J0ZWQgaW4gV2ViS2l0MSB5ZXQu
Cit3ZWJraXQub3JnL2IvMjAyNjU0IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkIFsgU2tpcCBdCisK
ICMgU2tpcCBXZWJSVEMgZm9yIG5vdyBpbiBXSzEKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2VicnRjIFsgU2tpcCBdCiB3ZWJydGMgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy1oaWdoc2llcnJhL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hl
ZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtaGlnaHNp
ZXJyYS9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDg1MDgwNzYwNzU1ZTBiZDUwMDU5Yzg3N2ZkZWJjMmU3NDM2NDczYmUuLjI4NWIxZTdhY2Q1
MDAwNTE5NWIwZDhlODVjMTllYzk4MjdlOTM1NDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy1oaWdoc2llcnJhL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFz
aC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWhpZ2hzaWVycmEv
ZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtNCw2
ICs0LDcgQEAgVGhpcyB0ZXN0cyB0aGF0IHRoZSBuYXZpZ2F0b3Igb2JqZWN0IG9mIGEgZGVsZXRl
ZCBmcmFtZSBpcyBkaXNjb25uZWN0ZWQgcHJvcGVybHkKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBp
cyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9L
CituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBP
SwogbmF2aWdhdG9yLmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0
ZXMoKSBpcyBPSwpAQCAtMjgsNiArMjksNyBAQCBuYXZpZ2F0b3Iud2ViZHJpdmVyIGlzIE9LCiBu
YXZpZ2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZp
Z2F0b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdh
dG9yLmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5hdmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwogbmF2
aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkgaXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBmM2Y4YjhhNzE0OWUxOWY0N2ViZTFiYWNh
NWY3OTEyYmI1ZjIyYTZjLi4yZDc5YjFkMDMyOThkMmRkZWJhMmYwNzNiNjM1OWIzNjBhNGNiMjcx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBA
IC00NCw2ICs0NCw5IEBAIGNzcy1jdXN0b20tcHJvcGVydGllcy1hcGkgWyBTa2lwIF0KIGNzcy10
eXBlZG9tIFsgU2tpcCBdCiBjc3MtZGFyay1tb2RlIFsgU2tpcCBdCiAKKyMgQXN5bmMgQ2xpcGJv
YXJkIEFQSSBpcyBub3Qgc3VwcG9ydGVkIGluIFdlYktpdDEgeWV0Lgord2Via2l0Lm9yZy9iLzIw
MjY1NCBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZCBbIFNraXAgXQorCiB3ZWJncHUgWyBTa2lwIF0K
IGluc3BlY3Rvci9jYW52YXMvY3JlYXRlLWNvbnRleHQtd2ViZ3B1Lmh0bWwgWyBTa2lwIF0KIGlu
c3BlY3Rvci9jYW52YXMvcmVxdWVzdENsaWVudE5vZGVzLXdlYmdwdS5odG1sIFsgU2tpcCBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRv
ci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQK
aW5kZXggM2NmMGRiMmJkODE4YzdlZDA3OTAyOTdkNTIxYTViNTM1NDBmZDlmOC4uMzQxMjg0MDE3
YjQyNzQ0ZDFiZDExYjU5ZDYyYTE4NWYyZDcwZGM5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2
aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtNSw2ICs1LDcgQEAgVGhp
cyB0ZXN0cyB0aGF0IHRoZSBuYXZpZ2F0b3Igb2JqZWN0IG9mIGEgZGVsZXRlZCBmcmFtZSBpcyBk
aXNjb25uZWN0ZWQgcHJvcGVybHkKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdh
dG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3Iu
Y2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9y
LmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwpA
QCAtMzEsNiArMzIsNyBAQCBuYXZpZ2F0b3Iud2ViZHJpdmVyIGlzIE9LCiBuYXZpZ2F0b3IuYXBw
Q29kZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwVmVy
c2lvbiBpcyBPSworbmF2aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tpZUVu
YWJsZWQgaXMgT0sKIG5hdmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwogbmF2aWdhdG9yLmdldFN0
b3JhZ2VVcGRhdGVzKCkgaXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFz
aC1leHBlY3RlZC50eHQKaW5kZXggMzMzZWM5NjA4ZDhkNGRmNTdjMWZmMGYyZDdlNGUyNTM3OGJh
MzczZi4uZmYxYzUyMWQxMDEwODA2ZTkwZDU3MDVkZTQ0MzI0MzI0MzdhZjljYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1u
by1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
ZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTQsNiArNCw3
IEBAIFRoaXMgdGVzdHMgdGhhdCB0aGUgbmF2aWdhdG9yIG9iamVjdCBvZiBhIGRlbGV0ZWQgZnJh
bWUgaXMgZGlzY29ubmVjdGVkIHByb3Blcmx5CiBuYXZpZ2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sK
IG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2
aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5h
dmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwogbmF2aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkg
aXMgT0sKQEAgLTI3LDYgKzI4LDcgQEAgbmF2aWdhdG9yLndlYmRyaXZlciBpcyBPSwogbmF2aWdh
dG9yLmFwcENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwTmFtZSBpcyBPSwogbmF2aWdhdG9y
LmFwcFZlcnNpb24gaXMgT0sKK25hdmlnYXRvci5jbGlwYm9hcmQgaXMgT0sKIG5hdmlnYXRvci5j
b29raWVFbmFibGVkIGlzIE9LCiBuYXZpZ2F0b3IuY3JlZGVudGlhbHMgaXMgT0sKIG5hdmlnYXRv
ci5nZXRTdG9yYWdlVXBkYXRlcygpIGlzIE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQt
bm8tY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IDljY2NlYWM1OTMyNTA0ZDFiN2ExMGIxZmM5MTVl
ZjNlNWMxNTllZTMuLjIxODhlZmE3ZjMyYzk0ZjdjMzg5NmM0YjE3N2RhNTk3MzNmNjAzODYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0
YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC00
LDYgKzQsNyBAQCBUaGlzIHRlc3RzIHRoYXQgdGhlIG5hdmlnYXRvciBvYmplY3Qgb2YgYSBkZWxl
dGVkIGZyYW1lIGlzIGRpc2Nvbm5lY3RlZCBwcm9wZXJseQogbmF2aWdhdG9yLmFwcENvZGVOYW1l
IGlzIE9LCiBuYXZpZ2F0b3IuYXBwTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMg
T0sKK25hdmlnYXRvci5jbGlwYm9hcmQgaXMgT0sKIG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlz
IE9LCiBuYXZpZ2F0b3IuY3JlZGVudGlhbHMgaXMgT0sKIG5hdmlnYXRvci5nZXRTdG9yYWdlVXBk
YXRlcygpIGlzIE9LCkBAIC0yNCw2ICsyNSw3IEBAIG5hdmlnYXRvci53ZWJkcml2ZXIgaXMgT0sK
IG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5h
dmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZp
Z2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9yLmNyZWRlbnRpYWxzIGlzIE9LCiBu
YXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luY2Fpcm8vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNo
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL2Zhc3QvZG9tL25h
dmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggYjNiMjUyZmRlN2Uw
OTY1MzM5ODI2NGVmZDVlMGM4YzcwODhmNjQ1Ny4uZDE5YzU3NmE1MTdmYjJhMzJhY2JlOGUzZmM0
NzdhN2QxZGFiMGYxMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8v
ZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQt
bm8tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0zLDYgKzMsNyBAQCBUaGlzIHRlc3RzIHRoYXQgdGhl
IG5hdmlnYXRvciBvYmplY3Qgb2YgYSBkZWxldGVkIGZyYW1lIGlzIGRpc2Nvbm5lY3RlZCBwcm9w
ZXJseQogbmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwTmFtZSBpcyBP
SwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25hdmlnYXRvci5jbGlwYm9hcmQgaXMgT0sK
IG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0
ZXMoKSBpcyBPSwogbmF2aWdhdG9yLmphdmFFbmFibGVkKCkgaXMgT0sKQEAgLTIxLDYgKzIyLDcg
QEAgbmF2aWdhdG9yLndlYmRyaXZlciBpcyBPSwogbmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9L
CiBuYXZpZ2F0b3IuYXBwTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25h
dmlnYXRvci5jbGlwYm9hcmQgaXMgT0sKIG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBu
YXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwogbmF2aWdhdG9yLmphdmFFbmFibGVk
KCkgaXMgT0sK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380386</attachid>
            <date>2019-10-07 20:08:15 -0700</date>
            <delta_ts>2019-10-07 21:58:59 -0700</delta_ts>
            <desc>Try to fix GTK/WPE build (3)</desc>
            <filename>bug-202622-20191007200814.patch</filename>
            <type>text/plain</type>
            <size>68038</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwODA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODQ1MjdlMTUwMjJiNmZi
YjU1M2Y2MGQzZWMxZGUxODRjYzZmZDQ4Zi4uN2E5YWQ3M2M4Y2Q4OGU0MzEyMzAwNGE1NjUwOWQz
M2YyNjFkMGQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc3IEBACisyMDE5LTEwLTA3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtDbGlwYm9hcmQg
QVBJXSBJbnRyb2R1Y2UgYmluZGluZ3MgZm9yIHRoZSBhc3luYyBDbGlwYm9hcmQgQVBJCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI2MjIKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzU2MDM4MTI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1
a2UgTml3YS4KKworICAgICAgICBBZGRzIElETCBmb3IgdGhlIGFzeW5jIGNsaXBib2FyZCBBUEkg
KHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBkZWxheWVkIGl0ZW0gZ2VuZXJhdGlvbiBpbnRlcmZhY2Vz
LCB3aGljaAorICAgICAgICBJJ2xsIGl0ZXJhdGUgb24gYW5kIGludHJvZHVjZSBzZXBhcmF0ZWx5
KS4gU2VlOiBodHRwczovL3czYy5naXRodWIuaW8vY2xpcGJvYXJkLWFwaXMvI2FzeW5jLWNsaXBi
b2FyZC1hcGkgZm9yCisgICAgICAgIG1vcmUgaW5mb3JtYXRpb24uCisKKyAgICAgICAgVGVzdHM6
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pbnRlcmZhY2VzLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC13cmFwcGVyLXN0YXlz
LWFsaXZlLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q2xpcGJvYXJkOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpDbGlw
Ym9hcmQpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpuYXZpZ2F0b3IpOgorICAgICAg
ICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpldmVudFRhcmdldEludGVyZmFjZSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpyZWFkVGV4dCk6CisgICAgICAgIChXZWJDb3Jl
OjpDbGlwYm9hcmQ6OndyaXRlVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OnJl
YWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjp3cml0ZSk6CisKKyAgICAgICAgU3R1
YiBvdXQgdGhlc2UgQVBJIGNhbGxzIGZvciBub3cgYnkgaW1tZWRpYXRlbHkgcmVqZWN0aW5nIHRo
ZSBnaXZlbiBwcm9taXNlLgorCisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xp
cGJvYXJkLmg6CisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZEl0ZW06OkNsaXBib2FyZEl0ZW0pOgorICAgICAg
ICAoV2ViQ29yZTo6Q2xpcGJvYXJkSXRlbTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNs
aXBib2FyZEl0ZW06OnR5cGVzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZEl0
ZW06OmdldFR5cGUpOgorCisgICAgICAgIFN0dWIgb3V0IHRoZXNlIEFQSSBjYWxscyBmb3Igbm93
IGJ5IGltbWVkaWF0ZWx5IHJlamVjdGluZyB0aGUgZ2l2ZW4gcHJvbWlzZS4KKworICAgICAgICAo
V2ViQ29yZTo6bmF2aWdhdG9yKToKKyAgICAgICAgKiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9D
bGlwYm9hcmRJdGVtLmg6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmRJdGVtOjpwcmVzZW50
YXRpb25TdHlsZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xp
cGJvYXJkSXRlbS5pZGw6CisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdh
dG9yQ2xpcGJvYXJkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNsaXBib2FyZDo6
TmF2aWdhdG9yQ2xpcGJvYXJkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNsaXBib2Fy
ZDo6Y2xpcGJvYXJkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNsaXBib2FyZDo6ZnJv
bSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDbGlwYm9hcmQ6OnN1cHBsZW1lbnROYW1l
KToKKyAgICAgICAgKiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQu
aDoKKyAgICAgICAgKiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHA6CisgICAgICAgICogTW9k
dWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmUuaDoKKworICAgICAgICBNb3JlIHVuaWZpZWQgc291
cmNlcy1yZWxhdGVkIGJ1aWxkIGZpeGVzLgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRGV2aWNlT3JpZW50
YXRpb25Pck1vdGlvbkV2ZW50LmNwcDoKKworICAgICAgICBVbmlmaWVkIHNvdXJjZXMtcmVsYXRl
ZCBidWlsZCBmaXguCisKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAg
ICAgICAqIGZlYXR1cmVzLmpzb246CisKKyAgICAgICAgQWRkIEFzeW5jIENsaXBib2FyZCBBUEkg
YXMgYSBmZWF0dXJlIGluIGRldmVsb3BtZW50IG9uIHdlYmtpdC5vcmcuCisKKyAgICAgICAgKiBw
YWdlL1NldHRpbmdzLnlhbWw6CisKIDIwMTktMTAtMDcgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtp
QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBidWlsZCBmaXggZm9yIFdpbmRvd3MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMTIzNDJjNzY5NmExZGI4NDcwNTkyMDU1YWE3NTQ2MjQ2MDY3NGNiYy4uOWYz
MzZhODg1NmM3Njk3OTcwNDlkY2FjMDNmNGFmODk2ZTc0YzI0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAxOS0xMC0wNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KKworICAgICAgICBbQ2xpcGJvYXJkIEFQSV0gSW50cm9kdWNlIGJpbmRpbmdzIGZvciB0aGUg
YXN5bmMgQ2xpcGJvYXJkIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjAyNjIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NjAzODEyNj4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgQWRkcyBhIG5ldyBl
eHBlcmltZW50YWwgZmVhdHVyZSBmbGFnLiBTZWUgV2ViQ29yZSBDaGFuZ2VMb2cgZm9yIG1vcmUg
ZGV0YWlscy4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorCiAyMDE5
LTEwLTA3ICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgogCiAgICAg
ICAgIERvbWFpbiByZWxhdGlvbnNoaXBzIGluIHRoZSBJVFAgRGF0YWJhc2Ugc2hvdWxkIGJlIGlu
c2VydGVkIGluIGEgc2luZ2xlIHF1ZXJ5IGFuZCBpZ25vcmUgcmVwZWF0IGluc2VydCBhdHRlbXB0
cy4gKDIwMjYwNCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggODI2MmJlNjhjODI0MDhiZjcxNTZh
MWM4MWZkZDdiNjJmYjRiNWMxYy4uYzc5MmE5ZmZlMzU3ZDVjNzg3N2ZmZjI1Y2JhZDE1ZTRkMDk4
OWY5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTI4LDYgKzI4LDcgQEAgc2V0KFdlYkNvcmVf
UFJJVkFURV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
YXBwbGVwYXkiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJl
cXVlc3QiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvYXBwbGljYXRpb25tYW5pZmVzdCIK
KyAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQiCiAgICAgIiR7V0VC
Q09SRV9ESVJ9L01vZHVsZXMvYmVhY29uIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2Nh
Y2hlIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2NyZWRlbnRpYWxtYW5hZ2VtZW50IgpA
QCAtMjIzLDYgKzIyNCwxMCBAQCBzZXQoV2ViQ29yZV9JRExfSU5DTFVERVMKIHNldChXZWJDb3Jl
X05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9haXJwbGF5L1dlYktpdFBsYXliYWNrVGFy
Z2V0QXZhaWxhYmlsaXR5RXZlbnQuaWRsCiAKKyAgICBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9D
bGlwYm9hcmQuaWRsCisgICAgTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkSXRlbS5p
ZGwKKyAgICBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuaWRsCisK
ICAgICBNb2R1bGVzL2JlYWNvbi9OYXZpZ2F0b3JCZWFjb24uaWRsCiAKICAgICBNb2R1bGVzL2Nh
Y2hlL0NhY2hlUXVlcnlPcHRpb25zLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggMmY5OGY5ZTMxNWViNmY4M2UwMzM0Y2E3Zjc4NDhl
M2RlYTRkMTIwOS4uZThmN2E2YjA3MWEyN2FjMWI2YTgxM2Q4N2I5NDUwNWE5ZTIxYzk5OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC00
Nyw2ICs0Nyw5IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlw
cGluZ01ldGhvZFVwZGF0ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2Fw
cGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXIuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UmVxdWVzdC5pZGwKKyQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5pZGwKKyQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uaWRsCiskKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2JlYWNvbi9OYXZpZ2F0b3JCZWFjb24uaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL2NhY2hlL0NhY2hlUXVlcnlPcHRpb25zLmlkbAogJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9jYWNoZS9ET01DYWNoZS5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggOTNjNWM4Njc1ODU5NGFhMGEwN2Ri
NjJiMGM4ZTA0ZDM0NGI4NzgxYS4uN2RmYjg5Nzc3NjkxNzU5ZTUxZGZhMGViZDYzOTgyMGMxZmJh
NjJlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QKQEAgLTI5MCw4ICsyOTAsMTIgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNDaGFyYWN0ZXJEYXRhLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDaGFyYWN0ZXJEYXRhLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2hpbGROb2RlLmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDaGlsZE5vZGUuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDbGlwYm9hcmQuY3BwCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NsaXBib2FyZC5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NsaXBib2Fy
ZEV2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNDbGlwYm9hcmRFdmVudC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0NsaXBib2FyZEl0ZW0uY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0NsaXBib2FyZEl0ZW0uaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDbG9zZUV2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDbG9zZUV2ZW50LmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ29tbWFuZExpbmVBUElIb3N0LmNw
cApAQCAtMTA2Nyw2ICsxMDcxLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvckJlYWNvbi5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yQmVhY29uLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yQ2xpcGJv
YXJkLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNO
YXZpZ2F0b3JDbGlwYm9hcmQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNOYXZpZ2F0b3JDcmVkZW50aWFscy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yQ3JlZGVudGlhbHMuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3JFTUUuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyODQwZWZkNmZhZTY5NDA3OWMxYzAx
NGMzM2JhMDE1MDBmMzI5ODdjLi4zN2EzYjQzNDA1ODFhOTliMzczNjMwNTEyOWRkMDQzMGVlNjRk
NWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTMxLDYgKzMxLDcgQEAgVlBB
VEggPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FpcnBsYXkgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9hcHBsZXBheSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1l
bnRyZXF1ZXN0IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvYmVhY29uIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY2Fj
aGUgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudCBcCkBAIC0x
MjIsNiArMTIzLDkgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVyLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxl
UGF5UmVxdWVzdC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQv
Q2xpcGJvYXJkLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9D
bGlwYm9hcmRJdGVtLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FzeW5jLWNsaXBib2Fy
ZC9OYXZpZ2F0b3JDbGlwYm9hcmQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYmVhY29u
L05hdmlnYXRvckJlYWNvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jYWNoZS9DYWNo
ZVF1ZXJ5T3B0aW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jYWNoZS9ET01DYWNo
ZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9h
cmQvQ2xpcGJvYXJkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJk
L0NsaXBib2FyZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjkzYjE0YmE1YjA5MmI5Mzg1NDk4YzU0NTI3OGQ3
MWM2YWJkNzM2NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5
bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5jcHAKQEAgLTAsMCArMSw4NiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDbGlwYm9hcmQuaCIKKworI2luY2x1ZGUg
IkNsaXBib2FyZEl0ZW0uaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2UuaCIKKyNpbmNsdWRlICJK
U0RPTVByb21pc2VEZWZlcnJlZC5oIgorI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorI2luY2x1ZGUg
PHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01B
S0VfSVNPX0FMTE9DQVRFRF9JTVBMKENsaXBib2FyZCk7CisKK1JlZjxDbGlwYm9hcmQ+IENsaXBi
b2FyZDo6Y3JlYXRlKE5hdmlnYXRvciYgbmF2aWdhdG9yKQoreworICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IENsaXBib2FyZChuYXZpZ2F0b3IpKTsKK30KKworQ2xpcGJvYXJkOjpDbGlwYm9hcmQo
TmF2aWdhdG9yJiBuYXZpZ2F0b3IpCisgICAgOiBtX25hdmlnYXRvcihtYWtlV2Vha1B0cihuYXZp
Z2F0b3IpKQoreworfQorCitOYXZpZ2F0b3IqIENsaXBib2FyZDo6bmF2aWdhdG9yKCkKK3sKKyAg
ICByZXR1cm4gbV9uYXZpZ2F0b3IuZ2V0KCk7Cit9CisKK0V2ZW50VGFyZ2V0SW50ZXJmYWNlIENs
aXBib2FyZDo6ZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdAoreworICAgIHJldHVybiBDbGlw
Ym9hcmRFdmVudFRhcmdldEludGVyZmFjZVR5cGU7Cit9CisKK1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIENsaXBib2FyZDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fbmF2aWdhdG9yID8gbV9uYXZpZ2F0b3ItPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSA6
IG51bGxwdHI7Cit9CisKK3ZvaWQgQ2xpcGJvYXJkOjpyZWFkVGV4dChSZWY8RGVmZXJyZWRQcm9t
aXNlPiYmIHByb21pc2UpCit7CisgICAgcHJvbWlzZS0+cmVqZWN0KE5vdFN1cHBvcnRlZEVycm9y
KTsKK30KKwordm9pZCBDbGlwYm9hcmQ6OndyaXRlVGV4dChjb25zdCBTdHJpbmcmIGRhdGEsIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7
CisgICAgcHJvbWlzZS0+cmVqZWN0KE5vdFN1cHBvcnRlZEVycm9yKTsKK30KKwordm9pZCBDbGlw
Ym9hcmQ6OnJlYWQoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIHByb21p
c2UtPnJlamVjdChOb3RTdXBwb3J0ZWRFcnJvcik7Cit9CisKK3ZvaWQgQ2xpcGJvYXJkOjp3cml0
ZShjb25zdCBWZWN0b3I8UmVmUHRyPENsaXBib2FyZEl0ZW0+PiYgaXRlbXMsIFJlZjxEZWZlcnJl
ZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oaXRlbXMpOworICAgIHBy
b21pc2UtPnJlamVjdChOb3RTdXBwb3J0ZWRFcnJvcik7Cit9CisKK30KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjgyMDMzYWRlNDdjOWVhNjBjMzRmMDllOTk1MWM0ZTJkMWNlMzMzMgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5oCkBA
IC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkV2
ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgorI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIENsaXBib2FyZEl0ZW07CitjbGFzcyBEZWZlcnJlZFByb21pc2U7CitjbGFzcyBO
YXZpZ2F0b3I7CisKK2NsYXNzIENsaXBib2FyZCBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPENs
aXBib2FyZD4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhIHsKKyAgICBXVEZfTUFL
RV9JU09fQUxMT0NBVEVEKENsaXBib2FyZCk7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxDbGlw
Ym9hcmQ+IGNyZWF0ZShOYXZpZ2F0b3ImKTsKKworICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2
ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWw7CisgICAgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IGZpbmFsOworCisgICAgTmF2aWdh
dG9yKiBuYXZpZ2F0b3IoKTsKKworICAgIHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKKyAgICB1c2lu
ZyBSZWZDb3VudGVkOjpkZXJlZjsKKworICAgIHZvaWQgcmVhZFRleHQoUmVmPERlZmVycmVkUHJv
bWlzZT4mJik7CisgICAgdm9pZCB3cml0ZVRleHQoY29uc3QgU3RyaW5nJiBkYXRhLCBSZWY8RGVm
ZXJyZWRQcm9taXNlPiYmKTsKKworICAgIHZvaWQgcmVhZChSZWY8RGVmZXJyZWRQcm9taXNlPiYm
KTsKKyAgICB2b2lkIHdyaXRlKGNvbnN0IFZlY3RvcjxSZWZQdHI8Q2xpcGJvYXJkSXRlbT4+JiBk
YXRhLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKworcHJpdmF0ZToKKyAgICBDbGlwYm9hcmQo
TmF2aWdhdG9yJik7CisKKyAgICB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyByZWYoKTsg
fQorICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgZGVyZWYoKTsgfQorCisgICAg
V2Vha1B0cjxOYXZpZ2F0b3I+IG1fbmF2aWdhdG9yOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQv
Q2xpcGJvYXJkLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0Ns
aXBib2FyZC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGY2MTI3YTU0NmQxNzY4MDZhYzRlODIzZTI1MDE1ZGJi
OGRmMTk1ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMt
Y2xpcGJvYXJkL0NsaXBib2FyZC5pZGwKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK3R5
cGVkZWYgc2VxdWVuY2U8Q2xpcGJvYXJkSXRlbT4gQ2xpcGJvYXJkSXRlbXM7CisKK1sKKyAgICBT
ZWN1cmVDb250ZXh0LAorICAgIEV4cG9zZWQ9V2luZG93LAorICAgIEVuYWJsZWRCeVNldHRpbmc9
QXN5bmNDbGlwYm9hcmRBUEksCisgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1SZWFjaGFibGVGcm9t
TmF2aWdhdG9yCitdIGludGVyZmFjZSBDbGlwYm9hcmQgOiBFdmVudFRhcmdldCB7CisgICAgW05l
d09iamVjdF0gUHJvbWlzZTxDbGlwYm9hcmRJdGVtcz4gcmVhZCgpOworICAgIFtOZXdPYmplY3Rd
IFByb21pc2U8RE9NU3RyaW5nPiByZWFkVGV4dCgpOworICAgIFtOZXdPYmplY3RdIFByb21pc2U8
dm9pZD4gd3JpdGUoQ2xpcGJvYXJkSXRlbXMgZGF0YSk7CisgICAgW05ld09iamVjdF0gUHJvbWlz
ZTx2b2lkPiB3cml0ZVRleHQoRE9NU3RyaW5nIGRhdGEpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkSXRlbS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOWIzZWMzYzIwOWU0ZDc0ZDMxZWI3MTRkMDEzZTgyOTc1ZTQ1Yzg4YgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBi
b2FyZEl0ZW0uY3BwCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiQ2xpcGJvYXJkSXRlbS5oIgorCisjaW5jbHVkZSAiSlNET01Qcm9t
aXNlLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKKyNpbmNsdWRlICJOYXZp
Z2F0b3IuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDbGlwYm9hcmRJdGVtOjp+Q2xpcGJv
YXJkSXRlbSgpID0gZGVmYXVsdDsKKworQ2xpcGJvYXJkSXRlbTo6Q2xpcGJvYXJkSXRlbShWZWN0
b3I8S2V5VmFsdWVQYWlyPFN0cmluZywgUmVmUHRyPERPTVByb21pc2U+Pj4mJiBpdGVtcywgY29u
c3QgT3B0aW9ucyYgb3B0aW9ucykKKyAgICA6IG1fcHJlc2VudGF0aW9uU3R5bGUob3B0aW9ucy5w
cmVzZW50YXRpb25TdHlsZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oaXRlbXMpOworfQorCitSZWY8
Q2xpcGJvYXJkSXRlbT4gQ2xpcGJvYXJkSXRlbTo6Y3JlYXRlKFZlY3RvcjxLZXlWYWx1ZVBhaXI8
U3RyaW5nLCBSZWZQdHI8RE9NUHJvbWlzZT4+PiYmIGRhdGEsIGNvbnN0IE9wdGlvbnMmIG9wdGlv
bnMpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2xpcGJvYXJkSXRlbShXVEZNb3ZlKGRh
dGEpLCBvcHRpb25zKSk7Cit9CisKK1ZlY3RvcjxTdHJpbmc+IENsaXBib2FyZEl0ZW06OnR5cGVz
KCkgY29uc3QKK3sKKyAgICByZXR1cm4geyB9OworfQorCit2b2lkIENsaXBib2FyZEl0ZW06Omdl
dFR5cGUoY29uc3QgU3RyaW5nJiB0eXBlLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2Up
Cit7CisgICAgVU5VU0VEX1BBUkFNKHR5cGUpOworICAgIHByb21pc2UtPnJlamVjdChOb3RTdXBw
b3J0ZWRFcnJvcik7Cit9CisKK05hdmlnYXRvciogQ2xpcGJvYXJkSXRlbTo6bmF2aWdhdG9yKCkK
K3sKKyAgICAvLyBGSVhNRTogV2hlbiBzdXBwb3J0IGZvciBDbGlwYm9hcmQucmVhZCgpIGlzIGlt
cGxlbWVudGVkLCB0aGlzIHNob3VsZCBpbnN0ZWFkIHJldHVybiB0aGUgYXNzb2NpYXRlZCBDbGlw
Ym9hcmQKKyAgICAvLyBvYmplY3QncyBuYXZpZ2F0b3IsIGlmIGl0IGlzIGFzc29jaWF0ZWQgd2l0
aCBhIENsaXBib2FyZC4KKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9h
cmQvQ2xpcGJvYXJkSXRlbS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9h
cmQvQ2xpcGJvYXJkSXRlbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJiZDdmNjFiNjg3ZWVlOGJkZjRhMzY5N2Qx
ZDU1NjYzNjBkYmY1MWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0tleVZhbHVlUGFpci5oPgorI2lu
Y2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBEZWZlcnJlZFByb21pc2U7CitjbGFzcyBET01Qcm9taXNl
OworY2xhc3MgTmF2aWdhdG9yOworCitjbGFzcyBDbGlwYm9hcmRJdGVtIDogcHVibGljIFJlZkNv
dW50ZWQ8Q2xpcGJvYXJkSXRlbT4geworcHVibGljOgorICAgIH5DbGlwYm9hcmRJdGVtKCk7CisK
KyAgICBlbnVtIGNsYXNzIFByZXNlbnRhdGlvblN0eWxlIDogdWludDhfdCB7IFVuc3BlY2lmaWVk
LCBJbmxpbmUsIEF0dGFjaG1lbnQgfTsKKworICAgIHN0cnVjdCBPcHRpb25zIHsKKyAgICAgICAg
UHJlc2VudGF0aW9uU3R5bGUgcHJlc2VudGF0aW9uU3R5bGUgeyBQcmVzZW50YXRpb25TdHlsZTo6
VW5zcGVjaWZpZWQgfTsKKyAgICB9OworCisgICAgc3RhdGljIFJlZjxDbGlwYm9hcmRJdGVtPiBj
cmVhdGUoVmVjdG9yPEtleVZhbHVlUGFpcjxTdHJpbmcsIFJlZlB0cjxET01Qcm9taXNlPj4+JiYs
IGNvbnN0IE9wdGlvbnMmKTsKKworICAgIFZlY3RvcjxTdHJpbmc+IHR5cGVzKCkgY29uc3Q7Cisg
ICAgdm9pZCBnZXRUeXBlKGNvbnN0IFN0cmluZyYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwor
CisgICAgUHJlc2VudGF0aW9uU3R5bGUgcHJlc2VudGF0aW9uU3R5bGUoKSBjb25zdCB7IHJldHVy
biBtX3ByZXNlbnRhdGlvblN0eWxlOyB9OworICAgIE5hdmlnYXRvciogbmF2aWdhdG9yKCk7CisK
K3ByaXZhdGU6CisgICAgQ2xpcGJvYXJkSXRlbShWZWN0b3I8S2V5VmFsdWVQYWlyPFN0cmluZywg
UmVmUHRyPERPTVByb21pc2U+Pj4mJiwgY29uc3QgT3B0aW9ucyYpOworCisgICAgUHJlc2VudGF0
aW9uU3R5bGUgbV9wcmVzZW50YXRpb25TdHlsZSB7IFByZXNlbnRhdGlvblN0eWxlOjpVbnNwZWNp
ZmllZCB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkSXRlbS5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmlkbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lYzViMzRmZGEzZWJjODM4NTg0ZDM4YmMxOWE2ZjJhNGI1YTQ3M2ExCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJv
YXJkSXRlbS5pZGwKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK3R5cGVkZWYgKERPTVN0
cmluZyBvciBCbG9iKSBDbGlwYm9hcmRJdGVtRGF0YVR5cGU7Cit0eXBlZGVmIFByb21pc2U8Q2xp
cGJvYXJkSXRlbURhdGFUeXBlPiBDbGlwYm9hcmRJdGVtRGF0YTsKKworZW51bSBQcmVzZW50YXRp
b25TdHlsZSB7ICJ1bnNwZWNpZmllZCIsICJpbmxpbmUiLCAiYXR0YWNobWVudCIgfTsKKworZGlj
dGlvbmFyeSBDbGlwYm9hcmRJdGVtT3B0aW9ucyB7CisgICAgUHJlc2VudGF0aW9uU3R5bGUgcHJl
c2VudGF0aW9uU3R5bGUgPSAidW5zcGVjaWZpZWQiOworfTsKKworWworICAgIENvbnN0cnVjdG9y
KHJlY29yZDxET01TdHJpbmcsIENsaXBib2FyZEl0ZW1EYXRhPiBpdGVtcywgb3B0aW9uYWwgQ2xp
cGJvYXJkSXRlbU9wdGlvbnMgb3B0aW9ucyksCisgICAgRXhwb3NlZD1XaW5kb3csCisgICAgRW5h
YmxlZEJ5U2V0dGluZz1Bc3luY0NsaXBib2FyZEFQSSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tz
VlRhYmxlLAorICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9UmVhY2hhYmxlRnJvbU5hdmlnYXRvcgor
XSBpbnRlcmZhY2UgQ2xpcGJvYXJkSXRlbSB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3pl
bkFycmF5PERPTVN0cmluZz4gdHlwZXM7CisgICAgW05ld09iamVjdF0gUHJvbWlzZTxCbG9iPiBn
ZXRUeXBlKERPTVN0cmluZyB0eXBlKTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgUHJlc2VudGF0
aW9uU3R5bGUgcHJlc2VudGF0aW9uU3R5bGU7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL05hdmlnYXRvckNsaXBib2FyZC5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOTM0ZmIyZDYzMmE4ZDQ1MDA5Y2Y0N2IyYTBhM2ExYmE2OGIwOWRlMQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL05h
dmlnYXRvckNsaXBib2FyZC5jcHAKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JDbGlwYm9hcmQuaCIKKworI2luY2x1
ZGUgIkNsaXBib2FyZC5oIgorI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorI2luY2x1ZGUgPHd0Zi9T
dGRMaWJFeHRyYXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitOYXZpZ2F0b3JDbGlwYm9h
cmQ6Ok5hdmlnYXRvckNsaXBib2FyZChOYXZpZ2F0b3ImIG5hdmlnYXRvcikKKyAgICA6IG1fbmF2
aWdhdG9yKG5hdmlnYXRvcikKK3sKK30KKworTmF2aWdhdG9yQ2xpcGJvYXJkOjp+TmF2aWdhdG9y
Q2xpcGJvYXJkKCkgPSBkZWZhdWx0OworCitSZWZQdHI8Q2xpcGJvYXJkPiBOYXZpZ2F0b3JDbGlw
Ym9hcmQ6OmNsaXBib2FyZChOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sKKyAgICByZXR1cm4gTmF2
aWdhdG9yQ2xpcGJvYXJkOjpmcm9tKG5hdmlnYXRvciktPmNsaXBib2FyZCgpOworfQorCitSZWZQ
dHI8Q2xpcGJvYXJkPiBOYXZpZ2F0b3JDbGlwYm9hcmQ6OmNsaXBib2FyZCgpCit7CisgICAgaWYg
KCFtX2NsaXBib2FyZCkKKyAgICAgICAgbV9jbGlwYm9hcmQgPSBDbGlwYm9hcmQ6OmNyZWF0ZSht
X25hdmlnYXRvcik7CisgICAgcmV0dXJuIG1fY2xpcGJvYXJkOworfQorCitOYXZpZ2F0b3JDbGlw
Ym9hcmQqIE5hdmlnYXRvckNsaXBib2FyZDo6ZnJvbShOYXZpZ2F0b3ImIG5hdmlnYXRvcikKK3sK
KyAgICBhdXRvKiBzdXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8TmF2aWdhdG9yQ2xpcGJvYXJkKj4o
U3VwcGxlbWVudDxOYXZpZ2F0b3I+Ojpmcm9tKCZuYXZpZ2F0b3IsIHN1cHBsZW1lbnROYW1lKCkp
KTsKKyAgICBpZiAoIXN1cHBsZW1lbnQpIHsKKyAgICAgICAgYXV0byBuZXdTdXBwbGVtZW50ID0g
bWFrZVVuaXF1ZTxOYXZpZ2F0b3JDbGlwYm9hcmQ+KG5hdmlnYXRvcik7CisgICAgICAgIHN1cHBs
ZW1lbnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOworICAgICAgICBwcm92aWRlVG8oJm5hdmlnYXRv
ciwgc3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7CisgICAgfQorICAg
IHJldHVybiBzdXBwbGVtZW50OworfQorCitjb25zdCBjaGFyKiBOYXZpZ2F0b3JDbGlwYm9hcmQ6
OnN1cHBsZW1lbnROYW1lKCkKK3sKKyAgICByZXR1cm4gIk5hdmlnYXRvckNsaXBib2FyZCI7Cit9
CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJk
L05hdmlnYXRvckNsaXBib2FyZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlw
Ym9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGQxOTQ3MGYyNWNkNTc4NGRm
MjBkYTRkMjhjYzA5NDMzYzEyYjk0NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL05hdmlnYXRvckNsaXBib2FyZC5oCkBAIC0wLDAgKzEs
NTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlN1cHBsZW1lbnRh
YmxlLmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBDbGlwYm9hcmQ7CitjbGFzcyBOYXZpZ2F0b3I7CisKK2NsYXNzIE5hdmlnYXRvckNs
aXBib2FyZCBmaW5hbCA6IHB1YmxpYyBTdXBwbGVtZW50PE5hdmlnYXRvcj4geworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIGV4cGxpY2l0IE5hdmlnYXRvckNsaXBi
b2FyZChOYXZpZ2F0b3ImKTsKKyAgICB+TmF2aWdhdG9yQ2xpcGJvYXJkKCk7CisKKyAgICBzdGF0
aWMgUmVmUHRyPENsaXBib2FyZD4gY2xpcGJvYXJkKE5hdmlnYXRvciYpOworICAgIFJlZlB0cjxD
bGlwYm9hcmQ+IGNsaXBib2FyZCgpOworCitwcml2YXRlOgorICAgIHN0YXRpYyBOYXZpZ2F0b3JD
bGlwYm9hcmQqIGZyb20oTmF2aWdhdG9yJik7CisgICAgc3RhdGljIGNvbnN0IGNoYXIqIHN1cHBs
ZW1lbnROYW1lKCk7CisKKyAgICBSZWZQdHI8Q2xpcGJvYXJkPiBtX2NsaXBib2FyZDsKKyAgICBO
YXZpZ2F0b3ImIG1fbmF2aWdhdG9yOworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL05hdmlnYXRvckNsaXBib2FyZC5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2Q2YjUzM2Y2M2E2N2IwOWFlMDdhMDA4N2U1NTU3NDYzZmE5OTU0OQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL05h
dmlnYXRvckNsaXBib2FyZC5pZGwKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAg
ICBFbmFibGVkQnlTZXR0aW5nPUFzeW5jQ2xpcGJvYXJkQVBJLAorXSBwYXJ0aWFsIGludGVyZmFj
ZSBOYXZpZ2F0b3IgeworICAgIFtTZWN1cmVDb250ZXh0LCBTYW1lT2JqZWN0XSByZWFkb25seSBh
dHRyaWJ1dGUgQ2xpcGJvYXJkIGNsaXBib2FyZDsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCBkMDg3
OThlMjM0YzA0MzhkYjU2OWE5MmVkNzU5Y2I3MmQ3MzJkZTlhLi5iNWI0NWFiMTBmN2Q4MTc0NWFi
N2ZmZmIxZTE4OTk1YjUwZDVlZDI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKQEAgLTM1LDYgKzM1LDcgQEAK
ICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQu
aCIKICNpbmNsdWRlICJKU092ZXJjb25zdHJhaW5lZEVycm9yLmgiCisjaW5jbHVkZSAiTG9nZ2lu
Zy5oIgogI2luY2x1ZGUgIk1lZGlhQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJNZWRpYVN0cmVh
bS5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtUHJpdmF0ZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAKaW5kZXggM2U2ZGMw
ODk0ZTY1NTNjM2Y5MDJlNDk3OTMwZTk5OGViN2JlYTNjZC4uNmZmNGFhNWU3N2Y5N2RkZjkyM2Qz
YmZiOWE2ZTZmNzFjNWZmNTg0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNs
dWRlICJSVENEVE1GU2VuZGVyQmFja2VuZC5oIgogI2luY2x1ZGUgIlJUQ0RUTUZUb25lQ2hhbmdl
RXZlbnQuaCIKKyNpbmNsdWRlICJSVENSdHBTZW5kZXIuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVj
dXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3Bw
CmluZGV4IDAwN2QyYzNhNGI5ZWJhMWNhYzEzMDQ5NzY4NmQ0NDZkMmYwNTMyM2IuLjJhNjZmZjQ4
ZDFmMDIzZWNiZGEwNzk1MTRmNTlkMGRiNjQzZWQxZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHAKQEAgLTMzLDYgKzMzLDcg
QEAKIAogI2lmIEVOQUJMRShXRUJfUlRDKQogCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJy
ZWQuaCIKICNpbmNsdWRlICJSVENEVE1GU2VuZGVyLmgiCiAjaW5jbHVkZSAiUlRDRFRNRlNlbmRl
ckJhY2tlbmQuaCIKICNpbmNsdWRlICJSVENSdHBDYXBhYmlsaXRpZXMuaCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5lLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZS5oCmluZGV4IDFlMzIzYzc5YmYx
OTgyNTgyMzYyYTczZjhhNjc1ZjEyOGI0YTZmNzEuLjNiMzRhNGViMDY1Y2IwNDE5ODJlOTEzMGJk
YTYyNTA3NjViM2FiOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1
L1dlYkdQVVBpcGVsaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2Vi
R1BVUGlwZWxpbmUuaApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkdQVU9iamVjdEJhc2Uu
aCIKICNpbmNsdWRlICJXZWJHUFVTaGFkZXJNb2R1bGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAppbmRleCA0YTgxMDkyNGRlNzQzMmZmZmU2MTJjZjVlZGQ2ZDFmYWI2MTM1NzI3Li4z
YmQzMjYwMjVkM2IwODc3MDU0ODgwMDUzZTU4OGIwOWU5NTAyYTg2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApA
QCAtMzMsNiArMzMsMTAgQEAgbG9hZGVyL2NhY2hlL0NhY2hlZEFwcGxpY2F0aW9uTWFuaWZlc3Qu
Y3BwCiAKICNlbmRpZgogCitNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuY3BwCitN
b2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmNwcAorTW9kdWxlcy9hc3luYy1j
bGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmNwcAorCiBNb2R1bGVzL2JlYWNvbi9OYXZpZ2F0
b3JCZWFjb24uY3BwCiAKIE1vZHVsZXMvY2FjaGUvQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAK
QEAgLTI2ODgsNyArMjY5Miw5IEBAIEpTQ2hhbm5lbE1lcmdlck5vZGUuY3BwCiBKU0NoYW5uZWxT
cGxpdHRlck5vZGUuY3BwCiBKU0NoYXJhY3RlckRhdGEuY3BwCiBKU0NoaWxkTm9kZS5jcHAKK0pT
Q2xpcGJvYXJkLmNwcAogSlNDbGlwYm9hcmRFdmVudC5jcHAKK0pTQ2xpcGJvYXJkSXRlbS5jcHAK
IEpTQ2xvc2VFdmVudC5jcHAKIEpTQ29tbWFuZExpbmVBUElIb3N0LmNwcAogSlNDb21tZW50LmNw
cApAQCAtMzAyOSw2ICszMDM1LDcgQEAgSlNNdXRhdGlvblJlY29yZC5jcHAKIEpTTmFtZWROb2Rl
TWFwLmNwcAogSlNOYXZpZ2F0b3IuY3BwCiBKU05hdmlnYXRvckJlYWNvbi5jcHAKK0pTTmF2aWdh
dG9yQ2xpcGJvYXJkLmNwcAogSlNOYXZpZ2F0b3JDcmVkZW50aWFscy5jcHAKIEpTTmF2aWdhdG9y
R2VvbG9jYXRpb24uY3BwCiBKU05hdmlnYXRvckdQVS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4M2M5ZWM3ZDhmZTA0NjNk
MDUxZDUwZmU3NjljMzk5ODY2NzE1OTNmLi41Mjc4ODM4ZmQyZTU2MWM2OWJmNTVjY2NlMDRlNWNh
ODQ3MWY4YmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC00ODcxLDYgKzQ4NzEsOSBAQAogCQlGM0FCRkUwQzEzMEU5REEwMDBF
N0Y3RDEgLyogSW5zdHJ1bWVudGluZ0FnZW50cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRjNBQkZFMEIxMzBFOURBMDAwRTdGN0QxIC8qIEluc3RydW1l
bnRpbmdBZ2VudHMuaCAqLzsgfTsKIAkJRjNENDYxNDkxMTYxRDUzMjAwQ0EwRDA5IC8qIEpTRXJy
b3JIYW5kbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGM0Q0NjE0NzExNjFENTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuaCAqLzsgfTsKIAkJ
RjQzM0U5MDMxREJCREJBMjAwRUYwRDE0IC8qIFN0YXRpY1Bhc3RlYm9hcmQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0MzNFOTAyMURCQkRCQTIwMEVG
MEQxNCAvKiBTdGF0aWNQYXN0ZWJvYXJkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJRjQ0MEU3N0EyMzNEOTRENzAwNjNGOUFCIC8qIE5hdmlnYXRv
ckNsaXBib2FyZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjQ0MEU3NkYyMzNEOTREMzAwNjNGOUFCIC8qIE5hdmlnYXRvckNsaXBib2FyZC5oICovOyB9
OworCQlGNDQwRTc3QjIzM0Q5NEQ3MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRlbS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0MEU3NzAyMzNEOTRENDAw
NjNGOUFCIC8qIENsaXBib2FyZEl0ZW0uaCAqLzsgfTsKKwkJRjQ0MEU3N0QyMzNEOTRENzAwNjNG
OUFCIC8qIENsaXBib2FyZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjQ0MEU3NzIyMzNEOTRENTAwNjNGOUFCIC8qIENsaXBib2FyZC5oICovOyB9Owog
CQlGNDRBNUY1OTFGRUQzOEYyMDA3RjU5NDQgLyogTGVnYWN5TlNQYXN0ZWJvYXJkVHlwZXMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NEE1RjU3MUZF
RDM4MzAwMDdGNTk0NCAvKiBMZWdhY3lOU1Bhc3RlYm9hcmRUeXBlcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY0NEVCQkQ5MURCNUQyMTQwMDI3
NzMzNCAvKiBTdGF0aWNSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjQ0RUJCRDgxREI1RDIxNDAwMjc3MzM0IC8qIFN0YXRpY1JhbmdlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjQ1QzIzMUUx
OTk1QjczQjAwQTZFMkUzIC8qIEF4aXNTY3JvbGxTbmFwT2Zmc2V0cy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ1QzIzMUMxOTk1QjczQjAwQTZFMkUz
IC8qIEF4aXNTY3JvbGxTbmFwT2Zmc2V0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CkBAIC0xMDA4OSw3ICsxMDA5MiwxMSBAQAogCQk4MzZEMDMyQjFE
QThBMTMyMDBGRkQ5NkIgLyogSlNFdmVudEluaXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNFdmVudEluaXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk4MzZEMDMyQzFEQThBMTMyMDBGRkQ5NkIgLyogSlNFdmVudEluaXQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudEluaXQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJODM2RDAzMkQxREE4QTEzMjAwRkZEOTZCIC8qIEpTQ2xpcGJvYXJkRXZlbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDbGlwYm9hcmRFdmVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzNkQwMzJEMURBOEExMzIwMEZG
RDk2QyAvKiBKU0NsaXBib2FyZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0NsaXBib2FyZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzNkQw
MzJEMURBOEExMzIwMEZGRDk2RCAvKiBKU0NsaXBib2FyZEl0ZW0uY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDbGlwYm9hcmRJdGVtLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJODM2RDAzMkUxREE4QTEzMjAwRkZEOTZCIC8qIEpTQ2xpcGJvYXJk
RXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDbGlwYm9hcmRFdmVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4MzZEMDMyRTFEQThBMTMyMDBGRkQ5
NkMgLyogSlNDbGlwYm9hcmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlND
bGlwYm9hcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODM2RDAzMkUxREE4QTEz
MjAwRkZEOTZEIC8qIEpTQ2xpcGJvYXJkSXRlbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0NsaXBib2FyZEl0ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
ODM2REFBMDUxQ0VBQjdDRDAwQTJCNzA3IC8qIFJlbmRlckRlc2NlbmRhbnRJdGVyYXRvci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJEZXNjZW5kYW50SXRlcmF0b3Iu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM3MDU2ODgxRjUwOTE1MDAwRDkzNDI1
IC8qIEpTRmlsZUNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTRmlsZUNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM3
MDU2ODkxRjUwOTE1MDAwRDkzNDI1IC8qIEpTRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2suaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGaWxlU3lzdGVtRW50cnlDYWxsYmFjay5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTUxNTcsNiArMTUxNjQsMTUgQEAKIAkJ
RjQyQ0VCNTQyMTQwMzFFRTAwMkRDQTcyIC8qIEZvbnRBdHRyaWJ1dGVDaGFuZ2VzQ29jb2EubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBGb250QXR0cmlidXRlQ2hhbmdlc0NvY29hLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDMzRTkwMjFEQkJEQkEyMDBFRjBEMTQgLyogU3Rh
dGljUGFzdGVib2FyZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdGF0aWNQ
YXN0ZWJvYXJkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0MzNFOTA0MURCQkRC
QzIwMEVGMEQxNCAvKiBTdGF0aWNQYXN0ZWJvYXJkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0
YXRpY1Bhc3RlYm9hcmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDQwRTc2
RTIzM0Q5NEQzMDA2M0Y5QUIgLyogQ2xpcGJvYXJkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IENsaXBib2FyZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUY0NDBFNzZGMjMzRDk0RDMwMDYzRjlBQiAvKiBOYXZpZ2F0b3JDbGlwYm9hcmQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF2aWdhdG9yQ2xpcGJvYXJkLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0NDBFNzcwMjMzRDk0RDQwMDYzRjlBQiAvKiBDbGlw
Ym9hcmRJdGVtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENsaXBib2FyZEl0
ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0MEU3NzEyMzNEOTRENDAwNjNG
OUFCIC8qIE5hdmlnYXRvckNsaXBib2FyZC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmF2
aWdhdG9yQ2xpcGJvYXJkLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0MEU3
NzIyMzNEOTRENTAwNjNGOUFCIC8qIENsaXBib2FyZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDbGlwYm9hcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0
MEU3NzMyMzNEOTRENTAwNjNGOUFCIC8qIE5hdmlnYXRvckNsaXBib2FyZC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOYXZpZ2F0b3JDbGlwYm9hcmQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDQwRTc3NDIzM0Q5NEQ2MDA2M0Y5QUIgLyogQ2xp
cGJvYXJkLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDbGlwYm9hcmQuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlGNDQwRTc3NTIzM0Q5NEQ2MDA2M0Y5QUIgLyogQ2xpcGJv
YXJkSXRlbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDbGlwYm9h
cmRJdGVtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0MEU3NzcyMzNEOTRE
NzAwNjNGOUFCIC8qIENsaXBib2FyZEl0ZW0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENs
aXBib2FyZEl0ZW0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDQyODUwQjIx
NDA0MTI1MDBDQ0RBMjIgLyogRm9udEF0dHJpYnV0ZUNoYW5nZXMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRm9udEF0dHJpYnV0ZUNoYW5nZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlGNDRBNUY1NzFGRUQzODMwMDA3RjU5NDQgLyogTGVnYWN5TlNQYXN0ZWJvYXJkVHlwZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTGVnYWN5TlNQYXN0ZWJvYXJkVHlwZXMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRjQ0RUJCRDYxREI1RDFCNjAwMjc3MzM0IC8qIFN0YXRpY1Jhbmdl
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTdGF0aWNSYW5nZS5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xNjU3NSw2ICsxNjU5MSw3IEBACiAJCQkJMTIyMUUwNTgxQzAy
QjQwOTAwNkExQTAwIC8qIEFuaW1hdGlvbiAqLywKIAkJCQkxQUU5NkE3OTFEMUEwQTVDMDBCODY3
NjggLyogQXBwbGVQYXkgKi8sCiAJCQkJNDFGQjI3ODgxRjM0NDYxQjAwNzk1NDg4IC8qIENhY2hl
QVBJICovLAorCQkJCUY0NDBFNzY5MjMzRDkzNjIwMDYzRjlBQiAvKiBDbGlwYm9hcmQgKi8sCiAJ
CQkJQTgzQjc5MTAwQ0NCMDAxQjAwMEIwODI1IC8qIENvcmUgKi8sCiAJCQkJNTdDN0E2OEQxRTU2
OUE4NDAwQzY3RDcxIC8qIENyZWRlbnRpYWxNYW5hZ2VtZW50ICovLAogCQkJCUUxRkY4RjYxMTgw
NzQ1QzYwMDEzMjY3NCAvKiBDcnlwdG8gKi8sCkBAIC0yMTkyMyw2ICsyMTk0MCw3IEBACiAJCQkJ
Q0UyNjE2OUQxODdFNjU1NDAwNzk1NUYzIC8qIGFpcnBsYXkgKi8sCiAJCQkJMUE1OEU4NjExRDE5
RDM3MzAwQzBFQTczIC8qIGFwcGxlcGF5ICovLAogCQkJCTYzQkQ0QTVDMUY3NzhFODQwMDQzODcy
MiAvKiBhcHBsaWNhdGlvbm1hbmlmZXN0ICovLAorCQkJCUY0NDBFNzZBMjMzRDkzQzgwMDYzRjlB
QiAvKiBhc3luYy1jbGlwYm9hcmQgKi8sCiAJCQkJODMyMTUwNzkxRjI3RTk2QjAwOTVCMTM2IC8q
IGJlYWNvbiAqLywKIAkJCQk0MTM4MEMxRTFGMzQzNjYwMDAxNTVGREEgLyogY2FjaGUgKi8sCiAJ
CQkJNTdDN0E2ODgxRTU2OTQ2RDAwQzY3RDcxIC8qIGNyZWRlbnRpYWxtYW5hZ2VtZW50ICovLApA
QCAtMjY3ODAsNiArMjY3OTgsMzMgQEAKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOwogCQl9OworCQlGNDQwRTc2OTIzM0Q5MzYyMDA2M0Y5QUIgLyogQ2xpcGJvYXJk
ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk4MzZEMDMy
RDFEQThBMTMyMDBGRkQ5NkMgLyogSlNDbGlwYm9hcmQuY3BwICovLAorCQkJCTgzNkQwMzJFMURB
OEExMzIwMEZGRDk2QyAvKiBKU0NsaXBib2FyZC5oICovLAorCQkJCTgzNkQwMzJEMURBOEExMzIw
MEZGRDk2RCAvKiBKU0NsaXBib2FyZEl0ZW0uY3BwICovLAorCQkJCTgzNkQwMzJFMURBOEExMzIw
MEZGRDk2RCAvKiBKU0NsaXBib2FyZEl0ZW0uaCAqLywKKwkJCSk7CisJCQluYW1lID0gQ2xpcGJv
YXJkOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJRjQ0MEU3NkEyMzNEOTND
ODAwNjNGOUFCIC8qIGFzeW5jLWNsaXBib2FyZCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOwor
CQkJY2hpbGRyZW4gPSAoCisJCQkJRjQ0MEU3NkUyMzNEOTREMzAwNjNGOUFCIC8qIENsaXBib2Fy
ZC5jcHAgKi8sCisJCQkJRjQ0MEU3NzIyMzNEOTRENTAwNjNGOUFCIC8qIENsaXBib2FyZC5oICov
LAorCQkJCUY0NDBFNzc0MjMzRDk0RDYwMDYzRjlBQiAvKiBDbGlwYm9hcmQuaWRsICovLAorCQkJ
CUY0NDBFNzc1MjMzRDk0RDYwMDYzRjlBQiAvKiBDbGlwYm9hcmRJdGVtLmNwcCAqLywKKwkJCQlG
NDQwRTc3MDIzM0Q5NEQ0MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRlbS5oICovLAorCQkJCUY0NDBF
Nzc3MjMzRDk0RDcwMDYzRjlBQiAvKiBDbGlwYm9hcmRJdGVtLmlkbCAqLywKKwkJCQlGNDQwRTc3
MzIzM0Q5NEQ1MDA2M0Y5QUIgLyogTmF2aWdhdG9yQ2xpcGJvYXJkLmNwcCAqLywKKwkJCQlGNDQw
RTc2RjIzM0Q5NEQzMDA2M0Y5QUIgLyogTmF2aWdhdG9yQ2xpcGJvYXJkLmggKi8sCisJCQkJRjQ0
MEU3NzEyMzNEOTRENDAwNjNGOUFCIC8qIE5hdmlnYXRvckNsaXBib2FyZC5pZGwgKi8sCisJCQkp
OworCQkJcGF0aCA9ICJhc3luYy1jbGlwYm9hcmQiOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsKKwkJfTsKIAkJRjQ4Mzg5NzkxRTFERDIzQTAwNzZCN0VBIC8qIEVkaXRpbmdIaXN0b3J5ICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTI4NzM1LDggKzI4
NzgwLDEwIEBACiAJCQkJRTRBODE0RDQxQzZERUM0MDAwQkY4NUFDIC8qIENsYXNzQ2hhbmdlSW52
YWxpZGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzQ4QkZBQzFCODU3Mjk4MDA5MTJGMzYg
LyogQ2xhc3NDb2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTA3OTA4QzFGQzNGMDMz
MDA2MUIyN0EgLyogQ2xpZW50T3JpZ2luLmggaW4gSGVhZGVycyAqLywKKwkJCQlGNDQwRTc3RDIz
M0Q5NEQ3MDA2M0Y5QUIgLyogQ2xpcGJvYXJkLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzNBOTFF
NjFDOTYzQjg4MDBEMUE3RTMgLyogQ2xpcGJvYXJkQWNjZXNzUG9saWN5LmggaW4gSGVhZGVycyAq
LywKIAkJCQk4NTAzMUI0MDBBNDRFRkM3MDBGOTkyRTAgLyogQ2xpcGJvYXJkRXZlbnQuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUY0NDBFNzdCMjMzRDk0RDcwMDYzRjlBQiAvKiBDbGlwYm9hcmRJdGVt
LmggaW4gSGVhZGVycyAqLywKIAkJCQlGQjkyREY0QjE1RkVEMDg3MDA5OTQ0MzMgLyogQ2xpcFBh
dGhPcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTU4MDM3MTYyMUE2NkYwMEEwMEJBRjUx
OSAvKiBDbGlwUmVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdBQUJEMTMxNEZBMDlENTAwNzQ1
N0FFIC8qIENsb3NlRXZlbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzA5NzcsNiArMzEwMjQsNyBA
QAogCQkJCUE5QzZFNUE2MEQ3NDY0NTgwMDY0NDJFOSAvKiBOYXZpZ2F0b3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUUxMjcxOUM3MEVFRUMxNjgwMEY2MTIxMyAvKiBOYXZpZ2F0b3JCYXNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk4MzIxNTA3RTFGMjdFQTFCMDA5NUIxMzYgLyogTmF2aWdhdG9yQmVh
Y29uLmggaW4gSGVhZGVycyAqLywKKwkJCQlGNDQwRTc3QTIzM0Q5NEQ3MDA2M0Y5QUIgLyogTmF2
aWdhdG9yQ2xpcGJvYXJkLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzJEM0U1NzIxNjU3OEFFMDBD
NUUwMjEgLyogTmF2aWdhdG9yQ3JlZGVudGlhbHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3MTE0
NjA0MTRFRjAwOUEwMDY3NEZEOSAvKiBOYXZpZ2F0b3JHZW9sb2NhdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNUVBNzI1RDYxQUNBQkQ1NzAwRUFEMTdCIC8qIE5hdmlnYXRvck1lZGlhRGV2aWNl
cy5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJD
b3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggZmZkM2U1OWVmODQ5YTAxYThmYTVkMjZjMGZlZmMxZmRh
NGVmYTkyNy4uMDYwYzcwMzI3NWY0YzNjNDgxZGFkMjhiMzUzZWVhMTIyMDAzZTI0ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAt
NTUsNiArNTUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oQ2FjaGVTdG9yYWdl
KSBcCiAgICAgbWFjcm8oQ2xpZW50KSBcCiAgICAgbWFjcm8oQ2xpZW50cykgXAorICAgIG1hY3Jv
KENsaXBib2FyZCkgXAorICAgIG1hY3JvKENsaXBib2FyZEl0ZW0pIFwKICAgICBtYWNybyhDcmVk
ZW50aWFsKSBcCiAgICAgbWFjcm8oQ3JlZGVudGlhbHNDb250YWluZXIpIFwKICAgICBtYWNybyhD
U1NBbmltYXRpb24pIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmll
bnRhdGlvbk9yTW90aW9uRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVu
dGF0aW9uT3JNb3Rpb25FdmVudC5jcHAKaW5kZXggMTVjMDU2ZDc2NDMwMTc1OWY2YmNlMGU1YmY5
NjcyNWYwYTkxZWZhMC4uMzAyMWE4MWZiZTVkZWJkNmIxZmRiMzk4MmFkZjExMzI1NmMzYWY3YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uT3JNb3Rpb25F
dmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uT3JNb3Rp
b25FdmVudC5jcHAKQEAgLTI2LDYgKzI2LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJEZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQuaCIKIAorI2luY2x1ZGUgIkRPTVdp
bmRvdy5oIgorI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJv
bGxlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVm
ZXJyZWQuaCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFj
dG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KaW5kZXgg
OWI5YmY5MzdjYzA5M2E2MDA1Y2Q2MGNlMTY0NGNiMDg4ZWJlNjYxMi4uMjgyNzBmMjc1MDUwNTNh
MjMzMTAzMzI2ZGI0NmNjN2MwYWI0YzFlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJn
ZXRGYWN0b3J5LmluCkBAIC03LDYgKzcsNyBAQCBBcHBsZVBheVNlc3Npb24gY29uZGl0aW9uYWw9
QVBQTEVfUEFZCiBBdWRpb05vZGUgY29uZGl0aW9uYWw9V0VCX0FVRElPCiBBdWRpb0NvbnRleHQg
Y29uZGl0aW9uYWw9V0VCX0FVRElPCiBBdWRpb1RyYWNrTGlzdCBjb25kaXRpb25hbD1WSURFT19U
UkFDSworQ2xpcGJvYXJkCiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZQogRE9NQXBwbGljYXRp
b25DYWNoZQogRE9NV2luZG93CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9mZWF0dXJlcy5q
c29uIGIvU291cmNlL1dlYkNvcmUvZmVhdHVyZXMuanNvbgppbmRleCBlNTg3ZDIyMzQ5NGMyZmZk
ODEzOWI2MzdmZDViZTc3MWRjM2M0Y2JmLi4yODdkMGViMzg2M2Q2YjYxZjlkMzdmNDg0MzkzNzRl
ODgwMzk3NDE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9mZWF0dXJlcy5qc29uCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2ZlYXR1cmVzLmpzb24KQEAgLTExLDYgKzExLDIxIEBACiAgICAgICAg
ICJjYXRlZ29yeSI6ICJ3ZWJhcHBzIiwKICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJlc291cmNl
cyBhcmUgc2F2ZWQgZm9yIG9mZmxpbmUgdXNlIHVzaW5nIGEgbWFuaWZlc3QuIgogICAgIH0sCisg
ICAgeworICAgICAgICAibmFtZSI6ICJBc3luYyBDbGlwYm9hcmQgQVBJIiwKKyAgICAgICAgInN0
YXR1cyI6IHsKKyAgICAgICAgICAgICJzdGF0dXMiOiAiSW4gRGV2ZWxvcG1lbnQiCisgICAgICAg
IH0sCisgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cudzMub3JnL1RSL2NsaXBib2FyZC1hcGlz
LyNhc3luYy1jbGlwYm9hcmQtYXBpIiwKKyAgICAgICAgInNwZWNpZmljYXRpb24iOiAiQ2xpcGJv
YXJkIEFQSSIsCisgICAgICAgICJjYXRlZ29yeSI6ICJ3ZWJhcHBzIiwKKyAgICAgICAgImRlc2Ny
aXB0aW9uIjogIkFuIEFQSSB0aGF0IGFsbG93cyByZWFkaW5nIGZyb20gYW5kIHdyaXRpbmcgdG8g
dGhlIHN5c3RlbSBjbGlwYm9hcmQuIiwKKyAgICAgICAgImNvbnRhY3QiOiB7CisgICAgICAgICAg
ICAibmFtZSI6ICJXZW5zb24gSHNpZWgiLAorICAgICAgICAgICAgImVtYWlsIjogIndlbnNvbl9o
c2llaEBhcHBsZS5jb20iLAorICAgICAgICAgICAgInR3aXR0ZXIiOiAiQHdlbnNvbmhzaWVoIgor
ICAgICAgICB9CisgICAgfSwKICAgICB7CiAgICAgICAgICJuYW1lIjogIkJhdHRlcnkgU3RhdHVz
IEFQSSIsCiAgICAgICAgICJzdGF0dXMiOiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLnlhbWwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKaW5k
ZXggMzM1Yjc4YWVkNjMyM2QxMDgxODY1NWJkY2I0OGFkOGNlMTc1ZTFiNS4uZWZiYzYzNWUzMmE2
ZmIwMzBhYmU5OTZmYTk1OTBhZTZjMjdlMDM5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy55YW1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFt
bApAQCAtMTE4LDYgKzExOCw4IEBAIHNob3VsZFByaW50QmFja2dyb3VuZHM6CiBjbGlwYm9hcmRB
Y2Nlc3NQb2xpY3k6CiAgIHR5cGU6IENsaXBib2FyZEFjY2Vzc1BvbGljeQogICBpbml0aWFsOiBD
bGlwYm9hcmRBY2Nlc3NQb2xpY3k6OlJlcXVpcmVzVXNlckdlc3R1cmUKK2FzeW5jQ2xpcGJvYXJk
QVBJRW5hYmxlZDoKKyAgaW5pdGlhbDogZmFsc2UKIAogdGV4dEFyZWFzQXJlUmVzaXphYmxlOgog
ICBpbml0aWFsOiBmYWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwK
aW5kZXggYmI4ODk2Nzk0NjdlZmJmMTM0ZTJlNzFmNWEyNzYyNDEwZDViNjI1Zi4uMzRkZGJiY2Zh
YTZiY2Q2ZmFkMWMzMzlmNDkxYTFmZDA2MGZmODRkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJQcmVmZXJlbmNlcy55YW1sCkBAIC04NDYsNiArODQ2LDEzIEBAIEN1c3RvbVBhc3RlYm9hcmRE
YXRhRW5hYmxlZDoKICAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIGN1c3RvbSBj
bGlwYm9hcmQgdHlwZXMgYW5kIGJldHRlciBzZWN1cml0eSBtb2RlbCBmb3IgY2xpcGJvYXJkIEFQ
SS4iCiAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCiAKK0FzeW5jQ2xp
cGJvYXJkQVBJRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCisg
IGh1bWFuUmVhZGFibGVOYW1lOiAiQXN5bmMgY2xpcGJvYXJkIEFQSSIKKyAgaHVtYW5SZWFkYWJs
ZURlc2NyaXB0aW9uOiAiRW5hYmxlIHRoZSBhc3luYyBjbGlwYm9hcmQgQVBJIgorICBjYXRlZ29y
eTogZXhwZXJpbWVudGFsCisKIFdlYlNoYXJlRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZh
dWx0VmFsdWU6IERFRkFVTFRfV0VCX1NIQVJFX0VOQUJMRUQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1NmFiMzZlNGJhNzU1
OTY1ZDljZWQzZmE3ODcyMzZmYmRjYWZhOTllLi41ZmQzNmQ2N2M3ZjBmMTg5NzEwZDhiMWU4ZTQ4
NmIyZDQzOTgxODgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTktMTAtMDcgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NsaXBib2FyZCBBUEld
IEludHJvZHVjZSBiaW5kaW5ncyBmb3IgdGhlIGFzeW5jIENsaXBib2FyZCBBUEkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjYyMgorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNTYwMzgxMjY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBO
aXdhLgorCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWludGVy
ZmFjZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaW50ZXJmYWNlcy5odG1sOiBBZGRlZC4KKworICAgICAgICBBZGQgYSBu
ZXcgdGVzdCB0byBzYW5pdHkgY2hlY2sgdGhlIG5ldyBjbGlwYm9hcmQgQVBJIGludGVyZmFjZXMg
YW5kIGludGVyZmFjZSBleHRlbnNpb25zLgorCisgICAgICAgICogZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLXdyYXBwZXItc3RheXMtYWxpdmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtd3JhcHBlci1zdGF5
cy1hbGl2ZS5odG1sOiBBZGRlZC4KKworICAgICAgICBBZGQgYSBuZXcgdGVzdCB0byBtYWtlIHN1
cmUgdGhhdCB0aGUgY2xpcGJvYXJkIHdyYXBwZXIgc3RheXMgYWxpdmUgYmV0d2VlbiBHQyBwYXNz
ZXMsIGV2ZW4gd2hlbiB0aGUgY2xpcGJvYXJkJ3MKKyAgICAgICAgbmF2aWdhdG9yIGlzIGtlcHQg
YWxpdmUsIGluZGVwZW5kZW50bHkgb2YgaXRzIHdpbmRvdyBvYmplY3QuCisKKyAgICAgICAgKiBm
YXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMtaGlnaHNpZXJyYS9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9uczoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1u
by1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvZG9tL25h
dmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vd2luL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vd2luY2Fpcm8vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVk
LW5vLWNyYXNoLWV4cGVjdGVkLnR4dDoKKworICAgICAgICBVcGRhdGUgYW4gZXhpc3RpbmcgbGF5
b3V0IHRlc3QgdG8gaW5jbHVkZSAibmF2aWdhdG9yLmNsaXBib2FyZCIuCisKIDIwMTktMTAtMDcg
IEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAgRG9t
YWluIHJlbGF0aW9uc2hpcHMgaW4gdGhlIElUUCBEYXRhYmFzZSBzaG91bGQgYmUgaW5zZXJ0ZWQg
aW4gYSBzaW5nbGUgcXVlcnkgYW5kIGlnbm9yZSByZXBlYXQgaW5zZXJ0IGF0dGVtcHRzLiAoMjAy
NjA0KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xp
cGJvYXJkLWludGVyZmFjZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3lu
Yy1jbGlwYm9hcmQvY2xpcGJvYXJkLWludGVyZmFjZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk5YzUwYTFiZDQ0NWRkNjJiNzE5YWIyZWY0MWViYmVkZWY2N2U2OWUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaW50ZXJm
YWNlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1MSBAQAorVGVzdHMgdGhlIGludGVyZmFjZXMg
b2YgdGhlIGFzeW5jIGNsaXBib2FyZCBBUEksIHdoaWNoIGluY2x1ZGUgQ2xpcGJvYXJkLCBDbGlw
Ym9hcmRJdGVtLCBhbmQgZXh0ZW5zaW9ucyB0byBOYXZpZ2F0b3IuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCisKK1Rlc3RpbmcgQ2xpcGJvYXJkOgorUEFTUyBDbGlwYm9hcmQgaW5z
dGFuY2VvZiBGdW5jdGlvbiBpcyB0cnVlCitQQVNTIHR5cGVvZiBDbGlwYm9hcmQgaXMgImZ1bmN0
aW9uIgorUEFTUyBuYXZpZ2F0b3IuY2xpcGJvYXJkIGluc3RhbmNlb2YgQ2xpcGJvYXJkIGlzIHRy
dWUKK1BBU1MgT2JqZWN0LmdldFByb3RvdHlwZU9mKG5hdmlnYXRvci5jbGlwYm9hcmQpID09PSBD
bGlwYm9hcmQucHJvdG90eXBlIGlzIHRydWUKK1BBU1MgQ2xpcGJvYXJkLnByb3RvdHlwZS5yZWFk
VGV4dCBpbnN0YW5jZW9mIEZ1bmN0aW9uIGlzIHRydWUKK1BBU1MgQ2xpcGJvYXJkLnByb3RvdHlw
ZS53cml0ZVRleHQgaW5zdGFuY2VvZiBGdW5jdGlvbiBpcyB0cnVlCitQQVNTIENsaXBib2FyZC5w
cm90b3R5cGUucmVhZCBpbnN0YW5jZW9mIEZ1bmN0aW9uIGlzIHRydWUKK1BBU1MgQ2xpcGJvYXJk
LnByb3RvdHlwZS53cml0ZSBpbnN0YW5jZW9mIEZ1bmN0aW9uIGlzIHRydWUKK1BBU1MgQ2xpcGJv
YXJkKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogSWxsZWdhbCBjb25zdHJ1Y3Rvci4KK1BB
U1MgbmV3IENsaXBib2FyZCgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IGZ1bmN0aW9uIGlz
IG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgQ2xpcGJvYXJkKCknKS4KK1BBU1Mg
Q2xpcGJvYXJkLnRvU3RyaW5nKCkgaXMgImZ1bmN0aW9uIENsaXBib2FyZCgpIHtcbiAgICBbbmF0
aXZlIGNvZGVdXG59IgorUEFTUyBuYXZpZ2F0b3IuY2xpcGJvYXJkLnRvU3RyaW5nKCkgaXMgIltv
YmplY3QgQ2xpcGJvYXJkXSIKK1BBU1MgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoJ2Zv
bycpIGluc3RhbmNlb2YgUHJvbWlzZSBpcyB0cnVlCitQQVNTIG5hdmlnYXRvci5jbGlwYm9hcmQu
d3JpdGUoWyBdKSBpbnN0YW5jZW9mIFByb21pc2UgaXMgdHJ1ZQorUEFTUyBuYXZpZ2F0b3IuY2xp
cGJvYXJkLnJlYWQoKSBpbnN0YW5jZW9mIFByb21pc2UgaXMgdHJ1ZQorUEFTUyBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLnJlYWRUZXh0KCkgaW5zdGFuY2VvZiBQcm9taXNlIGlzIHRydWUKK1BBU1MgbmF2
aWdhdG9yLmNsaXBib2FyZC53cml0ZSgpIHJlamVjdGVkIHdpdGggVHlwZUVycm9yOiBOb3QgZW5v
dWdoIGFyZ3VtZW50cworUEFTUyBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCgpIHJlamVj
dGVkIHdpdGggVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cworUEFTUyBuYXZpZ2F0b3Iu
Y2xpcGJvYXJkLndyaXRlKCdmb28nKSByZWplY3RlZCB3aXRoIFR5cGVFcnJvcjogVmFsdWUgaXMg
bm90IGEgc2VxdWVuY2UKK1BBU1MgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZShbMSwgMiwgM10p
IHJlamVjdGVkIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yCitQQVNTIG5hdmlnYXRvci5jbGlw
Ym9hcmQud3JpdGUobmV3IENsaXBib2FyZEl0ZW0oeyB9KSkgcmVqZWN0ZWQgd2l0aCBUeXBlRXJy
b3I6IFR5cGUgZXJyb3IKKworVGVzdGluZyBDbGlwYm9hcmRJdGVtOgorUEFTUyBDbGlwYm9hcmRJ
dGVtIGluc3RhbmNlb2YgRnVuY3Rpb24gaXMgdHJ1ZQorUEFTUyB0eXBlb2YgQ2xpcGJvYXJkSXRl
bSBpcyAiZnVuY3Rpb24iCitQQVNTIENsaXBib2FyZEl0ZW0ucHJvdG90eXBlLmdldFR5cGUgaW5z
dGFuY2VvZiBGdW5jdGlvbiBpcyB0cnVlCitQQVNTIENsaXBib2FyZEl0ZW0oKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBDb25zdHJ1Y3RvciByZXF1aXJlcyAnbmV3JyBvcGVyYXRvci4KK1BB
U1MgbmV3IENsaXBib2FyZEl0ZW0oKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5v
dWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IENsaXBib2FyZEl0ZW0oJ2ZvbycpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIG5ldyBDbGlwYm9hcmRJdGVtKHsgfSkg
aW5zdGFuY2VvZiBDbGlwYm9hcmRJdGVtIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldFByb3RvdHlw
ZU9mKG5ldyBDbGlwYm9hcmRJdGVtKHsgfSkpID09PSBDbGlwYm9hcmRJdGVtLnByb3RvdHlwZSBp
cyB0cnVlCitQQVNTIG5ldyBDbGlwYm9hcmRJdGVtKHsgfSkudHlwZXMgaW5zdGFuY2VvZiBBcnJh
eSBpcyB0cnVlCitQQVNTIENsaXBib2FyZEl0ZW0udG9TdHJpbmcoKSBpcyAiZnVuY3Rpb24gQ2xp
cGJvYXJkSXRlbSgpIHtcbiAgICBbbmF0aXZlIGNvZGVdXG59IgorUEFTUyBuZXcgQ2xpcGJvYXJk
SXRlbSh7IH0pLnRvU3RyaW5nKCkgaXMgIltvYmplY3QgQ2xpcGJvYXJkSXRlbV0iCitQQVNTIG5l
dyBDbGlwYm9hcmRJdGVtKHsgfSwgeyBmb286ICdhdHRhY2htZW50JyB9KS5wcmVzZW50YXRpb25T
dHlsZSBpcyAidW5zcGVjaWZpZWQiCitQQVNTIG5ldyBDbGlwYm9hcmRJdGVtKHsgfSwgeyBwcmVz
ZW50YXRpb25TdHlsZTogJ0F0dGFDSG1lblQnIH0pLnByZXNlbnRhdGlvblN0eWxlIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIG5ldyBDbGlwYm9hcmRJdGVtKHsg
fSwgeyBwcmVzZW50YXRpb25TdHlsZTogJ3Vuc3BlY2lmaWVkJyB9KS5wcmVzZW50YXRpb25TdHls
ZSBpcyAidW5zcGVjaWZpZWQiCitQQVNTIG5ldyBDbGlwYm9hcmRJdGVtKHsgfSwgeyBwcmVzZW50
YXRpb25TdHlsZTogJ2F0dGFjaG1lbnQnIH0pLnByZXNlbnRhdGlvblN0eWxlIGlzICJhdHRhY2ht
ZW50IgorUEFTUyBuZXcgQ2xpcGJvYXJkSXRlbSh7IH0sIHsgcHJlc2VudGF0aW9uU3R5bGU6ICdp
bmxpbmUnIH0pLnByZXNlbnRhdGlvblN0eWxlIGlzICJpbmxpbmUiCitQQVNTIG5ldyBDbGlwYm9h
cmRJdGVtKHsgfSwgJ2lubGluZScpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJy
b3IuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJk
LWludGVyZmFjZXMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC1pbnRlcmZhY2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzVhMjY3NjgyMTQ4ZTNlYzZkNzA1
NzAxNDNlMjFkZjNlZWRiNTU1NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pbnRlcmZhY2VzLmh0bWwKQEAgLTAsMCArMSw2
OCBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVu
dGFsOmFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3luYyA9
IHRydWU7CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gc2hvdWxkUmVqZWN0KHNjcmlwdFRvRXZh
bHVhdGUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZChgJHtzY3JpcHRUb0V2YWx1YXRlfSByZXNvbHZlZCB0byAke2F3YWl0IGV2YWwoc2Ny
aXB0VG9FdmFsdWF0ZSl9YCk7CisgICAgICAgICAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAg
ICAgICAgICAgICAgICB0ZXN0UGFzc2VkKGAke3NjcmlwdFRvRXZhbHVhdGV9IHJlamVjdGVkIHdp
dGggJHtleGNlcHRpb259YCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICAgICAgeworICAgICAgICAgICAgZGVzY3JpcHRp
b24oIlRlc3RzIHRoZSBpbnRlcmZhY2VzIG9mIHRoZSBhc3luYyBjbGlwYm9hcmQgQVBJLCB3aGlj
aCBpbmNsdWRlIENsaXBib2FyZCwgQ2xpcGJvYXJkSXRlbSwgYW5kIGV4dGVuc2lvbnMgdG8gTmF2
aWdhdG9yLiIpOworCisgICAgICAgICAgICBkZWJ1ZygiXG5UZXN0aW5nIENsaXBib2FyZDoiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiQ2xpcGJvYXJkIGluc3RhbmNlb2YgRnVuY3Rpb24i
KTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidHlwZW9mIENsaXBib2FyZCIs
ICJmdW5jdGlvbiIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJuYXZpZ2F0b3IuY2xpcGJv
YXJkIGluc3RhbmNlb2YgQ2xpcGJvYXJkIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIk9i
amVjdC5nZXRQcm90b3R5cGVPZihuYXZpZ2F0b3IuY2xpcGJvYXJkKSA9PT0gQ2xpcGJvYXJkLnBy
b3RvdHlwZSIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJDbGlwYm9hcmQucHJvdG90eXBl
LnJlYWRUZXh0IGluc3RhbmNlb2YgRnVuY3Rpb24iKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1
ZSgiQ2xpcGJvYXJkLnByb3RvdHlwZS53cml0ZVRleHQgaW5zdGFuY2VvZiBGdW5jdGlvbiIpOwor
ICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJDbGlwYm9hcmQucHJvdG90eXBlLnJlYWQgaW5zdGFu
Y2VvZiBGdW5jdGlvbiIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJDbGlwYm9hcmQucHJv
dG90eXBlLndyaXRlIGluc3RhbmNlb2YgRnVuY3Rpb24iKTsKKyAgICAgICAgICAgIHNob3VsZFRo
cm93KCJDbGlwYm9hcmQoKSIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3coIm5ldyBDbGlwYm9h
cmQoKSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJDbGlwYm9hcmQudG9T
dHJpbmcoKSIsICJmdW5jdGlvbiBDbGlwYm9hcmQoKSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIp
OworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuYXZpZ2F0b3IuY2xpcGJvYXJk
LnRvU3RyaW5nKCkiLCAiW29iamVjdCBDbGlwYm9hcmRdIik7CisgICAgICAgICAgICBzaG91bGRC
ZVRydWUoIm5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KCdmb28nKSBpbnN0YW5jZW9mIFBy
b21pc2UiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgibmF2aWdhdG9yLmNsaXBib2FyZC53
cml0ZShbIF0pIGluc3RhbmNlb2YgUHJvbWlzZSIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVl
KCJuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKSBpbnN0YW5jZW9mIFByb21pc2UiKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlVHJ1ZSgibmF2aWdhdG9yLmNsaXBib2FyZC5yZWFkVGV4dCgpIGluc3Rh
bmNlb2YgUHJvbWlzZSIpOworICAgICAgICAgICAgYXdhaXQgc2hvdWxkUmVqZWN0KCJuYXZpZ2F0
b3IuY2xpcGJvYXJkLndyaXRlKCkiKTsKKyAgICAgICAgICAgIGF3YWl0IHNob3VsZFJlamVjdCgi
bmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoKSIpOworICAgICAgICAgICAgYXdhaXQgc2hv
dWxkUmVqZWN0KCJuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlKCdmb28nKSIpOworICAgICAgICAg
ICAgYXdhaXQgc2hvdWxkUmVqZWN0KCJuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlKFsxLCAyLCAz
XSkiKTsKKyAgICAgICAgICAgIGF3YWl0IHNob3VsZFJlamVjdCgibmF2aWdhdG9yLmNsaXBib2Fy
ZC53cml0ZShuZXcgQ2xpcGJvYXJkSXRlbSh7IH0pKSIpOworCisgICAgICAgICAgICBkZWJ1Zygi
XG5UZXN0aW5nIENsaXBib2FyZEl0ZW06Iik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIkNs
aXBib2FyZEl0ZW0gaW5zdGFuY2VvZiBGdW5jdGlvbiIpOworICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ0eXBlb2YgQ2xpcGJvYXJkSXRlbSIsICJmdW5jdGlvbiIpOworICAgICAg
ICAgICAgc2hvdWxkQmVUcnVlKCJDbGlwYm9hcmRJdGVtLnByb3RvdHlwZS5nZXRUeXBlIGluc3Rh
bmNlb2YgRnVuY3Rpb24iKTsKKyAgICAgICAgICAgIHNob3VsZFRocm93KCJDbGlwYm9hcmRJdGVt
KCkiKTsKKyAgICAgICAgICAgIHNob3VsZFRocm93KCJuZXcgQ2xpcGJvYXJkSXRlbSgpIik7Cisg
ICAgICAgICAgICBzaG91bGRUaHJvdygibmV3IENsaXBib2FyZEl0ZW0oJ2ZvbycpIik7CisgICAg
ICAgICAgICBzaG91bGRCZVRydWUoIm5ldyBDbGlwYm9hcmRJdGVtKHsgfSkgaW5zdGFuY2VvZiBD
bGlwYm9hcmRJdGVtIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIk9iamVjdC5nZXRQcm90
b3R5cGVPZihuZXcgQ2xpcGJvYXJkSXRlbSh7IH0pKSA9PT0gQ2xpcGJvYXJkSXRlbS5wcm90b3R5
cGUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgibmV3IENsaXBib2FyZEl0ZW0oeyB9KS50
eXBlcyBpbnN0YW5jZW9mIEFycmF5Iik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoIkNsaXBib2FyZEl0ZW0udG9TdHJpbmcoKSIsICJmdW5jdGlvbiBDbGlwYm9hcmRJdGVtKCkg
e1xuICAgIFtuYXRpdmUgY29kZV1cbn0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygibmV3IENsaXBib2FyZEl0ZW0oeyB9KS50b1N0cmluZygpIiwgIltvYmplY3QgQ2xpcGJv
YXJkSXRlbV0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IENsaXBi
b2FyZEl0ZW0oeyB9LCB7IGZvbzogJ2F0dGFjaG1lbnQnIH0pLnByZXNlbnRhdGlvblN0eWxlIiwg
InVuc3BlY2lmaWVkIik7CisgICAgICAgICAgICBzaG91bGRUaHJvdygibmV3IENsaXBib2FyZEl0
ZW0oeyB9LCB7IHByZXNlbnRhdGlvblN0eWxlOiAnQXR0YUNIbWVuVCcgfSkucHJlc2VudGF0aW9u
U3R5bGUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IENsaXBib2Fy
ZEl0ZW0oeyB9LCB7IHByZXNlbnRhdGlvblN0eWxlOiAndW5zcGVjaWZpZWQnIH0pLnByZXNlbnRh
dGlvblN0eWxlIiwgInVuc3BlY2lmaWVkIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoIm5ldyBDbGlwYm9hcmRJdGVtKHsgfSwgeyBwcmVzZW50YXRpb25TdHlsZTogJ2F0dGFj
aG1lbnQnIH0pLnByZXNlbnRhdGlvblN0eWxlIiwgImF0dGFjaG1lbnQiKTsKKyAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IENsaXBib2FyZEl0ZW0oeyB9LCB7IHByZXNlbnRh
dGlvblN0eWxlOiAnaW5saW5lJyB9KS5wcmVzZW50YXRpb25TdHlsZSIsICJpbmxpbmUiKTsKKyAg
ICAgICAgICAgIHNob3VsZFRocm93KCJuZXcgQ2xpcGJvYXJkSXRlbSh7IH0sICdpbmxpbmUnKSIp
OworCisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0
PgorICAgIDxib2R5IG9ubG9hZD1ydW5UZXN0KCk+PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLXdyYXBwZXIt
c3RheXMtYWxpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlw
Ym9hcmQvY2xpcGJvYXJkLXdyYXBwZXItc3RheXMtYWxpdmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIxYTc4MDZmY2RmYjAwMzJmZThjN2QwNzE2M2M1MTMxZDYxZmZlZmYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtd3Jh
cHBlci1zdGF5cy1hbGl2ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVmVyaWZpZXMg
dGhhdCB0aGUgd3JhcHBlciBmb3IgTmF2aWdhdG9yJ3MgQ2xpcGJvYXJkIHJlbWFpbnMgY29uc2lz
dGVudCBhY3Jvc3MgR0MgcGFzc2VzLiBUaGlzIHRlc3QgbXVzdCBiZSBydW4gdXNpbmcgV2ViS2l0
VGVzdFJ1bm5lci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgc3ViZnJh
bWVOYXZpZ2F0b3IuY2xpcGJvYXJkLmZvbyBpcyAiYmFyIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC13cmFwcGVyLXN0YXlzLWFsaXZlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtd3JhcHBlci1z
dGF5cy1hbGl2ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMxZjU2MThlNmJhMzRkNGNkOGY3OWEwOGI4NWUz
YWNlYzgyYWZjOWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5j
LWNsaXBib2FyZC9jbGlwYm9hcmQtd3JhcHBlci1zdGF5cy1hbGl2ZS5odG1sCkBAIC0wLDAgKzEs
MjkgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1l
bnRhbDphc3luY0NsaXBib2FyZEFQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPGhl
YWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBhc3luYyBmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJWZXJpZmllcyB0aGF0IHRoZSB3cmFwcGVy
IGZvciBOYXZpZ2F0b3IncyBDbGlwYm9hcmQgcmVtYWlucyBjb25zaXN0ZW50IGFjcm9zcyBHQyBw
YXNzZXMuIFRoaXMgdGVzdCBtdXN0IGJlIHJ1biB1c2luZyBXZWJLaXRUZXN0UnVubmVyLiIpOwor
CisgICAgICAgICAgICBzdWJmcmFtZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImlmcmFtZSIp
OworICAgICAgICAgICAgc3ViZnJhbWVOYXZpZ2F0b3IgPSBzdWJmcmFtZS5jb250ZW50V2luZG93
Lm5hdmlnYXRvcjsKKyAgICAgICAgICAgIHN1YmZyYW1lTmF2aWdhdG9yLmNsaXBib2FyZC5mb28g
PSAiYmFyIjsKKyAgICAgICAgICAgIHN1YmZyYW1lLnJlbW92ZSgpOworICAgICAgICAgICAgc3Vi
ZnJhbWUgPSBudWxsOworCisgICAgICAgICAgICBpZiAod2luZG93LkdDQ29udHJvbGxlcikKKyAg
ICAgICAgICAgICAgICBHQ0NvbnRyb2xsZXIuY29sbGVjdCgpOworCisgICAgICAgICAgICBhd2Fp
dCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgNTApKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic3ViZnJhbWVOYXZpZ2F0b3IuY2xpcGJvYXJk
LmZvbyIsICJiYXIiKTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9KTsK
KyAgICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGlmcmFtZSBzcmNkb2M9IkhlbGxv
IHdvcmxkIj48L2lmcmFtZT4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVj
dGVkLnR4dAppbmRleCBmMmY2M2U4NTY1MGQ2MjFjNDZhMTcwMWFkMjU3ZDJkNDJmODc2NzNmLi4y
N2ZiYmVhMWE0MTlmMWQxZmUzZjQ2ZTFkMmE2MzRkYzUxM2NiMGYzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1l
eHBlY3RlZC50eHQKQEAgLTUsNiArNSw3IEBAIFRoaXMgdGVzdHMgdGhhdCB0aGUgbmF2aWdhdG9y
IG9iamVjdCBvZiBhIGRlbGV0ZWQgZnJhbWUgaXMgZGlzY29ubmVjdGVkIHByb3Blcmx5CiBuYXZp
Z2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0
b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9y
LmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5hdmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwogbmF2aWdh
dG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkgaXMgT0sKQEAgLTMxLDYgKzMyLDcgQEAgbmF2aWdhdG9y
LndlYmRyaXZlciBpcyBPSwogbmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0b3Iu
YXBwTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25hdmlnYXRvci5jbGlw
Ym9hcmQgaXMgT0sKIG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBuYXZpZ2F0b3IuY3Jl
ZGVudGlhbHMgaXMgT0sKIG5hdmlnYXRvci5nZXRTdG9yYWdlVXBkYXRlcygpIGlzIE9LCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNTU3MDQy
YTU3NTY4MTk3YTAxYTFjOGJkZWYyZTgzMDQ0NjU2ZjA5MS4uMDZlZDc0YTdkZDIxYWU4MGViY2Zi
M2IwNmRjNTgxNzllZTUxYzI5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azEv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtMTUsNiArMTUsOSBAQCBodHRwL3Rlc3RzL25hdmlnYXRpb24v
cGFnZS1jYWNoZS1kb21jYWNoZS1wZW5kaW5nLXByb21pc2UuaHRtbCBbIFNraXAgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVxdWVzdC9kZXN0aW5hdGlvbiBb
IFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9jcm9zcy1vcmln
aW4tcmVzb3VyY2UtcG9saWN5IFsgU2tpcCBdCiAKKyMgQXN5bmMgQ2xpcGJvYXJkIEFQSSBpcyBu
b3Qgc3VwcG9ydGVkIGluIFdlYktpdDEgeWV0Lgord2Via2l0Lm9yZy9iLzIwMjY1NCBlZGl0aW5n
L2FzeW5jLWNsaXBib2FyZCBbIFNraXAgXQorCiAjIFNraXAgV2ViUlRDIGZvciBub3cgaW4gV0sx
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0YyBbIFNraXAgXQogd2VicnRj
IFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtaGlnaHNpZXJy
YS9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWhpZ2hzaWVycmEvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFj
aGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCA4NTA4MDc2MDc1NWUwYmQ1MDA1OWM4Nzdm
ZGViYzJlNzQzNjQ3M2JlLi4yODViMWU3YWNkNTAwMDUxOTViMGQ4ZTg1YzE5ZWM5ODI3ZTkzNTQy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtaGlnaHNpZXJyYS9mYXN0L2Rv
bS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy1oaWdoc2llcnJhL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1u
by1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTQsNiArNCw3IEBAIFRoaXMgdGVzdHMgdGhhdCB0aGUg
bmF2aWdhdG9yIG9iamVjdCBvZiBhIGRlbGV0ZWQgZnJhbWUgaXMgZGlzY29ubmVjdGVkIHByb3Bl
cmx5CiBuYXZpZ2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBOYW1lIGlzIE9L
CiBuYXZpZ2F0b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2aWdhdG9yLmNsaXBib2FyZCBpcyBPSwog
bmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5hdmlnYXRvci5jcmVkZW50aWFscyBpcyBP
SwogbmF2aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkgaXMgT0sKQEAgLTI4LDYgKzI5LDcgQEAg
bmF2aWdhdG9yLndlYmRyaXZlciBpcyBPSwogbmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9LCiBu
YXZpZ2F0b3IuYXBwTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25hdmln
YXRvci5jbGlwYm9hcmQgaXMgT0sKIG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBuYXZp
Z2F0b3IuY3JlZGVudGlhbHMgaXMgT0sKIG5hdmlnYXRvci5nZXRTdG9yYWdlVXBkYXRlcygpIGlz
IE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggZjNmOGI4YTcxNDllMTlmNDdlYmUxYmFjYTVmNzkxMmJiNWYyMmE2Yy4uMmQ3OWIxZDAzMjk4
ZDJkZGViYTJmMDczYjYzNTliMzYwYTRjYjI3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDQsNiArNDQsOSBAQCBjc3MtY3VzdG9tLXBy
b3BlcnRpZXMtYXBpIFsgU2tpcCBdCiBjc3MtdHlwZWRvbSBbIFNraXAgXQogY3NzLWRhcmstbW9k
ZSBbIFNraXAgXQogCisjIEFzeW5jIENsaXBib2FyZCBBUEkgaXMgbm90IHN1cHBvcnRlZCBpbiBX
ZWJLaXQxIHlldC4KK3dlYmtpdC5vcmcvYi8yMDI2NTQgZWRpdGluZy9hc3luYy1jbGlwYm9hcmQg
WyBTa2lwIF0KKwogd2ViZ3B1IFsgU2tpcCBdCiBpbnNwZWN0b3IvY2FudmFzL2NyZWF0ZS1jb250
ZXh0LXdlYmdwdS5odG1sIFsgU2tpcCBdCiBpbnNwZWN0b3IvY2FudmFzL3JlcXVlc3RDbGllbnRO
b2Rlcy13ZWJncHUuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0
YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IDNjZjBkYjJiZDgxOGM3ZWQwNzkwMjk3
ZDUyMWE1YjUzNTQwZmQ5ZjguLjM0MTI4NDAxN2I0Mjc0NGQxYmQxMWI1OWQ2MmExODVmMmQ3MGRj
OWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2
aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBl
Y3RlZC50eHQKQEAgLTUsNiArNSw3IEBAIFRoaXMgdGVzdHMgdGhhdCB0aGUgbmF2aWdhdG9yIG9i
amVjdCBvZiBhIGRlbGV0ZWQgZnJhbWUgaXMgZGlzY29ubmVjdGVkIHByb3Blcmx5CiBuYXZpZ2F0
b3IuYXBwQ29kZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3Iu
YXBwVmVyc2lvbiBpcyBPSworbmF2aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNv
b2tpZUVuYWJsZWQgaXMgT0sKIG5hdmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwogbmF2aWdhdG9y
LmdldFN0b3JhZ2VVcGRhdGVzKCkgaXMgT0sKQEAgLTMxLDYgKzMyLDcgQEAgbmF2aWdhdG9yLndl
YmRyaXZlciBpcyBPSwogbmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBw
TmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25hdmlnYXRvci5jbGlwYm9h
cmQgaXMgT0sKIG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBuYXZpZ2F0b3IuY3JlZGVu
dGlhbHMgaXMgT0sKIG5hdmlnYXRvci5nZXRTdG9yYWdlVXBkYXRlcygpIGlzIE9LCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVk
LW5vLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Rv
bS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IDMzM2VjOTYw
OGQ4ZDRkZjU3YzFmZjBmMmQ3ZTRlMjUzNzhiYTM3M2YuLmZmMWM1MjFkMTAxMDgwNmU5MGQ1NzA1
ZGU0NDMyNDMyNDM3YWY5Y2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jh
c2gtZXhwZWN0ZWQudHh0CkBAIC00LDYgKzQsNyBAQCBUaGlzIHRlc3RzIHRoYXQgdGhlIG5hdmln
YXRvciBvYmplY3Qgb2YgYSBkZWxldGVkIGZyYW1lIGlzIGRpc2Nvbm5lY3RlZCBwcm9wZXJseQog
bmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwTmFtZSBpcyBPSwogbmF2
aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25hdmlnYXRvci5jbGlwYm9hcmQgaXMgT0sKIG5hdmln
YXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBuYXZpZ2F0b3IuY3JlZGVudGlhbHMgaXMgT0sKIG5h
dmlnYXRvci5nZXRTdG9yYWdlVXBkYXRlcygpIGlzIE9LCkBAIC0yNyw2ICsyOCw3IEBAIG5hdmln
YXRvci53ZWJkcml2ZXIgaXMgT0sKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdh
dG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3Iu
Y2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9y
LmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZG9tL25hdmlnYXRvci1k
ZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4v
ZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCA5
Y2NjZWFjNTkzMjUwNGQxYjdhMTBiMWZjOTE1ZWYzZTVjMTU5ZWUzLi4yMTg4ZWZhN2YzMmM5NGY3
YzM4OTZjNGIxNzdkYTU5NzMzZjYwMzg2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVk
LW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtNCw2ICs0LDcgQEAgVGhpcyB0ZXN0cyB0aGF0IHRo
ZSBuYXZpZ2F0b3Igb2JqZWN0IG9mIGEgZGVsZXRlZCBmcmFtZSBpcyBkaXNjb25uZWN0ZWQgcHJv
cGVybHkKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMg
T0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9L
CiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9yLmNyZWRlbnRpYWxzIGlz
IE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwpAQCAtMjQsNiArMjUsNyBA
QCBuYXZpZ2F0b3Iud2ViZHJpdmVyIGlzIE9LCiBuYXZpZ2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sK
IG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2
aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5h
dmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwogbmF2aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkg
aXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL2Zhc3QvZG9t
L25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW5jYWlyby9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhw
ZWN0ZWQudHh0CmluZGV4IGIzYjI1MmZkZTdlMDk2NTMzOTgyNjRlZmQ1ZTBjOGM3MDg4ZjY0NTcu
LmQxOWM1NzZhNTE3ZmIyYTMyYWNiZThlM2ZjNDc3YTdkMWRhYjBmMTMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1u
by1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8v
ZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMyw2
ICszLDcgQEAgVGhpcyB0ZXN0cyB0aGF0IHRoZSBuYXZpZ2F0b3Igb2JqZWN0IG9mIGEgZGVsZXRl
ZCBmcmFtZSBpcyBkaXNjb25uZWN0ZWQgcHJvcGVybHkKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBp
cyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9L
CituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBP
SwogbmF2aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkgaXMgT0sKIG5hdmlnYXRvci5qYXZhRW5h
YmxlZCgpIGlzIE9LCkBAIC0yMSw2ICsyMiw3IEBAIG5hdmlnYXRvci53ZWJkcml2ZXIgaXMgT0sK
IG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5h
dmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZp
Z2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkg
aXMgT0sKIG5hdmlnYXRvci5qYXZhRW5hYmxlZCgpIGlzIE9LCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380401</attachid>
            <date>2019-10-07 21:59:01 -0700</date>
            <delta_ts>2019-10-08 07:50:34 -0700</delta_ts>
            <desc>Rebase on trunk again</desc>
            <filename>bug-202622-20191007215900.patch</filename>
            <type>text/plain</type>
            <size>67983</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwODE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmViYmUwNTExN2Y5ZDlm
N2E5YmUzMGU0YmI1MTU2Yjg4OWI3MGYyZi4uOWI2NWE4ZjU3ODAwNGU5ODI4NjQwYjg0YWRmOWU2
OTJlM2Y2ODQxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc3IEBACisyMDE5LTEwLTA3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtDbGlwYm9hcmQg
QVBJXSBJbnRyb2R1Y2UgYmluZGluZ3MgZm9yIHRoZSBhc3luYyBDbGlwYm9hcmQgQVBJCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI2MjIKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzU2MDM4MTI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1
a2UgTml3YS4KKworICAgICAgICBBZGRzIElETCBmb3IgdGhlIGFzeW5jIGNsaXBib2FyZCBBUEkg
KHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBkZWxheWVkIGl0ZW0gZ2VuZXJhdGlvbiBpbnRlcmZhY2Vz
LCB3aGljaAorICAgICAgICBJJ2xsIGl0ZXJhdGUgb24gYW5kIGludHJvZHVjZSBzZXBhcmF0ZWx5
KS4gU2VlOiBodHRwczovL3czYy5naXRodWIuaW8vY2xpcGJvYXJkLWFwaXMvI2FzeW5jLWNsaXBi
b2FyZC1hcGkgZm9yCisgICAgICAgIG1vcmUgaW5mb3JtYXRpb24uCisKKyAgICAgICAgVGVzdHM6
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pbnRlcmZhY2VzLmh0bWwKKyAgICAg
ICAgICAgICAgIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC13cmFwcGVyLXN0YXlz
LWFsaXZlLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q2xpcGJvYXJkOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpDbGlw
Ym9hcmQpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpuYXZpZ2F0b3IpOgorICAgICAg
ICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpldmVudFRhcmdldEludGVyZmFjZSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpyZWFkVGV4dCk6CisgICAgICAgIChXZWJDb3Jl
OjpDbGlwYm9hcmQ6OndyaXRlVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OnJl
YWQpOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjp3cml0ZSk6CisKKyAgICAgICAgU3R1
YiBvdXQgdGhlc2UgQVBJIGNhbGxzIGZvciBub3cgYnkgaW1tZWRpYXRlbHkgcmVqZWN0aW5nIHRo
ZSBnaXZlbiBwcm9taXNlLgorCisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xp
cGJvYXJkLmg6CisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZEl0ZW06OkNsaXBib2FyZEl0ZW0pOgorICAgICAg
ICAoV2ViQ29yZTo6Q2xpcGJvYXJkSXRlbTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNs
aXBib2FyZEl0ZW06OnR5cGVzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZEl0
ZW06OmdldFR5cGUpOgorCisgICAgICAgIFN0dWIgb3V0IHRoZXNlIEFQSSBjYWxscyBmb3Igbm93
IGJ5IGltbWVkaWF0ZWx5IHJlamVjdGluZyB0aGUgZ2l2ZW4gcHJvbWlzZS4KKworICAgICAgICAo
V2ViQ29yZTo6bmF2aWdhdG9yKToKKyAgICAgICAgKiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9D
bGlwYm9hcmRJdGVtLmg6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmRJdGVtOjpwcmVzZW50
YXRpb25TdHlsZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xp
cGJvYXJkSXRlbS5pZGw6CisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdh
dG9yQ2xpcGJvYXJkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNsaXBib2FyZDo6
TmF2aWdhdG9yQ2xpcGJvYXJkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNsaXBib2Fy
ZDo6Y2xpcGJvYXJkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckNsaXBib2FyZDo6ZnJv
bSk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JDbGlwYm9hcmQ6OnN1cHBsZW1lbnROYW1l
KToKKyAgICAgICAgKiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQu
aDoKKyAgICAgICAgKiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHA6CisgICAgICAgICogTW9k
dWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmUuaDoKKworICAgICAgICBNb3JlIHVuaWZpZWQgc291
cmNlcy1yZWxhdGVkIGJ1aWxkIGZpeGVzLgorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRGV2aWNlT3JpZW50
YXRpb25Pck1vdGlvbkV2ZW50LmNwcDoKKworICAgICAgICBVbmlmaWVkIHNvdXJjZXMtcmVsYXRl
ZCBidWlsZCBmaXguCisKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAg
ICAgICAqIGZlYXR1cmVzLmpzb246CisKKyAgICAgICAgQWRkIEFzeW5jIENsaXBib2FyZCBBUEkg
YXMgYSBmZWF0dXJlIGluIGRldmVsb3BtZW50IG9uIHdlYmtpdC5vcmcuCisKKyAgICAgICAgKiBw
YWdlL1NldHRpbmdzLnlhbWw6CisKIDIwMTktMTAtMDcgIEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBPbmx5IHdyYXBwaW5nIENyeXB0b0tleXMgZm9yIElEQiBk
dXJpbmcgc2VyaWFsaXphdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxMjM0MmM3Njk2YTFkYjg0NzA1OTIwNTVh
YTc1NDYyNDYwNjc0Y2JjLi45ZjMzNmE4ODU2Yzc2OTc5NzA0OWRjYWMwM2Y0YWY4OTZlNzRjMjQw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTEwLTA3ICBXZW5zb24gSHNpZWggIDx3
ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtDbGlwYm9hcmQgQVBJXSBJbnRyb2R1
Y2UgYmluZGluZ3MgZm9yIHRoZSBhc3luYyBDbGlwYm9hcmQgQVBJCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI2MjIKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzU2MDM4MTI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKwor
ICAgICAgICBBZGRzIGEgbmV3IGV4cGVyaW1lbnRhbCBmZWF0dXJlIGZsYWcuIFNlZSBXZWJDb3Jl
IENoYW5nZUxvZyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZl
cmVuY2VzLnlhbWw6CisKIDIwMTktMTAtMDcgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5l
eUBhcHBsZS5jb20+CiAKICAgICAgICAgRG9tYWluIHJlbGF0aW9uc2hpcHMgaW4gdGhlIElUUCBE
YXRhYmFzZSBzaG91bGQgYmUgaW5zZXJ0ZWQgaW4gYSBzaW5nbGUgcXVlcnkgYW5kIGlnbm9yZSBy
ZXBlYXQgaW5zZXJ0IGF0dGVtcHRzLiAoMjAyNjA0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA4
MjYyYmU2OGM4MjQwOGJmNzE1NmExYzgxZmRkN2I2MmZiNGI1YzFjLi5jNzkyYTlmZmUzNTdkNWM3
ODc3ZmZmMjVjYmFkMTVlNGQwOTg5Zjk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjgsNiAr
MjgsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtX
RUJDT1JFX0RJUn0vTW9kdWxlcy9hcHBsZXBheSIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxl
cy9hcHBsZXBheS9wYXltZW50cmVxdWVzdCIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9h
cHBsaWNhdGlvbm1hbmlmZXN0IgorICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2FzeW5jLWNs
aXBib2FyZCIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9iZWFjb24iCiAgICAgIiR7V0VC
Q09SRV9ESVJ9L01vZHVsZXMvY2FjaGUiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvY3Jl
ZGVudGlhbG1hbmFnZW1lbnQiCkBAIC0yMjMsNiArMjI0LDEwIEBAIHNldChXZWJDb3JlX0lETF9J
TkNMVURFUwogc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL2FpcnBs
YXkvV2ViS2l0UGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlFdmVudC5pZGwKIAorICAgIE1vZHVs
ZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5pZGwKKyAgICBNb2R1bGVzL2FzeW5jLWNsaXBi
b2FyZC9DbGlwYm9hcmRJdGVtLmlkbAorICAgIE1vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL05hdmln
YXRvckNsaXBib2FyZC5pZGwKKwogICAgIE1vZHVsZXMvYmVhY29uL05hdmlnYXRvckJlYWNvbi5p
ZGwKIAogICAgIE1vZHVsZXMvY2FjaGUvQ2FjaGVRdWVyeU9wdGlvbnMuaWRsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCAyZjk4ZjllMzE1
ZWI2ZjgzZTAzMzRjYTdmNzg0OGUzZGVhNGQxMjA5Li5lOGY3YTZiMDcxYTI3YWMxYjZhODEzZDg3
Yjk0NTA1YTllMjFjOTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QKQEAgLTQ3LDYgKzQ3LDkgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmll
ci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBw
bGVQYXlSZXF1ZXN0LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQv
Q2xpcGJvYXJkLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xp
cGJvYXJkSXRlbS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL05h
dmlnYXRvckNsaXBib2FyZC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYmVhY29uL05hdmln
YXRvckJlYWNvbi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY2FjaGUvQ2FjaGVRdWVyeU9w
dGlvbnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2NhY2hlL0RPTUNhY2hlLmlkbApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Qg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCA5
M2M1Yzg2NzU4NTk0YWEwYTA3ZGI2MmIwYzhlMDRkMzQ0Yjg3ODFhLi43ZGZiODk3Nzc2OTE3NTll
NTFkZmEwZWJkNjM5ODIwYzFmYmE2MmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMjkwLDggKzI5MCwxMiBAQCAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NoYXJhY3RlckRhdGEuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NoYXJhY3RlckRh
dGEuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDaGls
ZE5vZGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0NoaWxkTm9kZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0NsaXBib2FyZC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQ2xpcGJvYXJkLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQ2xpcGJvYXJkRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NsaXBib2FyZEV2ZW50LmgKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2xpcGJvYXJkSXRlbS5jcHAKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ2xpcGJvYXJkSXRlbS5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Nsb3NlRXZlbnQu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Nsb3Nl
RXZlbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlND
b21tYW5kTGluZUFQSUhvc3QuY3BwCkBAIC0xMDY3LDYgKzEwNzEsOCBAQCAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yLmgKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yQmVhY29u
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZp
Z2F0b3JCZWFjb24uaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNOYXZpZ2F0b3JDbGlwYm9hcmQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvckNsaXBib2FyZC5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvckNyZWRlbnRpYWxzLmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3JD
cmVkZW50aWFscy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU05hdmlnYXRvckVNRS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDI4
NDBlZmQ2ZmFlNjk0MDc5YzFjMDE0YzMzYmEwMTUwMGYzMjk4N2MuLjM3YTNiNDM0MDU4MWE5OWIz
NzM2MzA1MTI5ZGQwNDMwZWU2NGQ1YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpA
QCAtMzEsNiArMzEsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYWlycGxh
eSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5IFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9h
c3luYy1jbGlwYm9hcmQgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9iZWFjb24gXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9jYWNoZSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NyZWRlbnRp
YWxtYW5hZ2VtZW50IFwKQEAgLTEyMiw2ICsxMjMsOSBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2
ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0
L0FwcGxlUGF5TW9kaWZpZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkv
cGF5bWVudHJlcXVlc3QvQXBwbGVQYXlSZXF1ZXN0LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uaWRsIFwKKyAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvYXN5bmMtY2xpcGJvYXJkL05hdmlnYXRvckNsaXBib2FyZC5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9iZWFjb24vTmF2aWdhdG9yQmVhY29uLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL2NhY2hlL0NhY2hlUXVlcnlPcHRpb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL2NhY2hlL0RPTUNhY2hlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTNiMTRiYTVi
MDkyYjkzODU0OThjNTQ1Mjc4ZDcxYzZhYmQ3MzY3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmNwcApAQCAtMCwwICsx
LDg2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNsaXBi
b2FyZC5oIgorCisjaW5jbHVkZSAiQ2xpcGJvYXJkSXRlbS5oIgorI2luY2x1ZGUgIkpTRE9NUHJv
bWlzZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiTmF2
aWdhdG9yLmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoQ2xpcGJvYXJkKTsKKwor
UmVmPENsaXBib2FyZD4gQ2xpcGJvYXJkOjpjcmVhdGUoTmF2aWdhdG9yJiBuYXZpZ2F0b3IpCit7
CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ2xpcGJvYXJkKG5hdmlnYXRvcikpOworfQorCitD
bGlwYm9hcmQ6OkNsaXBib2FyZChOYXZpZ2F0b3ImIG5hdmlnYXRvcikKKyAgICA6IG1fbmF2aWdh
dG9yKG1ha2VXZWFrUHRyKG5hdmlnYXRvcikpCit7Cit9CisKK05hdmlnYXRvciogQ2xpcGJvYXJk
OjpuYXZpZ2F0b3IoKQoreworICAgIHJldHVybiBtX25hdmlnYXRvci5nZXQoKTsKK30KKworRXZl
bnRUYXJnZXRJbnRlcmZhY2UgQ2xpcGJvYXJkOjpldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIENsaXBib2FyZEV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsKK30KKwor
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogQ2xpcGJvYXJkOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9uYXZpZ2F0b3IgPyBtX25hdmlnYXRvci0+c2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpIDogbnVsbHB0cjsKK30KKwordm9pZCBDbGlwYm9hcmQ6OnJlYWRU
ZXh0KFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBwcm9taXNlLT5yZWpl
Y3QoTm90U3VwcG9ydGVkRXJyb3IpOworfQorCit2b2lkIENsaXBib2FyZDo6d3JpdGVUZXh0KGNv
bnN0IFN0cmluZyYgZGF0YSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAg
IFVOVVNFRF9QQVJBTShkYXRhKTsKKyAgICBwcm9taXNlLT5yZWplY3QoTm90U3VwcG9ydGVkRXJy
b3IpOworfQorCit2b2lkIENsaXBib2FyZDo6cmVhZChSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHBy
b21pc2UpCit7CisgICAgcHJvbWlzZS0+cmVqZWN0KE5vdFN1cHBvcnRlZEVycm9yKTsKK30KKwor
dm9pZCBDbGlwYm9hcmQ6OndyaXRlKGNvbnN0IFZlY3RvcjxSZWZQdHI8Q2xpcGJvYXJkSXRlbT4+
JiBpdGVtcywgUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQoreworICAgIFVOVVNFRF9Q
QVJBTShpdGVtcyk7CisgICAgcHJvbWlzZS0+cmVqZWN0KE5vdFN1cHBvcnRlZEVycm9yKTsKK30K
KworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQv
Q2xpcGJvYXJkLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlw
Ym9hcmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yODIwMzNhZGU0N2M5ZWE2MGMzNGYwOWU5OTUxYzRlMmQxY2Uz
MzMyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlw
Ym9hcmQvQ2xpcGJvYXJkLmgKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9j
Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2xpcGJvYXJkSXRlbTsKK2NsYXNzIERlZmVy
cmVkUHJvbWlzZTsKK2NsYXNzIE5hdmlnYXRvcjsKKworY2xhc3MgQ2xpcGJvYXJkIGZpbmFsIDog
cHVibGljIFJlZkNvdW50ZWQ8Q2xpcGJvYXJkPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGlu
ZURhdGEgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ2xpcGJvYXJkKTsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUmVmPENsaXBib2FyZD4gY3JlYXRlKE5hdmlnYXRvciYpOworCisgICAgRXZl
bnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbDsKKyAg
ICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Qg
ZmluYWw7CisKKyAgICBOYXZpZ2F0b3IqIG5hdmlnYXRvcigpOworCisgICAgdXNpbmcgUmVmQ291
bnRlZDo6cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOworCisgICAgdm9pZCByZWFk
VGV4dChSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKyAgICB2b2lkIHdyaXRlVGV4dChjb25zdCBT
dHJpbmcmIGRhdGEsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworCisgICAgdm9pZCByZWFkKFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAgIHZvaWQgd3JpdGUoY29uc3QgVmVjdG9yPFJlZlB0
cjxDbGlwYm9hcmRJdGVtPj4mIGRhdGEsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworCitwcml2
YXRlOgorICAgIENsaXBib2FyZChOYXZpZ2F0b3ImKTsKKworICAgIHZvaWQgcmVmRXZlbnRUYXJn
ZXQoKSBmaW5hbCB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwg
eyBkZXJlZigpOyB9CisKKyAgICBXZWFrUHRyPE5hdmlnYXRvcj4gbV9uYXZpZ2F0b3I7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZjYxMjdhNTQ2ZDE3
NjgwNmFjNGU4MjNlMjUwMTVkYmI4ZGYxOTVkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmlkbApAQCAtMCwwICsxLDM4
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKwordHlwZWRlZiBzZXF1ZW5jZTxDbGlwYm9hcmRJdGVtPiBDbGlwYm9h
cmRJdGVtczsKKworWworICAgIFNlY3VyZUNvbnRleHQsCisgICAgRXhwb3NlZD1XaW5kb3csCisg
ICAgRW5hYmxlZEJ5U2V0dGluZz1Bc3luY0NsaXBib2FyZEFQSSwKKyAgICBHZW5lcmF0ZUlzUmVh
Y2hhYmxlPVJlYWNoYWJsZUZyb21OYXZpZ2F0b3IKK10gaW50ZXJmYWNlIENsaXBib2FyZCA6IEV2
ZW50VGFyZ2V0IHsKKyAgICBbTmV3T2JqZWN0XSBQcm9taXNlPENsaXBib2FyZEl0ZW1zPiByZWFk
KCk7CisgICAgW05ld09iamVjdF0gUHJvbWlzZTxET01TdHJpbmc+IHJlYWRUZXh0KCk7CisgICAg
W05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiB3cml0ZShDbGlwYm9hcmRJdGVtcyBkYXRhKTsKKyAg
ICBbTmV3T2JqZWN0XSBQcm9taXNlPHZvaWQ+IHdyaXRlVGV4dChET01TdHJpbmcgZGF0YSk7Cit9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xp
cGJvYXJkSXRlbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9D
bGlwYm9hcmRJdGVtLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YjNlYzNjMjA5ZTRkNzRkMzFlYjcxNGQwMTNl
ODI5NzVlNDVjODhiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
c3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkSXRlbS5jcHAKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDbGlwYm9hcmRJdGVtLmgiCisK
KyNpbmNsdWRlICJKU0RPTVByb21pc2UuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJl
ZC5oIgorI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0Ns
aXBib2FyZEl0ZW06On5DbGlwYm9hcmRJdGVtKCkgPSBkZWZhdWx0OworCitDbGlwYm9hcmRJdGVt
OjpDbGlwYm9hcmRJdGVtKFZlY3RvcjxLZXlWYWx1ZVBhaXI8U3RyaW5nLCBSZWZQdHI8RE9NUHJv
bWlzZT4+PiYmIGl0ZW1zLCBjb25zdCBPcHRpb25zJiBvcHRpb25zKQorICAgIDogbV9wcmVzZW50
YXRpb25TdHlsZShvcHRpb25zLnByZXNlbnRhdGlvblN0eWxlKQoreworICAgIFVOVVNFRF9QQVJB
TShpdGVtcyk7Cit9CisKK1JlZjxDbGlwYm9hcmRJdGVtPiBDbGlwYm9hcmRJdGVtOjpjcmVhdGUo
VmVjdG9yPEtleVZhbHVlUGFpcjxTdHJpbmcsIFJlZlB0cjxET01Qcm9taXNlPj4+JiYgZGF0YSwg
Y29uc3QgT3B0aW9ucyYgb3B0aW9ucykKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDbGlw
Ym9hcmRJdGVtKFdURk1vdmUoZGF0YSksIG9wdGlvbnMpKTsKK30KKworVmVjdG9yPFN0cmluZz4g
Q2xpcGJvYXJkSXRlbTo6dHlwZXMoKSBjb25zdAoreworICAgIHJldHVybiB7IH07Cit9CisKK3Zv
aWQgQ2xpcGJvYXJkSXRlbTo6Z2V0VHlwZShjb25zdCBTdHJpbmcmIHR5cGUsIFJlZjxEZWZlcnJl
ZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBVTlVTRURfUEFSQU0odHlwZSk7CisgICAgcHJv
bWlzZS0+cmVqZWN0KE5vdFN1cHBvcnRlZEVycm9yKTsKK30KKworTmF2aWdhdG9yKiBDbGlwYm9h
cmRJdGVtOjpuYXZpZ2F0b3IoKQoreworICAgIC8vIEZJWE1FOiBXaGVuIHN1cHBvcnQgZm9yIENs
aXBib2FyZC5yZWFkKCkgaXMgaW1wbGVtZW50ZWQsIHRoaXMgc2hvdWxkIGluc3RlYWQgcmV0dXJu
IHRoZSBhc3NvY2lhdGVkIENsaXBib2FyZAorICAgIC8vIG9iamVjdCdzIG5hdmlnYXRvciwgaWYg
aXQgaXMgYXNzb2NpYXRlZCB3aXRoIGEgQ2xpcGJvYXJkLgorICAgIHJldHVybiBudWxscHRyOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmJkN2Y2
MWI2ODdlZWU4YmRmNGEzNjk3ZDFkNTU2NjM2MGRiZjUxYgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0uaApAQCAt
MCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYv
S2V5VmFsdWVQYWlyLmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERlZmVycmVkUHJvbWlz
ZTsKK2NsYXNzIERPTVByb21pc2U7CitjbGFzcyBOYXZpZ2F0b3I7CisKK2NsYXNzIENsaXBib2Fy
ZEl0ZW0gOiBwdWJsaWMgUmVmQ291bnRlZDxDbGlwYm9hcmRJdGVtPiB7CitwdWJsaWM6CisgICAg
fkNsaXBib2FyZEl0ZW0oKTsKKworICAgIGVudW0gY2xhc3MgUHJlc2VudGF0aW9uU3R5bGUgOiB1
aW50OF90IHsgVW5zcGVjaWZpZWQsIElubGluZSwgQXR0YWNobWVudCB9OworCisgICAgc3RydWN0
IE9wdGlvbnMgeworICAgICAgICBQcmVzZW50YXRpb25TdHlsZSBwcmVzZW50YXRpb25TdHlsZSB7
IFByZXNlbnRhdGlvblN0eWxlOjpVbnNwZWNpZmllZCB9OworICAgIH07CisKKyAgICBzdGF0aWMg
UmVmPENsaXBib2FyZEl0ZW0+IGNyZWF0ZShWZWN0b3I8S2V5VmFsdWVQYWlyPFN0cmluZywgUmVm
UHRyPERPTVByb21pc2U+Pj4mJiwgY29uc3QgT3B0aW9ucyYpOworCisgICAgVmVjdG9yPFN0cmlu
Zz4gdHlwZXMoKSBjb25zdDsKKyAgICB2b2lkIGdldFR5cGUoY29uc3QgU3RyaW5nJiwgUmVmPERl
ZmVycmVkUHJvbWlzZT4mJik7CisKKyAgICBQcmVzZW50YXRpb25TdHlsZSBwcmVzZW50YXRpb25T
dHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJlc2VudGF0aW9uU3R5bGU7IH07CisgICAgTmF2aWdh
dG9yKiBuYXZpZ2F0b3IoKTsKKworcHJpdmF0ZToKKyAgICBDbGlwYm9hcmRJdGVtKFZlY3RvcjxL
ZXlWYWx1ZVBhaXI8U3RyaW5nLCBSZWZQdHI8RE9NUHJvbWlzZT4+PiYmLCBjb25zdCBPcHRpb25z
Jik7CisKKyAgICBQcmVzZW50YXRpb25TdHlsZSBtX3ByZXNlbnRhdGlvblN0eWxlIHsgUHJlc2Vu
dGF0aW9uU3R5bGU6OlVuc3BlY2lmaWVkIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlw
Ym9hcmRJdGVtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0Ns
aXBib2FyZEl0ZW0uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjNWIzNGZkYTNlYmM4Mzg1ODRkMzhiYzE5YTZm
MmE0YjVhNDczYTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fz
eW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmlkbApAQCAtMCwwICsxLDQ1IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKwordHlwZWRlZiAoRE9NU3RyaW5nIG9yIEJsb2IpIENsaXBib2FyZEl0ZW1EYXRhVHlwZTsK
K3R5cGVkZWYgUHJvbWlzZTxDbGlwYm9hcmRJdGVtRGF0YVR5cGU+IENsaXBib2FyZEl0ZW1EYXRh
OworCitlbnVtIFByZXNlbnRhdGlvblN0eWxlIHsgInVuc3BlY2lmaWVkIiwgImlubGluZSIsICJh
dHRhY2htZW50IiB9OworCitkaWN0aW9uYXJ5IENsaXBib2FyZEl0ZW1PcHRpb25zIHsKKyAgICBQ
cmVzZW50YXRpb25TdHlsZSBwcmVzZW50YXRpb25TdHlsZSA9ICJ1bnNwZWNpZmllZCI7Cit9Owor
CitbCisgICAgQ29uc3RydWN0b3IocmVjb3JkPERPTVN0cmluZywgQ2xpcGJvYXJkSXRlbURhdGE+
IGl0ZW1zLCBvcHRpb25hbCBDbGlwYm9hcmRJdGVtT3B0aW9ucyBvcHRpb25zKSwKKyAgICBFeHBv
c2VkPVdpbmRvdywKKyAgICBFbmFibGVkQnlTZXR0aW5nPUFzeW5jQ2xpcGJvYXJkQVBJLAorICAg
IEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCisgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1SZWFj
aGFibGVGcm9tTmF2aWdhdG9yCitdIGludGVyZmFjZSBDbGlwYm9hcmRJdGVtIHsKKyAgICByZWFk
b25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RE9NU3RyaW5nPiB0eXBlczsKKyAgICBbTmV3T2Jq
ZWN0XSBQcm9taXNlPEJsb2I+IGdldFR5cGUoRE9NU3RyaW5nIHR5cGUpOworICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBQcmVzZW50YXRpb25TdHlsZSBwcmVzZW50YXRpb25TdHlsZTsKK307CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JD
bGlwYm9hcmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2
aWdhdG9yQ2xpcGJvYXJkLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MzRmYjJkNjMyYThkNDUwMDljZjQ3YjJh
MGEzYTFiYTY4YjA5ZGUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmNwcApAQCAtMCwwICsxLDcwIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5hdmlnYXRvckNs
aXBib2FyZC5oIgorCisjaW5jbHVkZSAiQ2xpcGJvYXJkLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9y
LmgiCisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK05hdmlnYXRvckNsaXBib2FyZDo6TmF2aWdhdG9yQ2xpcGJvYXJkKE5hdmlnYXRvciYgbmF2
aWdhdG9yKQorICAgIDogbV9uYXZpZ2F0b3IobmF2aWdhdG9yKQoreworfQorCitOYXZpZ2F0b3JD
bGlwYm9hcmQ6On5OYXZpZ2F0b3JDbGlwYm9hcmQoKSA9IGRlZmF1bHQ7CisKK1JlZlB0cjxDbGlw
Ym9hcmQ+IE5hdmlnYXRvckNsaXBib2FyZDo6Y2xpcGJvYXJkKE5hdmlnYXRvciYgbmF2aWdhdG9y
KQoreworICAgIHJldHVybiBOYXZpZ2F0b3JDbGlwYm9hcmQ6OmZyb20obmF2aWdhdG9yKS0+Y2xp
cGJvYXJkKCk7Cit9CisKK1JlZlB0cjxDbGlwYm9hcmQ+IE5hdmlnYXRvckNsaXBib2FyZDo6Y2xp
cGJvYXJkKCkKK3sKKyAgICBpZiAoIW1fY2xpcGJvYXJkKQorICAgICAgICBtX2NsaXBib2FyZCA9
IENsaXBib2FyZDo6Y3JlYXRlKG1fbmF2aWdhdG9yKTsKKyAgICByZXR1cm4gbV9jbGlwYm9hcmQ7
Cit9CisKK05hdmlnYXRvckNsaXBib2FyZCogTmF2aWdhdG9yQ2xpcGJvYXJkOjpmcm9tKE5hdmln
YXRvciYgbmF2aWdhdG9yKQoreworICAgIGF1dG8qIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxO
YXZpZ2F0b3JDbGlwYm9hcmQqPihTdXBwbGVtZW50PE5hdmlnYXRvcj46OmZyb20oJm5hdmlnYXRv
ciwgc3VwcGxlbWVudE5hbWUoKSkpOworICAgIGlmICghc3VwcGxlbWVudCkgeworICAgICAgICBh
dXRvIG5ld1N1cHBsZW1lbnQgPSBtYWtlVW5pcXVlPE5hdmlnYXRvckNsaXBib2FyZD4obmF2aWdh
dG9yKTsKKyAgICAgICAgc3VwcGxlbWVudCA9IG5ld1N1cHBsZW1lbnQuZ2V0KCk7CisgICAgICAg
IHByb3ZpZGVUbygmbmF2aWdhdG9yLCBzdXBwbGVtZW50TmFtZSgpLCBXVEZNb3ZlKG5ld1N1cHBs
ZW1lbnQpKTsKKyAgICB9CisgICAgcmV0dXJuIHN1cHBsZW1lbnQ7Cit9CisKK2NvbnN0IGNoYXIq
IE5hdmlnYXRvckNsaXBib2FyZDo6c3VwcGxlbWVudE5hbWUoKQoreworICAgIHJldHVybiAiTmF2
aWdhdG9yQ2xpcGJvYXJkIjsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44ZDE5NDcwZjI1Y2Q1Nzg0ZGYyMGRhNGQyOGNjMDk0MzNjMTJiOTQ1Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yQ2xp
cGJvYXJkLmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aW5jbHVkZSAiU3VwcGxlbWVudGFibGUuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENsaXBib2FyZDsKK2NsYXNzIE5hdmlnYXRvcjsK
KworY2xhc3MgTmF2aWdhdG9yQ2xpcGJvYXJkIGZpbmFsIDogcHVibGljIFN1cHBsZW1lbnQ8TmF2
aWdhdG9yPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgZXhw
bGljaXQgTmF2aWdhdG9yQ2xpcGJvYXJkKE5hdmlnYXRvciYpOworICAgIH5OYXZpZ2F0b3JDbGlw
Ym9hcmQoKTsKKworICAgIHN0YXRpYyBSZWZQdHI8Q2xpcGJvYXJkPiBjbGlwYm9hcmQoTmF2aWdh
dG9yJik7CisgICAgUmVmUHRyPENsaXBib2FyZD4gY2xpcGJvYXJkKCk7CisKK3ByaXZhdGU6Cisg
ICAgc3RhdGljIE5hdmlnYXRvckNsaXBib2FyZCogZnJvbShOYXZpZ2F0b3ImKTsKKyAgICBzdGF0
aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKKworICAgIFJlZlB0cjxDbGlwYm9hcmQ+
IG1fY2xpcGJvYXJkOworICAgIE5hdmlnYXRvciYgbV9uYXZpZ2F0b3I7Cit9OworCit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JD
bGlwYm9hcmQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2
aWdhdG9yQ2xpcGJvYXJkLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZDZiNTMzZjYzYTY3YjA5YWUwN2EwMDg3
ZTU1NTc0NjNmYTk5NTQ5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yQ2xpcGJvYXJkLmlkbApAQCAtMCwwICsxLDMwIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9QXN5bmNDbGlwYm9hcmRBUEks
CitdIHBhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvciB7CisgICAgW1NlY3VyZUNvbnRleHQsIFNh
bWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBDbGlwYm9hcmQgY2xpcGJvYXJkOworfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1U
cmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
VHJhY2suY3BwCmluZGV4IGQwODc5OGUyMzRjMDQzOGRiNTY5YTkyZWQ3NTljYjcyZDczMmRlOWEu
LmI1YjQ1YWIxMGY3ZDgxNzQ1YWI3ZmZmYjFlMTg5OTViNTBkNWVkMjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNw
cApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJK
U0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTT3ZlcmNvbnN0cmFpbmVkRXJyb3Iu
aCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWVkaWFDb25zdHJhaW50cy5oIgog
I2luY2x1ZGUgIk1lZGlhU3RyZWFtLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1Qcml2YXRlLmgi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZT
ZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2Vu
ZGVyLmNwcAppbmRleCAzZTZkYzA4OTRlNjU1M2MzZjkwMmU0OTc5MzBlOTk4ZWI3YmVhM2NkLi42
ZmY0YWE1ZTc3Zjk3ZGRmOTIzZDNiZmI5YTZlNmY3MWM1ZmY1ODRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAKQEAgLTMw
LDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIlJUQ0RUTUZTZW5kZXJCYWNrZW5kLmgiCiAjaW5jbHVk
ZSAiUlRDRFRNRlRvbmVDaGFuZ2VFdmVudC5oIgorI2luY2x1ZGUgIlJUQ1J0cFNlbmRlci5oIgog
I2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFs
bG9jSW5saW5lcy5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFNlbmRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFNlbmRlci5jcHAKaW5kZXggMDA3ZDJjM2E0YjllYmExY2FjMTMwNDk3Njg2ZDQ0
NmQyZjA1MzIzYi4uMmE2NmZmNDhkMWYwMjNlY2JkYTA3OTUxNGY1OWQwZGI2NDNlZDFlNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVy
LmNwcApAQCAtMzMsNiArMzMsNyBAQAogCiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAKKyNpbmNsdWRl
ICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIlJUQ0RUTUZTZW5kZXIuaCIKICNp
bmNsdWRlICJSVENEVE1GU2VuZGVyQmFja2VuZC5oIgogI2luY2x1ZGUgIlJUQ1J0cENhcGFiaWxp
dGllcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
UGlwZWxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVVBpcGVsaW5l
LmgKaW5kZXggMWUzMjNjNzliZjE5ODI1ODIzNjJhNzNmOGE2NzVmMTI4YjRhNmY3MS4uM2IzNGE0
ZWIwNjVjYjA0MTk4MmU5MTMwYmRhNjI1MDc2NWIzYWI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVUGlwZWxpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVQaXBlbGluZS5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5j
bHVkZSAiR1BVT2JqZWN0QmFzZS5oIgogI2luY2x1ZGUgIldlYkdQVVNoYWRlck1vZHVsZS5oIgog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDRhODEwOTI0ZGU3NDMyZmZmZTYxMmNm
NWVkZDZkMWZhYjYxMzU3MjcuLjNiZDMyNjAyNWQzYjA4NzcwNTQ4ODAwNTNlNTg4YjA5ZTk1MDJh
ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0zMyw2ICszMywxMCBAQCBsb2FkZXIvY2FjaGUvQ2FjaGVk
QXBwbGljYXRpb25NYW5pZmVzdC5jcHAKIAogI2VuZGlmCiAKK01vZHVsZXMvYXN5bmMtY2xpcGJv
YXJkL0NsaXBib2FyZC5jcHAKK01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZEl0ZW0u
Y3BwCitNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9OYXZpZ2F0b3JDbGlwYm9hcmQuY3BwCisKIE1v
ZHVsZXMvYmVhY29uL05hdmlnYXRvckJlYWNvbi5jcHAKIAogTW9kdWxlcy9jYWNoZS9DYWNoZVN0
b3JhZ2VDb25uZWN0aW9uLmNwcApAQCAtMjY4OCw3ICsyNjkyLDkgQEAgSlNDaGFubmVsTWVyZ2Vy
Tm9kZS5jcHAKIEpTQ2hhbm5lbFNwbGl0dGVyTm9kZS5jcHAKIEpTQ2hhcmFjdGVyRGF0YS5jcHAK
IEpTQ2hpbGROb2RlLmNwcAorSlNDbGlwYm9hcmQuY3BwCiBKU0NsaXBib2FyZEV2ZW50LmNwcAor
SlNDbGlwYm9hcmRJdGVtLmNwcAogSlNDbG9zZUV2ZW50LmNwcAogSlNDb21tYW5kTGluZUFQSUhv
c3QuY3BwCiBKU0NvbW1lbnQuY3BwCkBAIC0zMDI5LDYgKzMwMzUsNyBAQCBKU011dGF0aW9uUmVj
b3JkLmNwcAogSlNOYW1lZE5vZGVNYXAuY3BwCiBKU05hdmlnYXRvci5jcHAKIEpTTmF2aWdhdG9y
QmVhY29uLmNwcAorSlNOYXZpZ2F0b3JDbGlwYm9hcmQuY3BwCiBKU05hdmlnYXRvckNyZWRlbnRp
YWxzLmNwcAogSlNOYXZpZ2F0b3JHZW9sb2NhdGlvbi5jcHAKIEpTTmF2aWdhdG9yR1BVLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDgzYzllYzdkOGZlMDQ2M2QwNTFkNTBmZTc2OWMzOTk4NjY3MTU5M2YuLjUyNzg4MzhmZDJl
NTYxYzY5YmY1NWNjY2UwNGU1Y2E4NDcxZjhiZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ4NzEsNiArNDg3MSw5IEBACiAJ
CUYzQUJGRTBDMTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVtZW50aW5nQWdlbnRzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGM0FCRkUwQjEzMEU5REEw
MDBFN0Y3RDEgLyogSW5zdHJ1bWVudGluZ0FnZW50cy5oICovOyB9OwogCQlGM0Q0NjE0OTExNjFE
NTMyMDBDQTBEMDkgLyogSlNFcnJvckhhbmRsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzRDQ2MTQ3MTE2MUQ1MzIwMENBMEQwOSAvKiBKU0Vycm9y
SGFuZGxlci5oICovOyB9OwogCQlGNDMzRTkwMzFEQkJEQkEyMDBFRjBEMTQgLyogU3RhdGljUGFz
dGVib2FyZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RjQzM0U5MDIxREJCREJBMjAwRUYwRDE0IC8qIFN0YXRpY1Bhc3RlYm9hcmQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlGNDQwRTc3QTIzM0Q5NEQ3
MDA2M0Y5QUIgLyogTmF2aWdhdG9yQ2xpcGJvYXJkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDQwRTc2RjIzM0Q5NEQzMDA2M0Y5QUIgLyogTmF2aWdh
dG9yQ2xpcGJvYXJkLmggKi87IH07CisJCUY0NDBFNzdCMjMzRDk0RDcwMDYzRjlBQiAvKiBDbGlw
Ym9hcmRJdGVtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGNDQwRTc3MDIzM0Q5NEQ0MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRlbS5oICovOyB9OworCQlG
NDQwRTc3RDIzM0Q5NEQ3MDA2M0Y5QUIgLyogQ2xpcGJvYXJkLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDQwRTc3MjIzM0Q5NEQ1MDA2M0Y5QUIgLyog
Q2xpcGJvYXJkLmggKi87IH07CiAJCUY0NEE1RjU5MUZFRDM4RjIwMDdGNTk0NCAvKiBMZWdhY3lO
U1Bhc3RlYm9hcmRUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjQ0QTVGNTcxRkVEMzgzMDAwN0Y1OTQ0IC8qIExlZ2FjeU5TUGFzdGVib2FyZFR5
cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
RjQ0RUJCRDkxREI1RDIxNDAwMjc3MzM0IC8qIFN0YXRpY1JhbmdlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDRFQkJEODFEQjVEMjE0MDAyNzczMzQg
LyogU3RhdGljUmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlGNDVDMjMxRTE5OTVCNzNCMDBBNkUyRTMgLyogQXhpc1Njcm9sbFNuYXBPZmZz
ZXRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDVD
MjMxQzE5OTVCNzNCMDBBNkUyRTMgLyogQXhpc1Njcm9sbFNuYXBPZmZzZXRzLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEwMDg5LDcgKzEwMDky
LDExIEBACiAJCTgzNkQwMzJCMURBOEExMzIwMEZGRDk2QiAvKiBKU0V2ZW50SW5pdC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0V2ZW50SW5pdC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzNkQwMzJDMURBOEExMzIwMEZGRDk2QiAvKiBKU0V2
ZW50SW5pdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0V2ZW50SW5pdC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzZEMDMyRDFEQThBMTMyMDBGRkQ5NkIg
LyogSlNDbGlwYm9hcmRFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0NsaXBib2FyZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
ODM2RDAzMkQxREE4QTEzMjAwRkZEOTZDIC8qIEpTQ2xpcGJvYXJkLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ2xpcGJvYXJkLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJODM2RDAzMkQxREE4QTEzMjAwRkZEOTZEIC8qIEpTQ2xpcGJvYXJkSXRl
bS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NsaXBib2FyZEl0
ZW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzZEMDMyRTFEQThBMTMyMDBG
RkQ5NkIgLyogSlNDbGlwYm9hcmRFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0NsaXBib2FyZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgz
NkQwMzJFMURBOEExMzIwMEZGRDk2QyAvKiBKU0NsaXBib2FyZC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0NsaXBib2FyZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk4MzZEMDMyRTFEQThBMTMyMDBGRkQ5NkQgLyogSlNDbGlwYm9hcmRJdGVtLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ2xpcGJvYXJkSXRlbS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk4MzZEQUEwNTFDRUFCN0NEMDBBMkI3MDcgLyogUmVuZGVyRGVz
Y2VuZGFudEl0ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRl
ckRlc2NlbmRhbnRJdGVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4Mzcw
NTY4ODFGNTA5MTUwMDBEOTM0MjUgLyogSlNGaWxlQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNGaWxlQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4MzcwNTY4OTFGNTA5MTUwMDBEOTM0MjUgLyogSlNGaWxlU3lzdGVt
RW50cnlDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0ZpbGVT
eXN0ZW1FbnRyeUNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTE1
Nyw2ICsxNTE2NCwxNSBAQAogCQlGNDJDRUI1NDIxNDAzMUVFMDAyRENBNzIgLyogRm9udEF0dHJp
YnV0ZUNoYW5nZXNDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEZvbnRBdHRyaWJ1dGVD
aGFuZ2VzQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0MzNFOTAyMURC
QkRCQTIwMEVGMEQxNCAvKiBTdGF0aWNQYXN0ZWJvYXJkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFN0YXRpY1Bhc3RlYm9hcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRjQzM0U5MDQxREJCREJDMjAwRUYwRDE0IC8qIFN0YXRpY1Bhc3RlYm9hcmQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gU3RhdGljUGFzdGVib2FyZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUY0NDBFNzZFMjMzRDk0RDMwMDYzRjlBQiAvKiBDbGlwYm9hcmQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2xpcGJvYXJkLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0MEU3NkYyMzNEOTREMzAwNjNGOUFCIC8qIE5hdmln
YXRvckNsaXBib2FyZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0
b3JDbGlwYm9hcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ0MEU3NzAyMzNE
OTRENDAwNjNGOUFCIC8qIENsaXBib2FyZEl0ZW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ2xpcGJvYXJkSXRlbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlG
NDQwRTc3MTIzM0Q5NEQ0MDA2M0Y5QUIgLyogTmF2aWdhdG9yQ2xpcGJvYXJkLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0b3JDbGlwYm9hcmQuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlGNDQwRTc3MjIzM0Q5NEQ1MDA2M0Y5QUIgLyogQ2xpcGJvYXJkLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENsaXBib2FyZC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlGNDQwRTc3MzIzM0Q5NEQ1MDA2M0Y5QUIgLyogTmF2aWdhdG9yQ2xp
cGJvYXJkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5hdmlnYXRv
ckNsaXBib2FyZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0NDBFNzc0MjMz
RDk0RDYwMDYzRjlBQiAvKiBDbGlwYm9hcmQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENs
aXBib2FyZC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0NDBFNzc1MjMzRDk0
RDYwMDYzRjlBQiAvKiBDbGlwYm9hcmRJdGVtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENsaXBib2FyZEl0ZW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlGNDQwRTc3NzIzM0Q5NEQ3MDA2M0Y5QUIgLyogQ2xpcGJvYXJkSXRlbS5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gQ2xpcGJvYXJkSXRlbS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUY0NDI4NTBCMjE0MDQxMjUwMENDREEyMiAvKiBGb250QXR0cmlidXRlQ2hhbmdl
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGb250QXR0cmlidXRlQ2hhbmdlcy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NEE1RjU3MUZFRDM4MzAwMDdGNTk0NCAvKiBMZWdh
Y3lOU1Bhc3RlYm9hcmRUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMZWdhY3lOU1Bhc3RlYm9hcmRU
eXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDRFQkJENjFEQjVEMUI2MDAy
NzczMzQgLyogU3RhdGljUmFuZ2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFN0YXRpY1Jh
bmdlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2NTc1LDYgKzE2NTkxLDcg
QEAKIAkJCQkxMjIxRTA1ODFDMDJCNDA5MDA2QTFBMDAgLyogQW5pbWF0aW9uICovLAogCQkJCTFB
RTk2QTc5MUQxQTBBNUMwMEI4Njc2OCAvKiBBcHBsZVBheSAqLywKIAkJCQk0MUZCMjc4ODFGMzQ0
NjFCMDA3OTU0ODggLyogQ2FjaGVBUEkgKi8sCisJCQkJRjQ0MEU3NjkyMzNEOTM2MjAwNjNGOUFC
IC8qIENsaXBib2FyZCAqLywKIAkJCQlBODNCNzkxMDBDQ0IwMDFCMDAwQjA4MjUgLyogQ29yZSAq
LywKIAkJCQk1N0M3QTY4RDFFNTY5QTg0MDBDNjdENzEgLyogQ3JlZGVudGlhbE1hbmFnZW1lbnQg
Ki8sCiAJCQkJRTFGRjhGNjExODA3NDVDNjAwMTMyNjc0IC8qIENyeXB0byAqLywKQEAgLTIxOTIz
LDYgKzIxOTQwLDcgQEAKIAkJCQlDRTI2MTY5RDE4N0U2NTU0MDA3OTU1RjMgLyogYWlycGxheSAq
LywKIAkJCQkxQTU4RTg2MTFEMTlEMzczMDBDMEVBNzMgLyogYXBwbGVwYXkgKi8sCiAJCQkJNjNC
RDRBNUMxRjc3OEU4NDAwNDM4NzIyIC8qIGFwcGxpY2F0aW9ubWFuaWZlc3QgKi8sCisJCQkJRjQ0
MEU3NkEyMzNEOTNDODAwNjNGOUFCIC8qIGFzeW5jLWNsaXBib2FyZCAqLywKIAkJCQk4MzIxNTA3
OTFGMjdFOTZCMDA5NUIxMzYgLyogYmVhY29uICovLAogCQkJCTQxMzgwQzFFMUYzNDM2NjAwMDE1
NUZEQSAvKiBjYWNoZSAqLywKIAkJCQk1N0M3QTY4ODFFNTY5NDZEMDBDNjdENzEgLyogY3JlZGVu
dGlhbG1hbmFnZW1lbnQgKi8sCkBAIC0yNjc4MCw2ICsyNjc5OCwzMyBAQAogCQkJcGF0aCA9IG1h
YzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCUY0NDBFNzY5MjMzRDkzNjIw
MDYzRjlBQiAvKiBDbGlwYm9hcmQgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxk
cmVuID0gKAorCQkJCTgzNkQwMzJEMURBOEExMzIwMEZGRDk2QyAvKiBKU0NsaXBib2FyZC5jcHAg
Ki8sCisJCQkJODM2RDAzMkUxREE4QTEzMjAwRkZEOTZDIC8qIEpTQ2xpcGJvYXJkLmggKi8sCisJ
CQkJODM2RDAzMkQxREE4QTEzMjAwRkZEOTZEIC8qIEpTQ2xpcGJvYXJkSXRlbS5jcHAgKi8sCisJ
CQkJODM2RDAzMkUxREE4QTEzMjAwRkZEOTZEIC8qIEpTQ2xpcGJvYXJkSXRlbS5oICovLAorCQkJ
KTsKKwkJCW5hbWUgPSBDbGlwYm9hcmQ7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9
OworCQlGNDQwRTc2QTIzM0Q5M0M4MDA2M0Y5QUIgLyogYXN5bmMtY2xpcGJvYXJkICovID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlGNDQwRTc2RTIzM0Q5NEQz
MDA2M0Y5QUIgLyogQ2xpcGJvYXJkLmNwcCAqLywKKwkJCQlGNDQwRTc3MjIzM0Q5NEQ1MDA2M0Y5
QUIgLyogQ2xpcGJvYXJkLmggKi8sCisJCQkJRjQ0MEU3NzQyMzNEOTRENjAwNjNGOUFCIC8qIENs
aXBib2FyZC5pZGwgKi8sCisJCQkJRjQ0MEU3NzUyMzNEOTRENjAwNjNGOUFCIC8qIENsaXBib2Fy
ZEl0ZW0uY3BwICovLAorCQkJCUY0NDBFNzcwMjMzRDk0RDQwMDYzRjlBQiAvKiBDbGlwYm9hcmRJ
dGVtLmggKi8sCisJCQkJRjQ0MEU3NzcyMzNEOTRENzAwNjNGOUFCIC8qIENsaXBib2FyZEl0ZW0u
aWRsICovLAorCQkJCUY0NDBFNzczMjMzRDk0RDUwMDYzRjlBQiAvKiBOYXZpZ2F0b3JDbGlwYm9h
cmQuY3BwICovLAorCQkJCUY0NDBFNzZGMjMzRDk0RDMwMDYzRjlBQiAvKiBOYXZpZ2F0b3JDbGlw
Ym9hcmQuaCAqLywKKwkJCQlGNDQwRTc3MTIzM0Q5NEQ0MDA2M0Y5QUIgLyogTmF2aWdhdG9yQ2xp
cGJvYXJkLmlkbCAqLywKKwkJCSk7CisJCQlwYXRoID0gImFzeW5jLWNsaXBib2FyZCI7CisJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQlGNDgzODk3OTFFMUREMjNBMDA3NkI3RUEg
LyogRWRpdGluZ0hpc3RvcnkgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKApAQCAtMjg3MzUsOCArMjg3ODAsMTAgQEAKIAkJCQlFNEE4MTRENDFDNkRFQzQwMDBCRjg1
QUMgLyogQ2xhc3NDaGFuZ2VJbnZhbGlkYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTgzNDhC
RkFDMUI4NTcyOTgwMDkxMkYzNiAvKiBDbGFzc0NvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovLAog
CQkJCTQxMDc5MDhDMUZDM0YwMzMwMDYxQjI3QSAvKiBDbGllbnRPcmlnaW4uaCBpbiBIZWFkZXJz
ICovLAorCQkJCUY0NDBFNzdEMjMzRDk0RDcwMDYzRjlBQiAvKiBDbGlwYm9hcmQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTdDM0E5MUU2MUM5NjNCODgwMEQxQTdFMyAvKiBDbGlwYm9hcmRBY2Nlc3NQ
b2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDMxQjQwMEE0NEVGQzcwMEY5OTJFMCAvKiBD
bGlwYm9hcmRFdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjQ0MEU3N0IyMzNEOTRENzAwNjNG
OUFCIC8qIENsaXBib2FyZEl0ZW0uaCBpbiBIZWFkZXJzICovLAogCQkJCUZCOTJERjRCMTVGRUQw
ODcwMDk5NDQzMyAvKiBDbGlwUGF0aE9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTgw
MzcxNjIxQTY2RjAwQTAwQkFGNTE5IC8qIENsaXBSZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5
N0FBQkQxMzE0RkEwOUQ1MDA3NDU3QUUgLyogQ2xvc2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCkBA
IC0zMDk3Nyw2ICszMTAyNCw3IEBACiAJCQkJQTlDNkU1QTYwRDc0NjQ1ODAwNjQ0MkU5IC8qIE5h
dmlnYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNzE5QzcwRUVFQzE2ODAwRjYxMjEzIC8q
IE5hdmlnYXRvckJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzMjE1MDdFMUYyN0VBMUIwMDk1
QjEzNiAvKiBOYXZpZ2F0b3JCZWFjb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUY0NDBFNzdBMjMz
RDk0RDcwMDYzRjlBQiAvKiBOYXZpZ2F0b3JDbGlwYm9hcmQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTM3MkQzRTU3MjE2NTc4QUUwMEM1RTAyMSAvKiBOYXZpZ2F0b3JDcmVkZW50aWFscy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTcxMTQ2MDQxNEVGMDA5QTAwNjc0RkQ5IC8qIE5hdmlnYXRvckdlb2xv
Y2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1RUE3MjVENjFBQ0FCRDU3MDBFQUQxN0IgLyog
TmF2aWdhdG9yTWVkaWFEZXZpY2VzLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBmZmQzZTU5ZWY4NDlh
MDFhOGZhNWQyNmMwZmVmYzFmZGE0ZWZhOTI3Li4wNjBjNzAzMjc1ZjRjM2M0ODFkYWQyOGIzNTNl
ZWExMjIwMDNlMjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJD
b3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oCkBAIC01NSw2ICs1NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBtYWNybyhDYWNoZVN0b3JhZ2UpIFwKICAgICBtYWNybyhDbGllbnQpIFwKICAgICBtYWNybyhD
bGllbnRzKSBcCisgICAgbWFjcm8oQ2xpcGJvYXJkKSBcCisgICAgbWFjcm8oQ2xpcGJvYXJkSXRl
bSkgXAogICAgIG1hY3JvKENyZWRlbnRpYWwpIFwKICAgICBtYWNybyhDcmVkZW50aWFsc0NvbnRh
aW5lcikgXAogICAgIG1hY3JvKENTU0FuaW1hdGlvbikgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50LmNwcAppbmRleCAxNWMwNTZk
NzY0MzAxNzU5ZjZiY2UwZTViZjk2NzI1ZjBhOTFlZmEwLi4zMDIxYTgxZmJlNWRlYmQ2YjFmZGIz
OTgyYWRmMTEzMjU2YzNhZjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNl
T3JpZW50YXRpb25Pck1vdGlvbkV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2
aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50LmNwcApAQCAtMjYsNiArMjYsOCBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5o
IgogCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25B
bmRNb3Rpb25BY2Nlc3NDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNs
dWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFy
Z2V0RmFjdG9yeS5pbgppbmRleCA5YjliZjkzN2NjMDkzYTYwMDVjZDYwY2UxNjQ0Y2IwODhlYmU2
NjEyLi4yODI3MGYyNzUwNTA1M2EyMzMxMDMzMjZkYjQ2Y2M3YzBhYjRjMWViIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTcsNiArNyw3IEBAIEFwcGxlUGF5
U2Vzc2lvbiBjb25kaXRpb25hbD1BUFBMRV9QQVkKIEF1ZGlvTm9kZSBjb25kaXRpb25hbD1XRUJf
QVVESU8KIEF1ZGlvQ29udGV4dCBjb25kaXRpb25hbD1XRUJfQVVESU8KIEF1ZGlvVHJhY2tMaXN0
IGNvbmRpdGlvbmFsPVZJREVPX1RSQUNLCitDbGlwYm9hcmQKIERlZGljYXRlZFdvcmtlckdsb2Jh
bFNjb3BlCiBET01BcHBsaWNhdGlvbkNhY2hlCiBET01XaW5kb3cKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2ZlYXR1cmVzLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9mZWF0dXJlcy5qc29uCmlu
ZGV4IGU1ODdkMjIzNDk0YzJmZmQ4MTM5YjYzN2ZkNWJlNzcxZGMzYzRjYmYuLjI4N2QwZWIzODYz
ZDZiNjFmOWQzN2Y0ODQzOTM3NGU4ODAzOTc0MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2ZlYXR1cmVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvZmVhdHVyZXMuanNvbgpAQCAtMTEs
NiArMTEsMjEgQEAKICAgICAgICAgImNhdGVnb3J5IjogIndlYmFwcHMiLAogICAgICAgICAiZGVz
Y3JpcHRpb24iOiAiUmVzb3VyY2VzIGFyZSBzYXZlZCBmb3Igb2ZmbGluZSB1c2UgdXNpbmcgYSBt
YW5pZmVzdC4iCiAgICAgfSwKKyAgICB7CisgICAgICAgICJuYW1lIjogIkFzeW5jIENsaXBib2Fy
ZCBBUEkiLAorICAgICAgICAic3RhdHVzIjogeworICAgICAgICAgICAgInN0YXR1cyI6ICJJbiBE
ZXZlbG9wbWVudCIKKyAgICAgICAgfSwKKyAgICAgICAgInVybCI6ICJodHRwczovL3d3dy53My5v
cmcvVFIvY2xpcGJvYXJkLWFwaXMvI2FzeW5jLWNsaXBib2FyZC1hcGkiLAorICAgICAgICAic3Bl
Y2lmaWNhdGlvbiI6ICJDbGlwYm9hcmQgQVBJIiwKKyAgICAgICAgImNhdGVnb3J5IjogIndlYmFw
cHMiLAorICAgICAgICAiZGVzY3JpcHRpb24iOiAiQW4gQVBJIHRoYXQgYWxsb3dzIHJlYWRpbmcg
ZnJvbSBhbmQgd3JpdGluZyB0byB0aGUgc3lzdGVtIGNsaXBib2FyZC4iLAorICAgICAgICAiY29u
dGFjdCI6IHsKKyAgICAgICAgICAgICJuYW1lIjogIldlbnNvbiBIc2llaCIsCisgICAgICAgICAg
ICAiZW1haWwiOiAid2Vuc29uX2hzaWVoQGFwcGxlLmNvbSIsCisgICAgICAgICAgICAidHdpdHRl
ciI6ICJAd2Vuc29uaHNpZWgiCisgICAgICAgIH0KKyAgICB9LAogICAgIHsKICAgICAgICAgIm5h
bWUiOiAiQmF0dGVyeSBTdGF0dXMgQVBJIiwKICAgICAgICAgInN0YXR1cyI6IHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MueWFtbAppbmRleCAzMzViNzhhZWQ2MzIzZDEwODE4NjU1YmRjYjQ4YWQ4Y2Ux
NzVlMWI1Li5lZmJjNjM1ZTMyYTZmYjAzMGFiZTk5NmZhOTU5MGFlNmMyN2UwMzk0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy55YW1sCkBAIC0xMTgsNiArMTE4LDggQEAgc2hvdWxkUHJpbnRCYWNr
Z3JvdW5kczoKIGNsaXBib2FyZEFjY2Vzc1BvbGljeToKICAgdHlwZTogQ2xpcGJvYXJkQWNjZXNz
UG9saWN5CiAgIGluaXRpYWw6IENsaXBib2FyZEFjY2Vzc1BvbGljeTo6UmVxdWlyZXNVc2VyR2Vz
dHVyZQorYXN5bmNDbGlwYm9hcmRBUElFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQogCiB0ZXh0
QXJlYXNBcmVSZXNpemFibGU6CiAgIGluaXRpYWw6IGZhbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCBiYjg4OTY3OTQ2N2VmYmYxMzRlMmU3MWY1YTI3NjI0
MTBkNWI2MjVmLi4zNGRkYmJjZmFhNmJjZDZmYWQxYzMzOWY0OTFhMWZkMDYwZmY4NGQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAgLTg0Niw2ICs4NDYsMTMg
QEAgQ3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkOgogICBodW1hblJlYWRhYmxlRGVzY3JpcHRp
b246ICJFbmFibGUgY3VzdG9tIGNsaXBib2FyZCB0eXBlcyBhbmQgYmV0dGVyIHNlY3VyaXR5IG1v
ZGVsIGZvciBjbGlwYm9hcmQgQVBJLiIKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXMKIAorQXN5bmNDbGlwYm9hcmRBUElFbmFibGVkOgorICB0eXBlOiBib29sCisgIGRl
ZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJBc3luYyBjbGlwYm9hcmQg
QVBJIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgdGhlIGFzeW5jIGNsaXBi
b2FyZCBBUEkiCisgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKKwogV2ViU2hhcmVFbmFibGVkOgog
ICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9XRUJfU0hBUkVfRU5BQkxFRApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDNhNzY1MTcxODE4ZGIxMDI4NDM3NDE0MmQ0MjgzZTY1YjQ5MWQ3ZGIuLjFhOWQwODQ3
NzMzY2M0YjZhMzA2N2FhY2NkZDc3MmQ4OThjYjRhM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAor
MjAxOS0xMC0wNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAg
ICAgICBbQ2xpcGJvYXJkIEFQSV0gSW50cm9kdWNlIGJpbmRpbmdzIGZvciB0aGUgYXN5bmMgQ2xp
cGJvYXJkIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjAyNjIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NjAzODEyNj4KKworICAgICAgICBS
ZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBlZGl0aW5nL2FzeW5jLWNsaXBi
b2FyZC9jbGlwYm9hcmQtaW50ZXJmYWNlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pbnRlcmZhY2VzLmh0bWw6IEFkZGVk
LgorCisgICAgICAgIEFkZCBhIG5ldyB0ZXN0IHRvIHNhbml0eSBjaGVjayB0aGUgbmV3IGNsaXBi
b2FyZCBBUEkgaW50ZXJmYWNlcyBhbmQgaW50ZXJmYWNlIGV4dGVuc2lvbnMuCisKKyAgICAgICAg
KiBlZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtd3JhcHBlci1zdGF5cy1hbGl2ZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2Ns
aXBib2FyZC13cmFwcGVyLXN0YXlzLWFsaXZlLmh0bWw6IEFkZGVkLgorCisgICAgICAgIEFkZCBh
IG5ldyB0ZXN0IHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBjbGlwYm9hcmQgd3JhcHBlciBzdGF5cyBh
bGl2ZSBiZXR3ZWVuIEdDIHBhc3NlcywgZXZlbiB3aGVuIHRoZSBjbGlwYm9hcmQncworICAgICAg
ICBuYXZpZ2F0b3IgaXMga2VwdCBhbGl2ZSwgaW5kZXBlbmRlbnRseSBvZiBpdHMgd2luZG93IG9i
amVjdC4KKworICAgICAgICAqIGZhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMS9UZXN0RXhwZWN0YXRpb25z
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy1oaWdoc2llcnJhL2Zhc3QvZG9tL25hdmlnYXRvci1k
ZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdr
MS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvZmFzdC9kb20v
bmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5v
LWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9mYXN0L2Rv
bS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0OgorCisgICAgICAgIFVw
ZGF0ZSBhbiBleGlzdGluZyBsYXlvdXQgdGVzdCB0byBpbmNsdWRlICJuYXZpZ2F0b3IuY2xpcGJv
YXJkIi4KKwogMjAxOS0xMC0wNyAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgog
CiAgICAgICAgIE9ubHkgd3JhcHBpbmcgQ3J5cHRvS2V5cyBmb3IgSURCIGR1cmluZyBzZXJpYWxp
emF0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9j
bGlwYm9hcmQtaW50ZXJmYWNlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Fz
eW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTljNTBhMWJkNDQ1ZGQ2MmI3MTlhYjJlZjQxZWJiZWRlZjY3ZTY5ZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC1pbnRl
cmZhY2VzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUxIEBACitUZXN0cyB0aGUgaW50ZXJmYWNl
cyBvZiB0aGUgYXN5bmMgY2xpcGJvYXJkIEFQSSwgd2hpY2ggaW5jbHVkZSBDbGlwYm9hcmQsIENs
aXBib2FyZEl0ZW0sIGFuZCBleHRlbnNpb25zIHRvIE5hdmlnYXRvci4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKKworVGVzdGluZyBDbGlwYm9hcmQ6CitQQVNTIENsaXBib2FyZCBp
bnN0YW5jZW9mIEZ1bmN0aW9uIGlzIHRydWUKK1BBU1MgdHlwZW9mIENsaXBib2FyZCBpcyAiZnVu
Y3Rpb24iCitQQVNTIG5hdmlnYXRvci5jbGlwYm9hcmQgaW5zdGFuY2VvZiBDbGlwYm9hcmQgaXMg
dHJ1ZQorUEFTUyBPYmplY3QuZ2V0UHJvdG90eXBlT2YobmF2aWdhdG9yLmNsaXBib2FyZCkgPT09
IENsaXBib2FyZC5wcm90b3R5cGUgaXMgdHJ1ZQorUEFTUyBDbGlwYm9hcmQucHJvdG90eXBlLnJl
YWRUZXh0IGluc3RhbmNlb2YgRnVuY3Rpb24gaXMgdHJ1ZQorUEFTUyBDbGlwYm9hcmQucHJvdG90
eXBlLndyaXRlVGV4dCBpbnN0YW5jZW9mIEZ1bmN0aW9uIGlzIHRydWUKK1BBU1MgQ2xpcGJvYXJk
LnByb3RvdHlwZS5yZWFkIGluc3RhbmNlb2YgRnVuY3Rpb24gaXMgdHJ1ZQorUEFTUyBDbGlwYm9h
cmQucHJvdG90eXBlLndyaXRlIGluc3RhbmNlb2YgRnVuY3Rpb24gaXMgdHJ1ZQorUEFTUyBDbGlw
Ym9hcmQoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBJbGxlZ2FsIGNvbnN0cnVjdG9yLgor
UEFTUyBuZXcgQ2xpcGJvYXJkKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogZnVuY3Rpb24g
aXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBDbGlwYm9hcmQoKScpLgorUEFT
UyBDbGlwYm9hcmQudG9TdHJpbmcoKSBpcyAiZnVuY3Rpb24gQ2xpcGJvYXJkKCkge1xuICAgIFtu
YXRpdmUgY29kZV1cbn0iCitQQVNTIG5hdmlnYXRvci5jbGlwYm9hcmQudG9TdHJpbmcoKSBpcyAi
W29iamVjdCBDbGlwYm9hcmRdIgorUEFTUyBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCgn
Zm9vJykgaW5zdGFuY2VvZiBQcm9taXNlIGlzIHRydWUKK1BBU1MgbmF2aWdhdG9yLmNsaXBib2Fy
ZC53cml0ZShbIF0pIGluc3RhbmNlb2YgUHJvbWlzZSBpcyB0cnVlCitQQVNTIG5hdmlnYXRvci5j
bGlwYm9hcmQucmVhZCgpIGluc3RhbmNlb2YgUHJvbWlzZSBpcyB0cnVlCitQQVNTIG5hdmlnYXRv
ci5jbGlwYm9hcmQucmVhZFRleHQoKSBpbnN0YW5jZW9mIFByb21pc2UgaXMgdHJ1ZQorUEFTUyBu
YXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlKCkgcmVqZWN0ZWQgd2l0aCBUeXBlRXJyb3I6IE5vdCBl
bm91Z2ggYXJndW1lbnRzCitQQVNTIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KCkgcmVq
ZWN0ZWQgd2l0aCBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzCitQQVNTIG5hdmlnYXRv
ci5jbGlwYm9hcmQud3JpdGUoJ2ZvbycpIHJlamVjdGVkIHdpdGggVHlwZUVycm9yOiBWYWx1ZSBp
cyBub3QgYSBzZXF1ZW5jZQorUEFTUyBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlKFsxLCAyLCAz
XSkgcmVqZWN0ZWQgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IKK1BBU1MgbmF2aWdhdG9yLmNs
aXBib2FyZC53cml0ZShuZXcgQ2xpcGJvYXJkSXRlbSh7IH0pKSByZWplY3RlZCB3aXRoIFR5cGVF
cnJvcjogVHlwZSBlcnJvcgorCitUZXN0aW5nIENsaXBib2FyZEl0ZW06CitQQVNTIENsaXBib2Fy
ZEl0ZW0gaW5zdGFuY2VvZiBGdW5jdGlvbiBpcyB0cnVlCitQQVNTIHR5cGVvZiBDbGlwYm9hcmRJ
dGVtIGlzICJmdW5jdGlvbiIKK1BBU1MgQ2xpcGJvYXJkSXRlbS5wcm90b3R5cGUuZ2V0VHlwZSBp
bnN0YW5jZW9mIEZ1bmN0aW9uIGlzIHRydWUKK1BBU1MgQ2xpcGJvYXJkSXRlbSgpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IENvbnN0cnVjdG9yIHJlcXVpcmVzICduZXcnIG9wZXJhdG9yLgor
UEFTUyBuZXcgQ2xpcGJvYXJkSXRlbSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBl
bm91Z2ggYXJndW1lbnRzLgorUEFTUyBuZXcgQ2xpcGJvYXJkSXRlbSgnZm9vJykgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgbmV3IENsaXBib2FyZEl0ZW0oeyB9
KSBpbnN0YW5jZW9mIENsaXBib2FyZEl0ZW0gaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0UHJvdG90
eXBlT2YobmV3IENsaXBib2FyZEl0ZW0oeyB9KSkgPT09IENsaXBib2FyZEl0ZW0ucHJvdG90eXBl
IGlzIHRydWUKK1BBU1MgbmV3IENsaXBib2FyZEl0ZW0oeyB9KS50eXBlcyBpbnN0YW5jZW9mIEFy
cmF5IGlzIHRydWUKK1BBU1MgQ2xpcGJvYXJkSXRlbS50b1N0cmluZygpIGlzICJmdW5jdGlvbiBD
bGlwYm9hcmRJdGVtKCkge1xuICAgIFtuYXRpdmUgY29kZV1cbn0iCitQQVNTIG5ldyBDbGlwYm9h
cmRJdGVtKHsgfSkudG9TdHJpbmcoKSBpcyAiW29iamVjdCBDbGlwYm9hcmRJdGVtXSIKK1BBU1Mg
bmV3IENsaXBib2FyZEl0ZW0oeyB9LCB7IGZvbzogJ2F0dGFjaG1lbnQnIH0pLnByZXNlbnRhdGlv
blN0eWxlIGlzICJ1bnNwZWNpZmllZCIKK1BBU1MgbmV3IENsaXBib2FyZEl0ZW0oeyB9LCB7IHBy
ZXNlbnRhdGlvblN0eWxlOiAnQXR0YUNIbWVuVCcgfSkucHJlc2VudGF0aW9uU3R5bGUgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgbmV3IENsaXBib2FyZEl0ZW0o
eyB9LCB7IHByZXNlbnRhdGlvblN0eWxlOiAndW5zcGVjaWZpZWQnIH0pLnByZXNlbnRhdGlvblN0
eWxlIGlzICJ1bnNwZWNpZmllZCIKK1BBU1MgbmV3IENsaXBib2FyZEl0ZW0oeyB9LCB7IHByZXNl
bnRhdGlvblN0eWxlOiAnYXR0YWNobWVudCcgfSkucHJlc2VudGF0aW9uU3R5bGUgaXMgImF0dGFj
aG1lbnQiCitQQVNTIG5ldyBDbGlwYm9hcmRJdGVtKHsgfSwgeyBwcmVzZW50YXRpb25TdHlsZTog
J2lubGluZScgfSkucHJlc2VudGF0aW9uU3R5bGUgaXMgImlubGluZSIKK1BBU1MgbmV3IENsaXBi
b2FyZEl0ZW0oeyB9LCAnaW5saW5lJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBl
cnJvci4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9h
cmQtaW50ZXJmYWNlcy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9hc3luYy1jbGlwYm9hcmQv
Y2xpcGJvYXJkLWludGVyZmFjZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NWEyNjc2ODIxNDhlM2VjNmQ3
MDU3MDE0M2UyMWRmM2VlZGI1NTU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRp
dGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLWludGVyZmFjZXMuaHRtbApAQCAtMCwwICsx
LDY4IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmlt
ZW50YWw6YXN5bmNDbGlwYm9hcmRBUElFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxo
ZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwv
c2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworICAgICAgICBhc3luYyBmdW5jdGlvbiBzaG91bGRSZWplY3Qoc2NyaXB0VG9F
dmFsdWF0ZSkKKyAgICAgICAgeworICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKGAke3NjcmlwdFRvRXZhbHVhdGV9IHJlc29sdmVkIHRvICR7YXdhaXQgZXZhbChz
Y3JpcHRUb0V2YWx1YXRlKX1gKTsKKyAgICAgICAgICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewor
ICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoYCR7c2NyaXB0VG9FdmFsdWF0ZX0gcmVqZWN0ZWQg
d2l0aCAke2V4Y2VwdGlvbn1gKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAg
IGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKQorICAgICAgICB7CisgICAgICAgICAgICBkZXNjcmlw
dGlvbigiVGVzdHMgdGhlIGludGVyZmFjZXMgb2YgdGhlIGFzeW5jIGNsaXBib2FyZCBBUEksIHdo
aWNoIGluY2x1ZGUgQ2xpcGJvYXJkLCBDbGlwYm9hcmRJdGVtLCBhbmQgZXh0ZW5zaW9ucyB0byBO
YXZpZ2F0b3IuIik7CisKKyAgICAgICAgICAgIGRlYnVnKCJcblRlc3RpbmcgQ2xpcGJvYXJkOiIp
OworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJDbGlwYm9hcmQgaW5zdGFuY2VvZiBGdW5jdGlv
biIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0eXBlb2YgQ2xpcGJvYXJk
IiwgImZ1bmN0aW9uIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIm5hdmlnYXRvci5jbGlw
Ym9hcmQgaW5zdGFuY2VvZiBDbGlwYm9hcmQiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgi
T2JqZWN0LmdldFByb3RvdHlwZU9mKG5hdmlnYXRvci5jbGlwYm9hcmQpID09PSBDbGlwYm9hcmQu
cHJvdG90eXBlIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIkNsaXBib2FyZC5wcm90b3R5
cGUucmVhZFRleHQgaW5zdGFuY2VvZiBGdW5jdGlvbiIpOworICAgICAgICAgICAgc2hvdWxkQmVU
cnVlKCJDbGlwYm9hcmQucHJvdG90eXBlLndyaXRlVGV4dCBpbnN0YW5jZW9mIEZ1bmN0aW9uIik7
CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIkNsaXBib2FyZC5wcm90b3R5cGUucmVhZCBpbnN0
YW5jZW9mIEZ1bmN0aW9uIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIkNsaXBib2FyZC5w
cm90b3R5cGUud3JpdGUgaW5zdGFuY2VvZiBGdW5jdGlvbiIpOworICAgICAgICAgICAgc2hvdWxk
VGhyb3coIkNsaXBib2FyZCgpIik7CisgICAgICAgICAgICBzaG91bGRUaHJvdygibmV3IENsaXBi
b2FyZCgpIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIkNsaXBib2FyZC50
b1N0cmluZygpIiwgImZ1bmN0aW9uIENsaXBib2FyZCgpIHtcbiAgICBbbmF0aXZlIGNvZGVdXG59
Iik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5hdmlnYXRvci5jbGlwYm9h
cmQudG9TdHJpbmcoKSIsICJbb2JqZWN0IENsaXBib2FyZF0iKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlVHJ1ZSgibmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoJ2ZvbycpIGluc3RhbmNlb2Yg
UHJvbWlzZSIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJuYXZpZ2F0b3IuY2xpcGJvYXJk
LndyaXRlKFsgXSkgaW5zdGFuY2VvZiBQcm9taXNlIik7CisgICAgICAgICAgICBzaG91bGRCZVRy
dWUoIm5hdmlnYXRvci5jbGlwYm9hcmQucmVhZCgpIGluc3RhbmNlb2YgUHJvbWlzZSIpOworICAg
ICAgICAgICAgc2hvdWxkQmVUcnVlKCJuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWRUZXh0KCkgaW5z
dGFuY2VvZiBQcm9taXNlIik7CisgICAgICAgICAgICBhd2FpdCBzaG91bGRSZWplY3QoIm5hdmln
YXRvci5jbGlwYm9hcmQud3JpdGUoKSIpOworICAgICAgICAgICAgYXdhaXQgc2hvdWxkUmVqZWN0
KCJuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCgpIik7CisgICAgICAgICAgICBhd2FpdCBz
aG91bGRSZWplY3QoIm5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUoJ2ZvbycpIik7CisgICAgICAg
ICAgICBhd2FpdCBzaG91bGRSZWplY3QoIm5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUoWzEsIDIs
IDNdKSIpOworICAgICAgICAgICAgYXdhaXQgc2hvdWxkUmVqZWN0KCJuYXZpZ2F0b3IuY2xpcGJv
YXJkLndyaXRlKG5ldyBDbGlwYm9hcmRJdGVtKHsgfSkpIik7CisKKyAgICAgICAgICAgIGRlYnVn
KCJcblRlc3RpbmcgQ2xpcGJvYXJkSXRlbToiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgi
Q2xpcGJvYXJkSXRlbSBpbnN0YW5jZW9mIEZ1bmN0aW9uIik7CisgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInR5cGVvZiBDbGlwYm9hcmRJdGVtIiwgImZ1bmN0aW9uIik7CisgICAg
ICAgICAgICBzaG91bGRCZVRydWUoIkNsaXBib2FyZEl0ZW0ucHJvdG90eXBlLmdldFR5cGUgaW5z
dGFuY2VvZiBGdW5jdGlvbiIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3coIkNsaXBib2FyZEl0
ZW0oKSIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3coIm5ldyBDbGlwYm9hcmRJdGVtKCkiKTsK
KyAgICAgICAgICAgIHNob3VsZFRocm93KCJuZXcgQ2xpcGJvYXJkSXRlbSgnZm9vJykiKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlVHJ1ZSgibmV3IENsaXBib2FyZEl0ZW0oeyB9KSBpbnN0YW5jZW9m
IENsaXBib2FyZEl0ZW0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiT2JqZWN0LmdldFBy
b3RvdHlwZU9mKG5ldyBDbGlwYm9hcmRJdGVtKHsgfSkpID09PSBDbGlwYm9hcmRJdGVtLnByb3Rv
dHlwZSIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJuZXcgQ2xpcGJvYXJkSXRlbSh7IH0p
LnR5cGVzIGluc3RhbmNlb2YgQXJyYXkiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiQ2xpcGJvYXJkSXRlbS50b1N0cmluZygpIiwgImZ1bmN0aW9uIENsaXBib2FyZEl0ZW0o
KSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJuZXcgQ2xpcGJvYXJkSXRlbSh7IH0pLnRvU3RyaW5nKCkiLCAiW29iamVjdCBDbGlw
Ym9hcmRJdGVtXSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQ2xp
cGJvYXJkSXRlbSh7IH0sIHsgZm9vOiAnYXR0YWNobWVudCcgfSkucHJlc2VudGF0aW9uU3R5bGUi
LCAidW5zcGVjaWZpZWQiKTsKKyAgICAgICAgICAgIHNob3VsZFRocm93KCJuZXcgQ2xpcGJvYXJk
SXRlbSh7IH0sIHsgcHJlc2VudGF0aW9uU3R5bGU6ICdBdHRhQ0htZW5UJyB9KS5wcmVzZW50YXRp
b25TdHlsZSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQ2xpcGJv
YXJkSXRlbSh7IH0sIHsgcHJlc2VudGF0aW9uU3R5bGU6ICd1bnNwZWNpZmllZCcgfSkucHJlc2Vu
dGF0aW9uU3R5bGUiLCAidW5zcGVjaWZpZWQiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygibmV3IENsaXBib2FyZEl0ZW0oeyB9LCB7IHByZXNlbnRhdGlvblN0eWxlOiAnYXR0
YWNobWVudCcgfSkucHJlc2VudGF0aW9uU3R5bGUiLCAiYXR0YWNobWVudCIpOworICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgQ2xpcGJvYXJkSXRlbSh7IH0sIHsgcHJlc2Vu
dGF0aW9uU3R5bGU6ICdpbmxpbmUnIH0pLnByZXNlbnRhdGlvblN0eWxlIiwgImlubGluZSIpOwor
ICAgICAgICAgICAgc2hvdWxkVGhyb3coIm5ldyBDbGlwYm9hcmRJdGVtKHsgfSwgJ2lubGluZScp
Iik7CisKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHkgb25sb2FkPXJ1blRlc3QoKT48L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNsaXBib2FyZC9jbGlwYm9hcmQtd3JhcHBl
ci1zdGF5cy1hbGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2FzeW5jLWNs
aXBib2FyZC9jbGlwYm9hcmQtd3JhcHBlci1zdGF5cy1hbGl2ZS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjFhNzgwNmZjZGZiMDAzMmZlOGM3ZDA3MTYzYzUxMzFkNjFmZmVmZgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC13
cmFwcGVyLXN0YXlzLWFsaXZlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitWZXJpZmll
cyB0aGF0IHRoZSB3cmFwcGVyIGZvciBOYXZpZ2F0b3IncyBDbGlwYm9hcmQgcmVtYWlucyBjb25z
aXN0ZW50IGFjcm9zcyBHQyBwYXNzZXMuIFRoaXMgdGVzdCBtdXN0IGJlIHJ1biB1c2luZyBXZWJL
aXRUZXN0UnVubmVyLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBzdWJm
cmFtZU5hdmlnYXRvci5jbGlwYm9hcmQuZm9vIGlzICJiYXIiCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9hc3luYy1jbGlwYm9hcmQvY2xpcGJvYXJkLXdyYXBwZXItc3RheXMtYWxpdmUuaHRt
bCBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5bmMtY2xpcGJvYXJkL2NsaXBib2FyZC13cmFwcGVy
LXN0YXlzLWFsaXZlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzFmNTYxOGU2YmEzNGQ0Y2Q4Zjc5YTA4Yjg1
ZTNhY2VjODJhZmM5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvYXN5
bmMtY2xpcGJvYXJkL2NsaXBib2FyZC13cmFwcGVyLXN0YXlzLWFsaXZlLmh0bWwKQEAgLTAsMCAr
MSwyOSBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJp
bWVudGFsOmFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8
aGVhZD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAganNUZXN0SXNBc3lu
YyA9IHRydWU7CisKKyAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGFzeW5jIGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oIlZlcmlmaWVzIHRoYXQgdGhlIHdyYXBw
ZXIgZm9yIE5hdmlnYXRvcidzIENsaXBib2FyZCByZW1haW5zIGNvbnNpc3RlbnQgYWNyb3NzIEdD
IHBhc3Nlcy4gVGhpcyB0ZXN0IG11c3QgYmUgcnVuIHVzaW5nIFdlYktpdFRlc3RSdW5uZXIuIik7
CisKKyAgICAgICAgICAgIHN1YmZyYW1lID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaWZyYW1l
Iik7CisgICAgICAgICAgICBzdWJmcmFtZU5hdmlnYXRvciA9IHN1YmZyYW1lLmNvbnRlbnRXaW5k
b3cubmF2aWdhdG9yOworICAgICAgICAgICAgc3ViZnJhbWVOYXZpZ2F0b3IuY2xpcGJvYXJkLmZv
byA9ICJiYXIiOworICAgICAgICAgICAgc3ViZnJhbWUucmVtb3ZlKCk7CisgICAgICAgICAgICBz
dWJmcmFtZSA9IG51bGw7CisKKyAgICAgICAgICAgIGlmICh3aW5kb3cuR0NDb250cm9sbGVyKQor
ICAgICAgICAgICAgICAgIEdDQ29udHJvbGxlci5jb2xsZWN0KCk7CisKKyAgICAgICAgICAgIGF3
YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCA1MCkpOworICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzdWJmcmFtZU5hdmlnYXRvci5jbGlwYm9h
cmQuZm9vIiwgImJhciIpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0p
OworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8aWZyYW1lIHNyY2RvYz0iSGVs
bG8gd29ybGQiPjwvaWZyYW1lPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhw
ZWN0ZWQudHh0CmluZGV4IGYyZjYzZTg1NjUwZDYyMWM0NmExNzAxYWQyNTdkMmQ0MmY4NzY3M2Yu
LjI3ZmJiZWExYTQxOWYxZDFmZTNmNDZlMWQyYTYzNGRjNTEzY2IwZjMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNo
LWV4cGVjdGVkLnR4dApAQCAtNSw2ICs1LDcgQEAgVGhpcyB0ZXN0cyB0aGF0IHRoZSBuYXZpZ2F0
b3Igb2JqZWN0IG9mIGEgZGVsZXRlZCBmcmFtZSBpcyBkaXNjb25uZWN0ZWQgcHJvcGVybHkKIG5h
dmlnYXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5hdmln
YXRvci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0
b3IuY29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9yLmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZp
Z2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwpAQCAtMzEsNiArMzIsNyBAQCBuYXZpZ2F0
b3Iud2ViZHJpdmVyIGlzIE9LCiBuYXZpZ2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sKIG5hdmlnYXRv
ci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2aWdhdG9yLmNs
aXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5hdmlnYXRvci5j
cmVkZW50aWFscyBpcyBPSwogbmF2aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkgaXMgT0sKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1NTcw
NDJhNTc1NjgxOTdhMDFhMWM4YmRlZjJlODMwNDQ2NTZmMDkxLi4wNmVkNzRhN2RkMjFhZTgwZWJj
ZmIzYjA2ZGM1ODE3OWVlNTFjMjk4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdr
MS9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNSw2ICsxNSw5IEBAIGh0dHAvdGVzdHMvbmF2aWdhdGlv
bi9wYWdlLWNhY2hlLWRvbWNhY2hlLXBlbmRpbmctcHJvbWlzZS5odG1sIFsgU2tpcCBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXF1ZXN0L2Rlc3RpbmF0aW9u
IFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2Nyb3NzLW9y
aWdpbi1yZXNvdXJjZS1wb2xpY3kgWyBTa2lwIF0KIAorIyBBc3luYyBDbGlwYm9hcmQgQVBJIGlz
IG5vdCBzdXBwb3J0ZWQgaW4gV2ViS2l0MSB5ZXQuCit3ZWJraXQub3JnL2IvMjAyNjU0IGVkaXRp
bmcvYXN5bmMtY2xpcGJvYXJkIFsgU2tpcCBdCisKICMgU2tpcCBXZWJSVEMgZm9yIG5vdyBpbiBX
SzEKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjIFsgU2tpcCBdCiB3ZWJy
dGMgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1oaWdoc2ll
cnJhL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtaGlnaHNpZXJyYS9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0
YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4IDg1MDgwNzYwNzU1ZTBiZDUwMDU5Yzg3
N2ZkZWJjMmU3NDM2NDczYmUuLjI4NWIxZTdhY2Q1MDAwNTE5NWIwZDhlODVjMTllYzk4MjdlOTM1
NDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1oaWdoc2llcnJhL2Zhc3Qv
ZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLWhpZ2hzaWVycmEvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVk
LW5vLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtNCw2ICs0LDcgQEAgVGhpcyB0ZXN0cyB0aGF0IHRo
ZSBuYXZpZ2F0b3Igb2JqZWN0IG9mIGEgZGVsZXRlZCBmcmFtZSBpcyBkaXNjb25uZWN0ZWQgcHJv
cGVybHkKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMg
T0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9L
CiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9yLmNyZWRlbnRpYWxzIGlz
IE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwpAQCAtMjgsNiArMjksNyBA
QCBuYXZpZ2F0b3Iud2ViZHJpdmVyIGlzIE9LCiBuYXZpZ2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sK
IG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2
aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5h
dmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwogbmF2aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkg
aXMgT0sKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpp
bmRleCBmM2Y4YjhhNzE0OWUxOWY0N2ViZTFiYWNhNWY3OTEyYmI1ZjIyYTZjLi4yZDc5YjFkMDMy
OThkMmRkZWJhMmYwNzNiNjM1OWIzNjBhNGNiMjcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC00NCw2ICs0NCw5IEBAIGNzcy1jdXN0b20t
cHJvcGVydGllcy1hcGkgWyBTa2lwIF0KIGNzcy10eXBlZG9tIFsgU2tpcCBdCiBjc3MtZGFyay1t
b2RlIFsgU2tpcCBdCiAKKyMgQXN5bmMgQ2xpcGJvYXJkIEFQSSBpcyBub3Qgc3VwcG9ydGVkIGlu
IFdlYktpdDEgeWV0Lgord2Via2l0Lm9yZy9iLzIwMjY1NCBlZGl0aW5nL2FzeW5jLWNsaXBib2Fy
ZCBbIFNraXAgXQorCiB3ZWJncHUgWyBTa2lwIF0KIGluc3BlY3Rvci9jYW52YXMvY3JlYXRlLWNv
bnRleHQtd2ViZ3B1Lmh0bWwgWyBTa2lwIF0KIGluc3BlY3Rvci9jYW52YXMvcmVxdWVzdENsaWVu
dE5vZGVzLXdlYmdwdS5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZG9tL25hdmlnYXRvci1k
ZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggM2NmMGRiMmJkODE4YzdlZDA3OTAy
OTdkNTIxYTViNTM1NDBmZDlmOC4uMzQxMjg0MDE3YjQyNzQ0ZDFiZDExYjU5ZDYyYTE4NWYyZDcw
ZGM5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2RvbS9u
YXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azIvZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4
cGVjdGVkLnR4dApAQCAtNSw2ICs1LDcgQEAgVGhpcyB0ZXN0cyB0aGF0IHRoZSBuYXZpZ2F0b3Ig
b2JqZWN0IG9mIGEgZGVsZXRlZCBmcmFtZSBpcyBkaXNjb25uZWN0ZWQgcHJvcGVybHkKIG5hdmln
YXRvci5hcHBDb2RlTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRv
ci5hcHBWZXJzaW9uIGlzIE9LCituYXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3Iu
Y29va2llRW5hYmxlZCBpcyBPSwogbmF2aWdhdG9yLmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0
b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwpAQCAtMzEsNiArMzIsNyBAQCBuYXZpZ2F0b3Iu
d2ViZHJpdmVyIGlzIE9LCiBuYXZpZ2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5h
cHBOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2aWdhdG9yLmNsaXBi
b2FyZCBpcyBPSwogbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5hdmlnYXRvci5jcmVk
ZW50aWFscyBpcyBPSwogbmF2aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkgaXMgT0sKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNo
ZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
ZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggMzMzZWM5
NjA4ZDhkNGRmNTdjMWZmMGYyZDdlNGUyNTM3OGJhMzczZi4uZmYxYzUyMWQxMDEwODA2ZTkwZDU3
MDVkZTQ0MzI0MzI0MzdhZjljYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1j
cmFzaC1leHBlY3RlZC50eHQKQEAgLTQsNiArNCw3IEBAIFRoaXMgdGVzdHMgdGhhdCB0aGUgbmF2
aWdhdG9yIG9iamVjdCBvZiBhIGRlbGV0ZWQgZnJhbWUgaXMgZGlzY29ubmVjdGVkIHByb3Blcmx5
CiBuYXZpZ2F0b3IuYXBwQ29kZU5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBOYW1lIGlzIE9LCiBu
YXZpZ2F0b3IuYXBwVmVyc2lvbiBpcyBPSworbmF2aWdhdG9yLmNsaXBib2FyZCBpcyBPSwogbmF2
aWdhdG9yLmNvb2tpZUVuYWJsZWQgaXMgT0sKIG5hdmlnYXRvci5jcmVkZW50aWFscyBpcyBPSwog
bmF2aWdhdG9yLmdldFN0b3JhZ2VVcGRhdGVzKCkgaXMgT0sKQEAgLTI3LDYgKzI4LDcgQEAgbmF2
aWdhdG9yLndlYmRyaXZlciBpcyBPSwogbmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9LCiBuYXZp
Z2F0b3IuYXBwTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25hdmlnYXRv
ci5jbGlwYm9hcmQgaXMgT0sKIG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBuYXZpZ2F0
b3IuY3JlZGVudGlhbHMgaXMgT0sKIG5hdmlnYXRvci5nZXRTdG9yYWdlVXBkYXRlcygpIGlzIE9L
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC9kb20vbmF2aWdhdG9y
LWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CmluZGV4
IDljY2NlYWM1OTMyNTA0ZDFiN2ExMGIxZmM5MTVlZjNlNWMxNTllZTMuLjIxODhlZmE3ZjMyYzk0
ZjdjMzg5NmM0YjE3N2RhNTk3MzNmNjAzODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNo
ZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC00LDYgKzQsNyBAQCBUaGlzIHRlc3RzIHRoYXQg
dGhlIG5hdmlnYXRvciBvYmplY3Qgb2YgYSBkZWxldGVkIGZyYW1lIGlzIGRpc2Nvbm5lY3RlZCBw
cm9wZXJseQogbmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwTmFtZSBp
cyBPSwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25hdmlnYXRvci5jbGlwYm9hcmQgaXMg
T0sKIG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBuYXZpZ2F0b3IuY3JlZGVudGlhbHMg
aXMgT0sKIG5hdmlnYXRvci5nZXRTdG9yYWdlVXBkYXRlcygpIGlzIE9LCkBAIC0yNCw2ICsyNSw3
IEBAIG5hdmlnYXRvci53ZWJkcml2ZXIgaXMgT0sKIG5hdmlnYXRvci5hcHBDb2RlTmFtZSBpcyBP
SwogbmF2aWdhdG9yLmFwcE5hbWUgaXMgT0sKIG5hdmlnYXRvci5hcHBWZXJzaW9uIGlzIE9LCitu
YXZpZ2F0b3IuY2xpcGJvYXJkIGlzIE9LCiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCBpcyBPSwog
bmF2aWdhdG9yLmNyZWRlbnRpYWxzIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMo
KSBpcyBPSwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vZmFzdC9k
b20vbmF2aWdhdG9yLWRldGFjaGVkLW5vLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbmNhaXJvL2Zhc3QvZG9tL25hdmlnYXRvci1kZXRhY2hlZC1uby1jcmFzaC1l
eHBlY3RlZC50eHQKaW5kZXggYjNiMjUyZmRlN2UwOTY1MzM5ODI2NGVmZDVlMGM4YzcwODhmNjQ1
Ny4uZDE5YzU3NmE1MTdmYjJhMzJhY2JlOGUzZmM0NzdhN2QxZGFiMGYxMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vZmFzdC9kb20vbmF2aWdhdG9yLWRldGFjaGVk
LW5vLWNyYXNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWly
by9mYXN0L2RvbS9uYXZpZ2F0b3ItZGV0YWNoZWQtbm8tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0z
LDYgKzMsNyBAQCBUaGlzIHRlc3RzIHRoYXQgdGhlIG5hdmlnYXRvciBvYmplY3Qgb2YgYSBkZWxl
dGVkIGZyYW1lIGlzIGRpc2Nvbm5lY3RlZCBwcm9wZXJseQogbmF2aWdhdG9yLmFwcENvZGVOYW1l
IGlzIE9LCiBuYXZpZ2F0b3IuYXBwTmFtZSBpcyBPSwogbmF2aWdhdG9yLmFwcFZlcnNpb24gaXMg
T0sKK25hdmlnYXRvci5jbGlwYm9hcmQgaXMgT0sKIG5hdmlnYXRvci5jb29raWVFbmFibGVkIGlz
IE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMoKSBpcyBPSwogbmF2aWdhdG9yLmphdmFF
bmFibGVkKCkgaXMgT0sKQEAgLTIxLDYgKzIyLDcgQEAgbmF2aWdhdG9yLndlYmRyaXZlciBpcyBP
SwogbmF2aWdhdG9yLmFwcENvZGVOYW1lIGlzIE9LCiBuYXZpZ2F0b3IuYXBwTmFtZSBpcyBPSwog
bmF2aWdhdG9yLmFwcFZlcnNpb24gaXMgT0sKK25hdmlnYXRvci5jbGlwYm9hcmQgaXMgT0sKIG5h
dmlnYXRvci5jb29raWVFbmFibGVkIGlzIE9LCiBuYXZpZ2F0b3IuZ2V0U3RvcmFnZVVwZGF0ZXMo
KSBpcyBPSwogbmF2aWdhdG9yLmphdmFFbmFibGVkKCkgaXMgT0sK
</data>

          </attachment>
      

    </bug>

</bugzilla>