<?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>193109</bug_id>
          
          <creation_ts>2019-01-03 09:06:45 -0800</creation_ts>
          <short_desc>Introduce IDL files for runtime-enabled UndoManager and UndoItem JavaScript API</short_desc>
          <delta_ts>2019-01-11 10:30:10 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>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>
          <dependson>193328</dependson>
          <blocked>193111</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>mitz</cc>
    
    <cc>rniwa</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1491442</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-03 09:06:45 -0800</bug_when>
    <thetext>Work towards &lt;rdar://problem/44807048&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1491527</commentid>
    <comment_count>1</comment_count>
      <attachid>358282</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-03 15:47:40 -0800</bug_when>
    <thetext>Created attachment 358282
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493523</commentid>
    <comment_count>2</comment_count>
      <attachid>358847</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-10 16:17:43 -0800</bug_when>
    <thetext>Created attachment 358847
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493567</commentid>
    <comment_count>3</comment_count>
      <attachid>358847</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-10 19:40:45 -0800</bug_when>
    <thetext>Comment on attachment 358847
Patch

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

&gt; Source/WebCore/page/UndoItem.idl:35
&gt; +    Constructor(DOMString label, UndoItemInit initDict)

We might wanna consider making label simply an attribute of UndoItemInit.

&gt; Source/WebCore/page/UndoManager.h:37
&gt; +class UndoManager : public RefCounted&lt;UndoManager&gt; {
&gt; +public:

Maybe make it fast allocated &amp; iso-heaped?

&gt; Source/WebCore/page/UndoManager.h:43
&gt; +    virtual ~UndoManager() = default;

I don&apos;t think we need this.
Just add ImplementationLacksVTable to IDL.

&gt; Source/WebCore/page/UndoManager.idl:27
&gt; +    EnabledAtRuntime=UndoManagerAPI

Add GenerateIsReachable=ImplDocument. Add a test if possible too.

&gt; LayoutTests/ChangeLog:13
&gt; +        * editing/undo/UndoManager/undo-manager-interfaces-expected.txt: Added.
&gt; +        * editing/undo/UndoManager/undo-manager-interfaces.html: Added.

Why don&apos;t we just add it to editing/undo-manager/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493568</commentid>
    <comment_count>4</comment_count>
      <attachid>358847</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-10 19:52:08 -0800</bug_when>
    <thetext>Comment on attachment 358847
Patch

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

&gt; Source/WebCore/page/UndoItem.idl:34
&gt; +    EnabledAtRuntime=UndoManagerAPI,

In the future, you&apos;d need to add JSCustomMarkFunction here,
then in JSUndoManagerCustom.cpp you need to invoke wrapped().callback().visitJSFunction in JSMutationObserver::visitAdditionalChildren.
Then you have to make these objects reachable from the document/frame...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493604</commentid>
    <comment_count>5</comment_count>
      <attachid>358847</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-10 21:11:14 -0800</bug_when>
    <thetext>Comment on attachment 358847
Patch

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

Thanks for the review!

&gt;&gt; Source/WebCore/page/UndoItem.idl:34
&gt;&gt; +    EnabledAtRuntime=UndoManagerAPI,
&gt; 
&gt; In the future, you&apos;d need to add JSCustomMarkFunction here,
&gt; then in JSUndoManagerCustom.cpp you need to invoke wrapped().callback().visitJSFunction in JSMutationObserver::visitAdditionalChildren.
&gt; Then you have to make these objects reachable from the document/frame...

Sounds good — I&apos;ll augment the next patch (for addItem support) with this change.

&gt;&gt; Source/WebCore/page/UndoItem.idl:35
&gt;&gt; +    Constructor(DOMString label, UndoItemInit initDict)
&gt; 
&gt; We might wanna consider making label simply an attribute of UndoItemInit.

Ok! I moved the label attribute into UndoItemInit.

&gt;&gt; Source/WebCore/page/UndoManager.h:37
&gt;&gt; +public:
&gt; 
&gt; Maybe make it fast allocated &amp; iso-heaped?

👍

(Also did this to UndoItem)

&gt;&gt; Source/WebCore/page/UndoManager.h:43
&gt;&gt; +    virtual ~UndoManager() = default;
&gt; 
&gt; I don&apos;t think we need this.
&gt; Just add ImplementationLacksVTable to IDL.

👍

(I also fixed this for UndoItem)

&gt;&gt; LayoutTests/ChangeLog:13
&gt;&gt; +        * editing/undo/UndoManager/undo-manager-interfaces.html: Added.
&gt; 
&gt; Why don&apos;t we just add it to editing/undo-manager/

👍</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493609</commentid>
    <comment_count>6</comment_count>
      <attachid>358847</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-10 21:34:33 -0800</bug_when>
    <thetext>Comment on attachment 358847
Patch

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

&gt;&gt; Source/WebCore/page/UndoManager.idl:27
&gt;&gt; +    EnabledAtRuntime=UndoManagerAPI
&gt; 
&gt; Add GenerateIsReachable=ImplDocument. Add a test if possible too.

👍 Fixed, and also added a test to verify that the wrapper survives GC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493611</commentid>
    <comment_count>7</comment_count>
      <attachid>358873</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-10 21:43:44 -0800</bug_when>
    <thetext>Created attachment 358873
Patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493695</commentid>
    <comment_count>8</comment_count>
      <attachid>358873</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-11 10:17:56 -0800</bug_when>
    <thetext>Comment on attachment 358873
Patch for EWS

It looks like commit queue is unresponsive :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493698</commentid>
    <comment_count>9</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-11 10:30:10 -0800</bug_when>
    <thetext>Committed &lt;https://trac.webkit.org/changeset/239864/webkit&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358282</attachid>
            <date>2019-01-03 15:47:40 -0800</date>
            <delta_ts>2019-01-09 22:47:32 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-193109-20190103154740.patch</filename>
            <type>text/plain</type>
            <size>48722</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGMxZjhkOTgyY2M4Mzk0
OTQwNzM0NzI4MDUyYWQ4MDA0ZGY2ZmE2OS4uYTZkMDVhM2I2NWFjNzdhNmRkNjcxNWE4MjExMjM1
NmQ3NThhMGFlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc1IEBACisyMDE5LTAxLTAzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEludHJvZHVjZSBJ
REwgZmlsZXMgZm9yIHJ1bnRpbWUtZW5hYmxlZCBVbmRvTWFuYWdlciBhbmQgVW5kb0l0ZW0gSmF2
YVNjcmlwdCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5MzEwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ4MDcwNDg+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBuZXcgSURMIGZpbGVz
IGFuZCBzdHVicyBmb3IgVW5kb01hbmFnZXIgYW5kIFVuZG9JdGVtLiBUaGlzIGlzIGFuIGV4cGVy
aW1lbnRhbCBET00gQVBJIHRoYXQgKGluIHRoZSBuZWFyCisgICAgICAgIGZ1dHVyZSkgaXMgaW50
ZW5kZWQgb25seSBmb3IgdXNlIGluIGludGVybmFsIFdlYktpdCB0ZXh0IGVkaXRpbmcgY2xpZW50
cy4gVGhpcyBBUEkgYWxsb3dzIHRoZSBwYWdlIHRvCisgICAgICAgIHBhcnRpY2lwYXRlIGluIHRo
ZSBwcm9jZXNzZXMgb2YgdW5kb2luZyBhbmQgcmVkb2luZyBieSBkZWZpbmluZyBjdXN0b20gdW5k
byBhbmQgcmVkbyBoYW5kbGVycywgdG8gYmUgZXhlY3V0ZWQKKyAgICAgICAgd2hlbiB1bmRvIG9y
IHJlZG8gaXMgdHJpZ2dlcmVkLgorCisgICAgICAgIFRlc3RzOiBlZGl0aW5nL3VuZG8vVW5kb01h
bmFnZXIvdW5kby1tYW5hZ2VyLWJhc2ljLXVuZG8tcmVkby5odG1sCisgICAgICAgICAgICAgICBl
ZGl0aW5nL3VuZG8vVW5kb01hbmFnZXIvdW5kby1tYW5hZ2VyLWludGVyZmFjZXMuaHRtbAorCisg
ICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQu
eGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0Ogor
ICAgICAgICAqIFVuaWZpZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCisgICAgICAgIEFkZCBuZXcgc291cmNl
IGZpbGVzLgorCisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgor
CisgICAgICAgIEFkZCAiVW5kb01hbmFnZXIiIGFuZCAiVW5kb0l0ZW0iIG5hbWVzLgorCisgICAg
ICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1fdW5kb01hbmFnZXIp
OgorCisgICAgICAgIEhhdmUgdGhlIGRvY3VtZW50IG93biBhIFVuZG9NYW5hZ2VyLgorCisgICAg
ICAgIChXZWJDb3JlOjptX2lkZW50aWZpZXIpOiBEZWxldGVkLgorICAgICAgICAqIGRvbS9Eb2N1
bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVuZG9NYW5hZ2VyIGNvbnN0KToK
KyAgICAgICAgKiBkb20vRG9jdW1lbnQuaWRsOgorICAgICAgICAqIHBhZ2UvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2V0VW5kb01hbmFnZXJBUElFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnVuZG9NYW5hZ2VyQVBJRW5hYmxlZCBjb25zdCk6CisKKyAgICAgICAgR3Vh
cmQgdGhlIG5ldyBiaW5kaW5ncyBiZWhpbmQgYSBydW50aW1lLWVuYWJsZWQgZmVhdHVyZSBmbGFn
LgorCisgICAgICAgICogcGFnZS9VbmRvSXRlbS5oOgorICAgICAgICAoV2ViQ29yZTo6VW5kb0l0
ZW06OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpVbmRvSXRlbTo6bGFiZWwgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6VW5kb0l0ZW06OnVuZG9IYW5kbGVyIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlVuZG9JdGVtOjpyZWRvSGFuZGxlciBjb25zdCk6CisKKyAgICAgICAgSW1wbGVt
ZW50IGB1bmRvYCBhbmQgYHJlZG9gIGF0dHJpYnV0ZXMgYXMgYHVuZG9IYW5kbGVyYCBhbmQgYHJl
ZG9IYW5kbGVyYCwgZm9yIGEgYml0IG9mIGFkZGVkIGNsYXJpdHkuCisKKyAgICAgICAgKFdlYkNv
cmU6OlVuZG9JdGVtOjpzZXRMYWJlbCk6CisgICAgICAgIChXZWJDb3JlOjpVbmRvSXRlbTo6c2V0
VW5kb0hhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6VW5kb0l0ZW06OnNldFJlZG9IYW5kbGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OlVuZG9JdGVtOjpVbmRvSXRlbSk6CisgICAgICAgICogcGFn
ZS9VbmRvSXRlbS5pZGw6CisgICAgICAgICogcGFnZS9VbmRvTWFuYWdlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpVbmRvTWFuYWdlcjo6YWRkSXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpVbmRv
TWFuYWdlcjo6dW5kbyk6CisgICAgICAgIChXZWJDb3JlOjpVbmRvTWFuYWdlcjo6cmVkbyk6CisK
KyAgICAgICAgSW1wbGVtZW50IHRoZXNlIGJ5IGludm9raW5nIHRoZSBjb3JyZXNwb25kaW5nIG1l
dGhvZHMgb24gYGRvY3VtZW50LmV4ZWNDb21tYW5kYC4KKworICAgICAgICAqIHBhZ2UvVW5kb01h
bmFnZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlVuZG9NYW5hZ2VyOjpjcmVhdGUpOgorICAgICAg
ICAqIHBhZ2UvVW5kb01hbmFnZXIuaWRsOgorICAgICAgICAqIHBhZ2UvbWFjL1doZWVsRXZlbnRE
ZWx0YUZpbHRlck1hYy5oOgorCisgICAgICAgIE5lY2Vzc2FyeSAoYWxiZWl0IHVucmVsYXRlZCkg
YnVpbGQgZml4IHRvIGFwcGVhc2UgdW5pZmllZCBzb3VyY2VzLgorCiAyMDE5LTAxLTAyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04g
KHIyMzkzMDYpOiBEb24ndCBkaXNhYmxlIGZvbnQgc21vb3RoaW5nIGluIHRyYW5zcGFyZW50IGxh
eWVycyBvbiBtYWNPUyBNb2phdmUgYW5kIGxhdGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDgzZjUwMDZmOGYyMzc0
YTJmYTFhOTIxZmZjZGYwZTcxMjE2ODFlZWYuLmYzNTgzYTYxMWU0NzI5OTVhYTdmYWI4YzE4NGY3
OTgzZDQ2NzE1OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTktMDEtMDMgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIElE
TCBmaWxlcyBmb3IgcnVudGltZS1lbmFibGVkIFVuZG9NYW5hZ2VyIGFuZCBVbmRvSXRlbSBKYXZh
U2NyaXB0IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTkzMTA5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NDgwNzA0OD4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgU1BJIGNvbmZp
Z3VyYXRpb24gZmxhZyB0byBlbmFibGUgdGhlIFVuZG9NYW5hZ2VyIEFQSS4gVGhpcyBpcyBvZmYg
YnkgZGVmYXVsdC4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dl
YlZpZXcgX2luaXRpYWxpemVXaXRoQ29uZmlndXJhdGlvbjpdKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW06CisgICAgICAgICgtW1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24gaW5pdF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0
aW9uIGNvcHlXaXRoWm9uZTpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBf
c2V0VW5kb01hbmFnZXJBUElFbmFibGVkOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1
cmF0aW9uIF91bmRvTWFuYWdlckFQSUVuYWJsZWRdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisKIDIwMTktMDEtMDMgIFdl
bnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gUkVH
UkVTU0lPTiAocjIzOTQ0MSk6IFRhYiBjeWNsaW5nIHRvIG9mZnNjcmVlbiA8c2VsZWN0PiBtYXkg
bm90IHNjcm9sbCBpdCBpbnRvIHZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggOWM1MTQxOGFm
NzY2MjQ4NDFlYmJmNWM2NTg5ZjI1MGRmODVmMWQ1MC4uYTYxMGI2ZDE0NDMxY2JkNTVhYWU4YWZi
M2FiMTIzMDUyY2MyN2RmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTkyMyw2ICs5MjMsOCBA
QCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIHBhZ2UvU2Nyb2xsTG9naWNhbFBv
c2l0aW9uLmlkbAogICAgIHBhZ2UvU2Nyb2xsVG9PcHRpb25zLmlkbAogICAgIHBhZ2UvU2hhcmVE
YXRhLmlkbAorICAgIHBhZ2UvVW5kb0l0ZW0uaWRsCisgICAgcGFnZS9VbmRvTWFuYWdlci5pZGwK
ICAgICBwYWdlL1Zpc3VhbFZpZXdwb3J0LmlkbAogICAgIHBhZ2UvV2ViS2l0UG9pbnQuaWRsCiAg
ICAgcGFnZS9XaW5kb3dFdmVudEhhbmRsZXJzLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggOTBiMjVmYTFlNTMxODVhMTBkMzBhZTVl
ZjFkMzRmNWFlOGNjNDc1Zi4uZmZmMWQwNzQ0MWQxNjZhMzFkMzkzOTBhNzY3NzBjZDY5YjUxNGRk
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxl
bGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
CkBAIC04NTIsNiArODUyLDggQEAgJChQUk9KRUNUX0RJUikvcGFnZS9TY3JvbGxMb2dpY2FsUG9z
aXRpb24uaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL1Njcm9sbFRvT3B0aW9ucy5pZGwKICQoUFJP
SkVDVF9ESVIpL3BhZ2UvU2V0dGluZ3MueWFtbAogJChQUk9KRUNUX0RJUikvcGFnZS9TaGFyZURh
dGEuaWRsCiskKFBST0pFQ1RfRElSKS9wYWdlL1VuZG9JdGVtLmlkbAorJChQUk9KRUNUX0RJUikv
cGFnZS9VbmRvTWFuYWdlci5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvVXNlck1lc3NhZ2VIYW5k
bGVyLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXJzTmFtZXNwYWNl
LmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9WaXN1YWxWaWV3cG9ydC5pZGwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggZGZiYjg4YjBj
Njc1YzcwYzEwY2MyN2NlOGEyNmZhMTQ4Y2U2N2NjOC4uOGQyYWM5ZDU3YzUxM2YyODI5MWFiMjVh
NzAwMTRiY2ZiN2Y2MjYzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QKQEAgLTE3MDIsNiArMTcwMiwxMCBAQCAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VJRXZlbnRJbml0LmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNVSUV2ZW50SW5pdC5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VSTFNlYXJjaFBhcmFt
cy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVVJM
U2VhcmNoUGFyYW1zLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTVW5kb0l0ZW0uY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1VuZG9JdGVtLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTVW5kb01hbmFnZXIuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1VuZG9NYW5hZ2VyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVXNlck1lc3NhZ2VIYW5kbGVyLmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNVc2VyTWVzc2FnZUhhbmRsZXIu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNVc2VyTWVz
c2FnZUhhbmRsZXJzTmFtZXNwYWNlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5k
ZXggZTk0OGI3MDJmMzdhNTY2ZTU1MGE1ZWJlNTZlNjAyZmNiNzkyMmY4Zi4uZGIyN2U1ODkxNDQx
NWRhNGE1ZjgwN2YyYWEyNWE0NWEyM2IyODkxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCkBAIC04NzIsNiArODcyLDggQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29y
ZSkvcGFnZS9TY3JvbGxMb2dpY2FsUG9zaXRpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2Uv
U2Nyb2xsVG9PcHRpb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1NoYXJlRGF0YS5pZGwg
XAorICAgICQoV2ViQ29yZSkvcGFnZS9VbmRvSXRlbS5pZGwgXAorICAgICQoV2ViQ29yZSkvcGFn
ZS9VbmRvTWFuYWdlci5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9Vc2VyTWVzc2FnZUhhbmRs
ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFj
ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9WaXN1YWxWaWV3cG9ydC5pZGwgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dAppbmRleCBlN2Q5MzRhZDI3ZjFiZmE5MTIzMWUxZDg2ZGYwYjc0MTlkODM4YjkwLi5hMjc0
YjA5YTQwZjY2ODg0NmMwMzQxNWM1YmZhODY4NzcxYTI0ZDU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAt
MTQ4OSw2ICsxNDg5LDcgQEAgcGFnZS9Tb2NrZXRQcm92aWRlci5jcHAKIHBhZ2UvU3BhdGlhbE5h
dmlnYXRpb24uY3BwCiBwYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCiBwYWdlL1RleHRJbmRpY2F0
b3IuY3BwCitwYWdlL1VuZG9NYW5hZ2VyLmNwcAogcGFnZS9Vc2VyQ29udGVudFByb3ZpZGVyLmNw
cAogcGFnZS9Vc2VyQ29udGVudENvbnRyb2xsZXIuY3BwCiBwYWdlL1VzZXJDb250ZW50VVJMUGF0
dGVybi5jcHAKQEAgLTMyMDQsNiArMzIwNSw4IEBAIEpTVGV4dE1ldHJpY3MuY3BwCiBKU1RpbWVS
YW5nZXMuY3BwCiBKU1RyYW5zaXRpb25FdmVudC5jcHAKIEpTVHJlZVdhbGtlci5jcHAKK0pTVW5k
b0l0ZW0uY3BwCitKU1VuZG9NYW5hZ2VyLmNwcAogSlNVSUV2ZW50LmNwcAogSlNVSUV2ZW50SW5p
dC5jcHAKIEpTVVJMU2VhcmNoUGFyYW1zLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
VW5pZmllZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL1VuaWZpZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggZGZjMmEzYzI5NTI5YTQxNDY0NDhlYzhjM2I1
YmNlZTA4MTQxMTczMC4uMDdjZTk0NjRhODk5OTcyNmVlMWE2MDQzNTk1MTMxMmVmMzM5ZGExNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVW5pZmllZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlz
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9VbmlmaWVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBA
IC04MTgsNiArODE4LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNUcmVlV2Fsa2VyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNVSUV2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNVSUV2ZW50SW5pdC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVVJMU2VhcmNoUGFyYW1zLmNwcAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNVbmRvSXRlbS5jcHAKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVW5kb01hbmFnZXIuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VzZXJNZXNzYWdl
SGFuZGxlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50LmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGRlNDUyYzA2MmE2YmEyNmY0NzMyNzA3N2ZjMWY5OWFjZmNmZDhjZWIuLjk2MDQxMjY4
MGYyOTExNmYyNTIyZWMyYjJlNzA4ZjFiODc0NTcyZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTg2OCw2ICs4NjgsOCBAQAog
CQkyRUI0QkNEMzEyMUYwM0UzMDBFQzQ4ODUgLyogQmxvYlJlc291cmNlSGFuZGxlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRUI0QkNEMTEyMUYwM0Uz
MDBFQzQ4ODUgLyogQmxvYlJlc291cmNlSGFuZGxlLmggKi87IH07CiAJCTJFQjc2NzU3MURBMTlC
REYwMDNFMjNCNSAvKiBJbnB1dEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyRUI3Njc1NDFEQTE5QjY3MDAzRTIzQjUgLyogSW5wdXRFdmVudC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJFQkJD
M0Q4MUI2NTk4ODMwMEY1MjUzRCAvKiBXaGVlbEV2ZW50RGVsdGFGaWx0ZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFQkJDM0Q3MUI2NTk4ODMwMEY1
MjUzRCAvKiBXaGVlbEV2ZW50RGVsdGFGaWx0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyRUNEQkFEMTIxRDg5MDM0MDBGMDBFQ0QgLyogVW5k
b01hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJFQ0RCQUNFMjFEODkwMzQwMEYwMEVDRCAvKiBVbmRvTWFuYWdlci5oICovOyB9OworCQkyRUNE
QkFEODIxRDg5MDYzMDBGMDBFQ0QgLyogVW5kb0l0ZW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFQ0RCQUQ1MjFEODkwNjMwMEYwMEVDRCAvKiBVbmRv
SXRlbS5oICovOyB9OwogCQkyRUNGN0FERDEwMTYyQjM4MDA0MjdERTcgLyogSlNFcnJvckV2ZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRUNGN0FE
QjEwMTYyQjM4MDA0MjdERTcgLyogSlNFcnJvckV2ZW50LmggKi87IH07CiAJCTJFQ0Y3QUUyMTAx
NjJCNTgwMDQyN0RFNyAvKiBFcnJvckV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRUNGN0FERjEwMTYyQjU4MDA0MjdERTcgLyogRXJyb3JFdmVu
dC5oICovOyB9OwogCQkyRUQ2MDlCRDExNDVCMDcxMDBDODY4NEUgLyogRE9NRm9ybURhdGEuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFRDYwOUJCMTE0
NUIwNzEwMEM4Njg0RSAvKiBET01Gb3JtRGF0YS5oICovOyB9OwpAQCAtNjgyMCw2ICs2ODIyLDEx
IEBACiAJCTJFQjc2NzU1MURBMTlCOTkwMDNFMjNCNSAvKiBJbnB1dEV2ZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElucHV0RXZlbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkyRUJCQzNENzFCNjU5ODgzMDBGNTI1M0QgLyogV2hlZWxFdmVu
dERlbHRhRmlsdGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdoZWVsRXZl
bnREZWx0YUZpbHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRUM0MURFMjFD
MDQxMEEzMDBEMjk0RkUgLyogUmVhbHRpbWVNZWRpYVNvdXJjZVN1cHBvcnRlZENvbnN0cmFpbnRz
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlYWx0aW1lTWVkaWFT
b3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTJFQ0RCQUNFMjFEODkwMzQwMEYwMEVDRCAvKiBVbmRvTWFuYWdlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBVbmRvTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRUNEQkFD
RjIxRDg5MDM0MDBGMDBFQ0QgLyogVW5kb01hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
VW5kb01hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRUNEQkFEMDIx
RDg5MDM0MDBGMDBFQ0QgLyogVW5kb01hbmFnZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFVuZG9NYW5hZ2VyLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkVDREJBRDUyMUQ4OTA2MzAwRjAwRUNEIC8q
IFVuZG9JdGVtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVuZG9JdGVtLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTJFQ0RCQUQ3MjFEODkwNjMwMEYwMEVDRCAvKiBVbmRvSXRlbS5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gVW5kb0l0ZW0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRUNGN0FEQTEw
MTYyQjM4MDA0MjdERTcgLyogSlNFcnJvckV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTRXJyb3JFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTJFQ0Y3QURCMTAxNjJCMzgwMDQyN0RFNyAvKiBKU0Vycm9yRXZlbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFcnJvckV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTJFQ0Y3QURFMTAxNjJCNTgwMDQyN0RFNyAvKiBFcnJvckV2ZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVycm9yRXZlbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjAxMDUsNiArMjAxMTIsMTEgQEAKIAkJCQk2
MkMxMjE3QjExQUI5RTc3MDAzQzQ2MkMgLyogU3VzcGVuZGFibGVUaW1lci5oICovLAogCQkJCTJE
NEY5NkYxMUExRUNDMjQwMDk4QkY4OCAvKiBUZXh0SW5kaWNhdG9yLmNwcCAqLywKIAkJCQkyRDRG
OTZGMjFBMUVDQzI0MDA5OEJGODggLyogVGV4dEluZGljYXRvci5oICovLAorCQkJCTJFQ0RCQUQ1
MjFEODkwNjMwMEYwMEVDRCAvKiBVbmRvSXRlbS5oICovLAorCQkJCTJFQ0RCQUQ3MjFEODkwNjMw
MEYwMEVDRCAvKiBVbmRvSXRlbS5pZGwgKi8sCisJCQkJMkVDREJBQ0YyMUQ4OTAzNDAwRjAwRUNE
IC8qIFVuZG9NYW5hZ2VyLmNwcCAqLywKKwkJCQkyRUNEQkFDRTIxRDg5MDM0MDBGMDBFQ0QgLyog
VW5kb01hbmFnZXIuaCAqLywKKwkJCQkyRUNEQkFEMDIxRDg5MDM0MDBGMDBFQ0QgLyogVW5kb01h
bmFnZXIuaWRsICovLAogCQkJCTFBRTc5RDQwMTg4REI2MUYwMDIyMzlDMiAvKiBVc2VyQ29udGVu
dENvbnRyb2xsZXIuY3BwICovLAogCQkJCTFBRTc5RDQxMTg4REI2MUYwMDIyMzlDMiAvKiBVc2Vy
Q29udGVudENvbnRyb2xsZXIuaCAqLywKIAkJCQk3QzNGMDFCRjFDOEU1QUIxMDBBREQ5NjIgLyog
VXNlckNvbnRlbnRQcm92aWRlci5jcHAgKi8sCkBAIC0zMTYzMyw2ICszMTY0NSw4IEBACiAJCQkJ
ODUwMzFCNEUwQTQ0RUZDNzAwRjk5MkUwIC8qIFVJRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTgzRkU3Q0E3MURBOUYxQTcwMDM3MjM3QyAvKiBVSUV2ZW50SW5pdC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJODUwMzFCNEYwQTQ0RUZDNzAwRjk5MkUwIC8qIFVJRXZlbnRXaXRoS2V5U3RhdGUuaCBp
biBIZWFkZXJzICovLAorCQkJCTJFQ0RCQUQ4MjFEODkwNjMwMEYwMEVDRCAvKiBVbmRvSXRlbS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMkVDREJBRDEyMUQ4OTAzNDAwRjAwRUNEIC8qIFVuZG9NYW5h
Z2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5QjJEOEE3OTE0OTk3Q0NGMDBFQ0VGM0UgLyogVW5k
b1N0ZXAuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NjNFMjAxMTM0MzQxMjAwMDI3NDkyNiAvKiBV
bmljb2RlQmlkaS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4ODY0RTExQkJBRjU3NDAwRTU0MEM5
IC8qIFVuaXF1ZUlEQkRhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCAyYWUxZWNmNzgzNjFk
ODY2ODIxYzZlOWM4M2VkNWM0M2JiZWM0NTZjLi5mODlmZjBkOWFjZDc0YmEwNmUyZjg0YTc3MWVh
MTBhYmMyNzNmNDE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJD
b3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oCkBAIC0xNzgsNiArMTc4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIG1hY3JvKFN0YXRpY1JhbmdlKSBcCiAgICAgbWFjcm8oU3R5bGVQcm9wZXJ0eU1hcFJlYWRP
bmx5KSBcCiAgICAgbWFjcm8oU3R5bGVQcm9wZXJ0eU1hcCkgXAorICAgIG1hY3JvKFVuZG9JdGVt
KSBcCisgICAgbWFjcm8oVW5kb01hbmFnZXIpIFwKICAgICBtYWNybyhWUkRpc3BsYXkpIFwKICAg
ICBtYWNybyhWUkRpc3BsYXlDYXBhYmlsaXRpZXMpIFwKICAgICBtYWNybyhWUkRpc3BsYXlFdmVu
dCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggZWM2NmJlNzY2MWQyMTYwNmU1N2NkMWY3
NDljZGNkNDJjMTdmNWVkYy4uMjExYzJiZDg5YzhmMjU1MTE5ODExMmJlYmQ1OTZhZDExM2RmNTcx
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0yMTAsNiArMjEwLDcgQEAKICNpbmNsdWRl
ICJUZXh0Tm9kZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybVNvdXJjZS5oIgogI2lu
Y2x1ZGUgIlRyZWVXYWxrZXIuaCIKKyNpbmNsdWRlICJVbmRvTWFuYWdlci5oIgogI2luY2x1ZGUg
IlVzZXJHZXN0dXJlSW5kaWNhdG9yLmgiCiAjaW5jbHVkZSAiVmFsaWRhdGlvbk1lc3NhZ2VDbGll
bnQuaCIKICNpbmNsdWRlICJWaXNpYmlsaXR5Q2hhbmdlQ2xpZW50LmgiCkBAIC01MzcsNiArNTM4
LDcgQEAgRG9jdW1lbnQ6OkRvY3VtZW50KEZyYW1lKiBmcmFtZSwgY29uc3QgVVJMJiB1cmwsIHVu
c2lnbmVkIGRvY3VtZW50Q2xhc3NlcywgdW5zaWcKICAgICAsIG1faXNOb25SZW5kZXJlZFBsYWNl
aG9sZGVyKGNvbnN0cnVjdGlvbkZsYWdzICYgTm9uUmVuZGVyZWRQbGFjZWhvbGRlcikKICAgICAs
IG1fb3JpZW50YXRpb25Ob3RpZmllcihjdXJyZW50T3JpZW50YXRpb24oZnJhbWUpKQogICAgICwg
bV9pZGVudGlmaWVyKGdlbmVyYXRlT2JqZWN0SWRlbnRpZmllcjxEb2N1bWVudElkZW50aWZpZXJU
eXBlPigpKQorICAgICwgbV91bmRvTWFuYWdlcihVbmRvTWFuYWdlcjo6Y3JlYXRlKCp0aGlzKSkK
IHsKICAgICBhdXRvIGFkZFJlc3VsdCA9IGFsbERvY3VtZW50c01hcCgpLmFkZChtX2lkZW50aWZp
ZXIsIHRoaXMpOwogICAgIEFTU0VSVF9VTlVTRUQoYWRkUmVzdWx0LCBhZGRSZXN1bHQuaXNOZXdF
bnRyeSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDhhMGZmZTEwYjQ1OTcxMjI3NGRlN2Q3MjQy
ODYwMjkwNzM3Y2Y5ZWEuLjNjMzczNTY5MmY5YjRjOTM1NDdiNTY0YmQ1OWYxYTZkNTBlNTljM2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xODYsNiArMTg2LDcgQEAgY2xhc3MgU3R5bGVTaGVl
dExpc3Q7CiBjbGFzcyBUZXh0OwogY2xhc3MgVGV4dFJlc291cmNlRGVjb2RlcjsKIGNsYXNzIFRy
ZWVXYWxrZXI7CitjbGFzcyBVbmRvTWFuYWdlcjsKIGNsYXNzIFZpc2liaWxpdHlDaGFuZ2VDbGll
bnQ7CiBjbGFzcyBWaXNpdGVkTGlua1N0YXRlOwogY2xhc3MgV2ViQW5pbWF0aW9uOwpAQCAtMTAw
NCw2ICsxMDA1LDggQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgcXVlcnlDb21t
YW5kU3VwcG9ydGVkKGNvbnN0IFN0cmluZyYgY29tbWFuZCk7CiAgICAgV0VCQ09SRV9FWFBPUlQg
U3RyaW5nIHF1ZXJ5Q29tbWFuZFZhbHVlKGNvbnN0IFN0cmluZyYgY29tbWFuZCk7CiAKKyAgICBV
bmRvTWFuYWdlciYgdW5kb01hbmFnZXIoKSBjb25zdCB7IHJldHVybiBtX3VuZG9NYW5hZ2VyLmdl
dCgpOyB9CisKICAgICAvLyBkZXNpZ25Nb2RlIHN1cHBvcnQKICAgICBlbnVtIEluaGVyaXRlZEJv
b2wgeyBvZmYgPSBmYWxzZSwgb24gPSB0cnVlLCBpbmhlcml0IH07ICAgIAogICAgIHZvaWQgc2V0
RGVzaWduTW9kZShJbmhlcml0ZWRCb29sIHZhbHVlKTsKQEAgLTIwNzgsNiArMjA4MSw4IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBtX2lzUnVubmluZ1VzZXJTY3JpcHRzIHsgZmFsc2UgfTsKIAogICAg
IGJvb2wgbV9hbHdheXNBbGxvd0xvY2FsV2ViYXJjaGl2ZSB7IGZhbHNlIH07CisKKyAgICBSZWY8
VW5kb01hbmFnZXI+IG1fdW5kb01hbmFnZXI7CiB9OwogCiBFbGVtZW50KiBldmVudFRhcmdldEVs
ZW1lbnRGb3JEb2N1bWVudChEb2N1bWVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKaW5kZXgg
MWI2OGYyNDM2NGQyZmY1ODNhYThkOTQ0ZGYzNjQ5MGI0YTNkN2YxZi4uNmY2Mzc5YjhjZmZjOTVj
ZjVkMWM2ZWU4MDc3Nzk2NjcxODU0MTlkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCkBAIC0x
MjYsNiArMTI2LDcgQEAgdHlwZWRlZiAoCiAgICAgYm9vbGVhbiBxdWVyeUNvbW1hbmRTdGF0ZShE
T01TdHJpbmcgY29tbWFuZElkKTsKICAgICBib29sZWFuIHF1ZXJ5Q29tbWFuZFN1cHBvcnRlZChE
T01TdHJpbmcgY29tbWFuZElkKTsKICAgICBET01TdHJpbmcgcXVlcnlDb21tYW5kVmFsdWUoRE9N
U3RyaW5nIGNvbW1hbmRJZCk7CisgICAgW0VuYWJsZWRBdFJ1bnRpbWU9VW5kb01hbmFnZXJBUEld
IHJlYWRvbmx5IGF0dHJpYnV0ZSBVbmRvTWFuYWdlciB1bmRvTWFuYWdlcjsKIAogICAgIC8vIFNw
ZWNpYWwgZXZlbnQgaGFuZGxlciBJREwgYXR0cmlidXRlcyB0aGF0IG9ubHkgYXBwbHkgdG8gRG9j
dW1lbnQgb2JqZWN0cy4KICAgICBbTGVuaWVudFRoaXNdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIg
b25yZWFkeXN0YXRlY2hhbmdlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuaAppbmRleCAxMTQ1NThlZmE2NTgxOGRiZjZiMzhkYWU0YWJjNDZhMmZiM2UzMWI2
Li4wMmZhY2UwZDM1NzRiZGMzYmI1YTMzMThhMmU3MjFjMjAyODllMjZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtMzE1LDYgKzMxNSw5IEBA
IHB1YmxpYzoKICAgICBib29sIGludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZCgpIGNvbnN0IHsg
cmV0dXJuIG1faW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkOyB9CiAjZW5kaWYKIAorICAgIHZv
aWQgc2V0VW5kb01hbmFnZXJBUElFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fdW5kb01hbmFn
ZXJBUElFbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCB1bmRvTWFuYWdlckFQSUVuYWJs
ZWQoKSBjb25zdCB7IHJldHVybiBtX3VuZG9NYW5hZ2VyQVBJRW5hYmxlZDsgfQorCiAjaWYgRU5B
QkxFKEVOQ1JZUFRFRF9NRURJQSkKICAgICB2b2lkIHNldEVuY3J5cHRlZE1lZGlhQVBJRW5hYmxl
ZChib29sIGlzRW5hYmxlZCkgeyBtX2VuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCA9IGlzRW5hYmxl
ZDsgfQogICAgIGJvb2wgZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkKCkgY29uc3QgeyByZXR1cm4g
bV9lbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQ7IH0KQEAgLTUwNiw2ICs1MDksOCBAQCBwcml2YXRl
OgogICAgIGJvb2wgbV9zeXN0ZW1QcmV2aWV3RW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKIAor
ICAgIGJvb2wgbV91bmRvTWFuYWdlckFQSUVuYWJsZWQgeyBmYWxzZSB9OworCiAgICAgZnJpZW5k
IGNsYXNzIFdURjo6TmV2ZXJEZXN0cm95ZWQ8UnVudGltZUVuYWJsZWRGZWF0dXJlcz47CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9JdGVtLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1VuZG9JdGVtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmE2ZTI1MTZhMWE4ZDc1ZTEwZjY3ZjYy
ZTUzZTg0ZTM1ZWE3YzZmYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
VW5kb0l0ZW0uaApAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlICJWb2lkQ2FsbGJhY2suaCIKKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KKyNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFVuZG9JdGVtIDogcHVibGljIFJlZkNv
dW50ZWQ8VW5kb0l0ZW0+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFVuZG9JdGVtPiBjcmVh
dGUoU3RyaW5nJiYgbGFiZWwpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBV
bmRvSXRlbShXVEZNb3ZlKGxhYmVsKSkpOworICAgIH0KKworICAgIHZpcnR1YWwgflVuZG9JdGVt
KCkgPSBkZWZhdWx0OworCisgICAgY29uc3QgU3RyaW5nJiBsYWJlbCgpIGNvbnN0IHsgcmV0dXJu
IG1fbGFiZWw7IH0KKyAgICBjb25zdCBSZWZQdHI8Vm9pZENhbGxiYWNrPiYgdW5kb0hhbmRsZXIo
KSBjb25zdCB7IHJldHVybiBtX3VuZG9IYW5kbGVyOyB9CisgICAgY29uc3QgUmVmUHRyPFZvaWRD
YWxsYmFjaz4mIHJlZG9IYW5kbGVyKCkgY29uc3QgeyByZXR1cm4gbV9yZWRvSGFuZGxlcjsgfQor
CisgICAgdm9pZCBzZXRMYWJlbChTdHJpbmcmJiBsYWJlbCkgeyBtX2xhYmVsID0gV1RGTW92ZShs
YWJlbCk7IH0KKyAgICB2b2lkIHNldFVuZG9IYW5kbGVyKFJlZlB0cjxWb2lkQ2FsbGJhY2s+JiYg
aGFuZGxlcikgeyBtX3VuZG9IYW5kbGVyID0gV1RGTW92ZShoYW5kbGVyKTsgfQorICAgIHZvaWQg
c2V0UmVkb0hhbmRsZXIoUmVmUHRyPFZvaWRDYWxsYmFjaz4mJiBoYW5kbGVyKSB7IG1fcmVkb0hh
bmRsZXIgPSBXVEZNb3ZlKGhhbmRsZXIpOyB9CisKK3ByaXZhdGU6CisgICAgVW5kb0l0ZW0oU3Ry
aW5nJiYgbGFiZWwpCisgICAgICAgIDogbV9sYWJlbChXVEZNb3ZlKGxhYmVsKSkKKyAgICB7Cisg
ICAgfQorCisgICAgU3RyaW5nIG1fbGFiZWw7CisgICAgUmVmUHRyPFZvaWRDYWxsYmFjaz4gbV91
bmRvSGFuZGxlcjsKKyAgICBSZWZQdHI8Vm9pZENhbGxiYWNrPiBtX3JlZG9IYW5kbGVyOworfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9VbmRvSXRlbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9JdGVtLmlkbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hNzIyMDQ4ZWZjNDRjY2VjYWUyZDY5MzU2YzFlMWYyN2Q2YjY1MzJkCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9VbmRvSXRlbS5pZGwKQEAgLTAsMCArMSwzMyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQXRSdW50aW1lPVVuZG9NYW5hZ2VyQVBJLAor
ICAgIENvbnN0cnVjdG9yKERPTVN0cmluZyBsYWJlbCkKK10gaW50ZXJmYWNlIFVuZG9JdGVtIHsK
KyAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxhYmVsOworICAgIFtJbXBsZW1lbnRlZEFzPXVuZG9I
YW5kbGVyXSBhdHRyaWJ1dGUgVm9pZENhbGxiYWNrPyB1bmRvOworICAgIFtJbXBsZW1lbnRlZEFz
PXJlZG9IYW5kbGVyXSBhdHRyaWJ1dGUgVm9pZENhbGxiYWNrPyByZWRvOworfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVW5kb01hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9VbmRvTWFuYWdlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWM4NjYwMGJhZmQ4MDBlZTAyYTIyMzVk
ZDJiZjhlZDlmYTk5ZTU1NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
VW5kb01hbmFnZXIuY3BwCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiVW5kb01hbmFnZXIuaCIKKworI2luY2x1ZGUgIkRvY3VtZW50
LmgiCisjaW5jbHVkZSAiVW5kb0l0ZW0uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lk
IFVuZG9NYW5hZ2VyOjphZGRJdGVtKFJlZjxVbmRvSXRlbT4mJiBpdGVtKQoreworICAgIFVOVVNF
RF9QQVJBTShpdGVtKTsKK30KKwordm9pZCBVbmRvTWFuYWdlcjo6dW5kbygpCit7CisgICAgbV9k
b2N1bWVudC5leGVjQ29tbWFuZCgiVW5kbyJfcyk7Cit9CisKK3ZvaWQgVW5kb01hbmFnZXI6OnJl
ZG8oKQoreworICAgIG1fZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlJlZG8iX3MpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9N
YW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9NYW5hZ2VyLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZWE0OTJmZmRkZGQ2Yzk1MmNlZjM0YTNkNjY2ZWI4MjQ3OTUxMTZkNQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVW5kb01hbmFnZXIuaApAQCAtMCwwICsxLDU3IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEb2N1
bWVudDsKK2NsYXNzIFVuZG9JdGVtOworCitjbGFzcyBVbmRvTWFuYWdlciA6IHB1YmxpYyBSZWZD
b3VudGVkPFVuZG9NYW5hZ2VyPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxVbmRvTWFuYWdl
cj4gY3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFVuZG9NYW5hZ2VyKGRvY3VtZW50KSk7CisgICAgfQorCisgICAgdmlydHVhbCB+
VW5kb01hbmFnZXIoKSA9IGRlZmF1bHQ7CisgICAgdm9pZCBhZGRJdGVtKFJlZjxVbmRvSXRlbT4m
Jik7CisgICAgdm9pZCB1bmRvKCk7CisgICAgdm9pZCByZWRvKCk7CisKK3ByaXZhdGU6CisgICAg
VW5kb01hbmFnZXIoRG9jdW1lbnQmIGRvY3VtZW50KQorICAgICAgICA6IG1fZG9jdW1lbnQoZG9j
dW1lbnQpCisgICAgeworICAgIH0KKworICAgIERvY3VtZW50JiBtX2RvY3VtZW50OworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9V
bmRvTWFuYWdlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9NYW5hZ2VyLmlkbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yZTg5NmFmN2M2MDNmZDdiNDg3OGQ0ODJkYTFmMDBiN2I5MmUzNGMzCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9VbmRvTWFuYWdlci5pZGwKQEAgLTAsMCAr
MSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQXRSdW50aW1lPVVuZG9NYW5hZ2Vy
QVBJCitdIGludGVyZmFjZSBVbmRvTWFuYWdlciB7CisgICAgdm9pZCBhZGRJdGVtKFVuZG9JdGVt
IGl0ZW0pOworICAgIHZvaWQgdW5kbygpOworICAgIHZvaWQgcmVkbygpOworfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1doZWVsRXZlbnREZWx0YUZpbHRlck1hYy5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjLmgKaW5kZXgg
MzEwODIyY2NiYzE1ZGJkZDc3MTk4MjM3NGMwODkyNDg0MWY3ZmQ1Ny4uMmNjOThiZjc5MWNkMjdj
YTVkNmI3N2UwZjVhNWFkYWM0NWVhMTllOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBQ
TEFURk9STShNQUMpCiAKICNpbmNsdWRlICJXaGVlbEV2ZW50RGVsdGFGaWx0ZXIuaCIKKyNpbmNs
dWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAog
T0JKQ19DTEFTUyBfTlNTY3JvbGxpbmdQcmVkb21pbmFudEF4aXNGaWx0ZXI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCBiZmYxMjUyMzlmZjhhZjk5NzdhNGE5
ZjU0MjRjMDBhMGM1OGIyNWFlLi5mMzIyMzVlNzdjNTI1YTU2MmU0NzkzZDRjN2ZhNGRiYjRmNjQ5
OTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAgLTE1MTgs
MyArMTUxOCwxMSBAQCBDYXB0dXJlVmlkZW9JblVJUHJvY2Vzc0VuYWJsZWQ6CiAgIGNhdGVnb3J5
OiBpbnRlcm5hbAogICB3ZWJjb3JlQmluZGluZzogbm9uZQogICBjb25kaXRpb246IEVOQUJMRShN
RURJQV9TVFJFQU0pCisKK1VuZG9NYW5hZ2VyQVBJRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBk
ZWZhdWx0VmFsdWU6IGZhbHNlCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiVW5kb01hbmFnZXIgRE9N
IEFQSSIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIHRoZSBVbmRvTWFuYWdl
ciBET00gQVBJIgorICBjYXRlZ29yeTogaW50ZXJuYWwKKyAgd2ViY29yZUJpbmRpbmc6IFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Lm1tCmluZGV4IDNjNWJlYmYyN2I0MmZiOTQ1NmZlZGQwZTlhZTEzM2U3NWJkYTZk
YzkuLjc1Zjc2NTIwZTA3OGZiZTlmZGQ4NmFlMTljOTE5NmJhMmE5YTY4MGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtNjQ1LDYgKzY0
NSw3IEBAIC0gKHZvaWQpX2luaXRpYWxpemVXaXRoQ29uZmlndXJhdGlvbjooV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24KICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVy
ZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5Ojpjb2xvckZpbHRlckVu
YWJsZWRLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmln
dXJhdGlvbiBfY29sb3JGaWx0ZXJFbmFibGVkXSkpOwogCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24t
PnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6ZWRpdGFi
bGVJbWFnZXNFbmFibGVkS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUo
ISFbX2NvbmZpZ3VyYXRpb24gX2VkaXRhYmxlSW1hZ2VzRW5hYmxlZF0pKTsKKyAgICBwYWdlQ29u
ZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2Vz
S2V5Ojp1bmRvTWFuYWdlckFQSUVuYWJsZWRLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0
b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBfdW5kb01hbmFnZXJBUElFbmFibGVkXSkpOwog
CiAjaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCiAgICAgcGFnZUNvbmZpZ3VyYXRp
b24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6bGVn
YWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNT
dG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gX2xlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJRW5h
YmxlZF0pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdDb25maWd1cmF0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KaW5kZXggZGU2ZjMzZWQ5NzJlYzdmMDM5YmE2
ZTIxYTU5YmM2OTgwNTgyMDI1Ny4uZjk4M2ZhNjQ3N2FkOTcxY2JlN2NlZjdhNDllNTNlYTBkYzEx
ZDc5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KQEAgLTE2MCw2ICsxNjAsNyBAQCBAaW1wbGVt
ZW50YXRpb24gV0tXZWJWaWV3Q29uZmlndXJhdGlvbiB7CiAgICAgQk9PTCBfc2hvdWxkRGVmZXJB
c3luY2hyb25vdXNTY3JpcHRzVW50aWxBZnRlckRvY3VtZW50TG9hZDsKICAgICBCT09MIF9kcmF3
c0JhY2tncm91bmQ7CiAgICAgQk9PTCBfZWRpdGFibGVJbWFnZXNFbmFibGVkOworICAgIEJPT0wg
X3VuZG9NYW5hZ2VyQVBJRW5hYmxlZDsKIAogICAgIFJldGFpblB0cjxOU1N0cmluZz4gX21lZGlh
Q29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0OwogICAgIFJldGFpblB0cjxOU0Fy
cmF5PE5TU3RyaW5nICo+PiBfYWRkaXRpb25hbFN1cHBvcnRlZEltYWdlVHlwZXM7CkBAIC0yNDgs
NiArMjQ5LDcgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXQKICAgICBfZHJhd3NCYWNrZ3JvdW5kID0g
WUVTOwogCiAgICAgX2VkaXRhYmxlSW1hZ2VzRW5hYmxlZCA9IE5POworICAgIF91bmRvTWFuYWdl
ckFQSUVuYWJsZWQgPSBZRVM7CiAKICAgICByZXR1cm4gc2VsZjsKIH0KQEAgLTQwOSw2ICs0MTEs
NyBAQCAtIChpZCljb3B5V2l0aFpvbmU6KE5TWm9uZSAqKXpvbmUKICAgICBjb25maWd1cmF0aW9u
LT5fZHJhd3NCYWNrZ3JvdW5kID0gc2VsZi0+X2RyYXdzQmFja2dyb3VuZDsKIAogICAgIGNvbmZp
Z3VyYXRpb24tPl9lZGl0YWJsZUltYWdlc0VuYWJsZWQgPSBzZWxmLT5fZWRpdGFibGVJbWFnZXNF
bmFibGVkOworICAgIGNvbmZpZ3VyYXRpb24tPl91bmRvTWFuYWdlckFQSUVuYWJsZWQgPSBzZWxm
LT5fdW5kb01hbmFnZXJBUElFbmFibGVkOwogCiAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247CiB9
CkBAIC0xMDM3LDYgKzEwNDAsMTYgQEAgLSAoQk9PTClfZWRpdGFibGVJbWFnZXNFbmFibGVkCiAg
ICAgcmV0dXJuIF9lZGl0YWJsZUltYWdlc0VuYWJsZWQ7CiB9CiAKKy0gKHZvaWQpX3NldFVuZG9N
YW5hZ2VyQVBJRW5hYmxlZDooQk9PTCllbmFibGVkCit7CisgICAgX3VuZG9NYW5hZ2VyQVBJRW5h
YmxlZCA9IGVuYWJsZWQ7Cit9CisKKy0gKEJPT0wpX3VuZG9NYW5hZ2VyQVBJRW5hYmxlZAorewor
ICAgIHJldHVybiBfdW5kb01hbmFnZXJBUElFbmFibGVkOworfQorCiBAZW5kCiAKIEBpbXBsZW1l
bnRhdGlvbiBXS1dlYlZpZXdDb25maWd1cmF0aW9uIChXS0RlcHJlY2F0ZWQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlv
blByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdD
b25maWd1cmF0aW9uUHJpdmF0ZS5oCmluZGV4IDM3YzQzMGZiZThhNTE2MGRmNjY5ZTAxM2UwZTEy
ZTUxNjE3Nzk5YmQuLjJhYmM4YzE0YWJmOGI3ZWI2NGZmOWUwNjhmMTNjYWE1ZTc4ODQ1YWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25m
aWd1cmF0aW9uUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCkBAIC0xMDYsNiArMTA2LDcgQEAgdHlw
ZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIF9XS0RyYWdMaWZ0RGVsYXkpIHsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCBjb3B5LCBzZXR0ZXI9X3NldEFkZGl0aW9uYWxTdXBwb3J0ZWRJbWFnZVR5cGVz
OikgTlNBcnJheTxOU1N0cmluZyAqPiAqX2FkZGl0aW9uYWxTdXBwb3J0ZWRJbWFnZVR5cGVzIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCiBA
cHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRFZGl0YWJsZUltYWdlc0VuYWJsZWQ6KSBC
T09MIF9lZGl0YWJsZUltYWdlc0VuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFD
X1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9z
ZXRVbmRvTWFuYWdlckFQSUVuYWJsZWQ6KSBCT09MIF91bmRvTWFuYWdlckFQSUVuYWJsZWQgV0tf
QVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAogQGVu
ZAogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
NDkwYTBlYTg2ZTRkOGJlZTQ0ZGZjODBiZmEwNGFmYmJhZDA3NjFjOC4uNDEzY2JkMjgwNDY4ZGRh
MDVjYmI1OWUwNjkyMTc2YTc4ZTEzODQ3NyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE5LTAxLTAzICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEludHJvZHVjZSBJREwg
ZmlsZXMgZm9yIHJ1bnRpbWUtZW5hYmxlZCBVbmRvTWFuYWdlciBhbmQgVW5kb0l0ZW0gSmF2YVNj
cmlwdCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MzEwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ4MDcwNDg+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlIGFuZCByZXNwZWN0
IGEgdGVzdCBvcHRpb24gdG8gZW5hYmxlIHRoZSBVbmRvTWFuYWdlciBBUEkuCisKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6dXBk
YXRlVGVzdE9wdGlvbnNGcm9tVGVzdEhlYWRlcik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0T3B0aW9ucy5oOgorICAgICAgICAoV1RSOjpUZXN0T3B0aW9uczo6aGFzU2FtZUluaXRp
YWxpemF0aW9uT3B0aW9ucyBjb25zdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9jb2Nv
YS9UZXN0Q29udHJvbGxlckNvY29hLm1tOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6
cGxhdGZvcm1DcmVhdGVXZWJWaWV3KToKKwogMjAxOS0wMS0wMiAgQWxleCBDaHJpc3RlbnNlbiAg
PGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEhvbW9ncmFwaCB3aXRoIExBVElO
IFNNQUxMIExFVFRFUiBSIFdJVEggRklTSEhPT0sKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
Q29udHJvbGxlci5jcHAKaW5kZXggNmQ0ZGZmYjQ5NjU2NTI0YzY0ZDk2MmU3OWZlMjM4Mzg0YzY5
YzBjNi4uN2M4OGUwMDI3ZjNkNzUwYmU2MTU2NzIzMmE4ODFhZGNkZmI0ZGRhOCAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTEyNjQsNiArMTI2NCw4IEBA
IHN0YXRpYyB2b2lkIHVwZGF0ZVRlc3RPcHRpb25zRnJvbVRlc3RIZWFkZXIoVGVzdE9wdGlvbnMm
IHRlc3RPcHRpb25zLCBjb25zdCBzdGQ6CiAgICAgICAgICAgICB0ZXN0T3B0aW9ucy5lbmFibGVF
ZGl0YWJsZUltYWdlcyA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CiAgICAg
ICAgIGVsc2UgaWYgKGtleSA9PSAiZWRpdGFibGUiKQogICAgICAgICAgICAgdGVzdE9wdGlvbnMu
ZWRpdGFibGUgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOworICAgICAgICBl
bHNlIGlmIChrZXkgPT0gImVuYWJsZVVuZG9NYW5hZ2VyQVBJIikKKyAgICAgICAgICAgIHRlc3RP
cHRpb25zLmVuYWJsZVVuZG9NYW5hZ2VyQVBJID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVl
KHZhbHVlKTsKICAgICAgICAgcGFpclN0YXJ0ID0gcGFpckVuZCArIDE7CiAgICAgfQogfQpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5oIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5oCmluZGV4IDA1YTRlZmJmOTBlNWNjZTlkYzQwNGU4
NDFjNzAwNjEyMjc4YTYwZTUuLjEwY2Q0ZTRjMzQ1NzFiMGIxYjhhMDJjYjZkZDQ3OWM2N2ZlYzcz
NDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaAorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmgKQEAgLTY3LDYgKzY3LDcgQEAg
c3RydWN0IFRlc3RPcHRpb25zIHsKICAgICBib29sIHNob3VsZFNob3dTcGVsbENoZWNraW5nRG90
cyB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVFZGl0YWJsZUltYWdlcyB7IGZhbHNlIH07CiAg
ICAgYm9vbCBlZGl0YWJsZSB7IGZhbHNlIH07CisgICAgYm9vbCBlbmFibGVVbmRvTWFuYWdlckFQ
SSB7IGZhbHNlIH07CiAKICAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciB7IDEgfTsKICAgICBW
ZWN0b3I8U3RyaW5nPiBvdmVycmlkZUxhbmd1YWdlczsKQEAgLTExMSw3ICsxMTIsOCBAQCBzdHJ1
Y3QgVGVzdE9wdGlvbnMgewogICAgICAgICAgICAgfHwgc2hvdWxkU2hvd1NwZWxsQ2hlY2tpbmdE
b3RzICE9IG9wdGlvbnMuc2hvdWxkU2hvd1NwZWxsQ2hlY2tpbmdEb3RzCiAgICAgICAgICAgICB8
fCBzaG91bGRJZ25vcmVNZXRhVmlld3BvcnQgIT0gb3B0aW9ucy5zaG91bGRJZ25vcmVNZXRhVmll
d3BvcnQKICAgICAgICAgICAgIHx8IGVuYWJsZUVkaXRhYmxlSW1hZ2VzICE9IG9wdGlvbnMuZW5h
YmxlRWRpdGFibGVJbWFnZXMKLSAgICAgICAgICAgIHx8IGVkaXRhYmxlICE9IG9wdGlvbnMuZWRp
dGFibGUpCisgICAgICAgICAgICB8fCBlZGl0YWJsZSAhPSBvcHRpb25zLmVkaXRhYmxlCisgICAg
ICAgICAgICB8fCBlbmFibGVVbmRvTWFuYWdlckFQSSAhPSBvcHRpb25zLmVuYWJsZVVuZG9NYW5h
Z2VyQVBJKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIGlmIChleHBlcmlt
ZW50YWxGZWF0dXJlcyAhPSBvcHRpb25zLmV4cGVyaW1lbnRhbEZlYXR1cmVzKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCmluZGV4
IDExYjBlM2FlMzRmYmJlN2UxYmE5ZTE3MjFhNGQxMThkMzMwMjY3OTYuLjJjMWY2YTYzYzllNDll
N2NjZTgxZGFjYjYwZGRhMmY4ZjViMThhODMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0KQEAgLTE2MSw2ICsxNjEsOSBAQCB2
b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUNyZWF0ZVdlYlZpZXcoV0tQYWdlQ29uZmlndXJh
dGlvblJlZiwgY29uc3QgVGVzdE9wdAogICAgIGlmIChvcHRpb25zLmVuYWJsZUVkaXRhYmxlSW1h
Z2VzKQogICAgICAgICBbY29waWVkQ29uZmlndXJhdGlvbiBfc2V0RWRpdGFibGVJbWFnZXNFbmFi
bGVkOllFU107CiAKKyAgICBpZiAob3B0aW9ucy5lbmFibGVVbmRvTWFuYWdlckFQSSkKKyAgICAg
ICAgW2NvcGllZENvbmZpZ3VyYXRpb24gX3NldFVuZG9NYW5hZ2VyQVBJRW5hYmxlZDpZRVNdOwor
CiAgICAgaWYgKG9wdGlvbnMuYXBwbGljYXRpb25NYW5pZmVzdC5sZW5ndGgoKSkgewogICAgICAg
ICBhdXRvIG1hbmlmZXN0UGF0aCA9IFtOU1N0cmluZyBzdHJpbmdXaXRoVVRGOFN0cmluZzpvcHRp
b25zLmFwcGxpY2F0aW9uTWFuaWZlc3QuY19zdHIoKV07CiAgICAgICAgIE5TU3RyaW5nICp0ZXh0
ID0gW05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTptYW5pZmVzdFBhdGggdXNlZEVu
Y29kaW5nOm51bGxwdHIgZXJyb3I6bnVsbHB0cl07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODg2ZDVhNWM0MjlmYWE1NThj
NDU0MGEzZjY2ZDFjNGRkM2U0YzM5My4uOWIxNGY4NWVhZThhNzc0YzRhOGJiOTdlNzE5Mzk0YWUx
YWY2MjI5ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE5LTAxLTAzICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEludHJvZHVjZSBJREwgZmlsZXMg
Zm9yIHJ1bnRpbWUtZW5hYmxlZCBVbmRvTWFuYWdlciBhbmQgVW5kb0l0ZW0gSmF2YVNjcmlwdCBB
UEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzEw
OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ4MDcwNDg+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFVuZG9NYW5hZ2VyIHRlc3RzIHRvIGV4
ZXJjaXNlIG5ldyBiaW5kaW5ncywgYXMgd2VsbCBhcyBjaGVjayB0aGF0IFVuZG9NYW5hZ2VyLnVu
ZG8gYW5kIFVuZG9NYW5hZ2VyLnJlZG8KKyAgICAgICAgd29yayBhcyBleHBlY3RlZCwgYW5kIGNh
biBiZSB1c2VkIGFsb25nc2lkZSBkb2N1bWVudC5leGVjQ29tbWFuZC4KKworICAgICAgICAqIFRl
c3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogZWRpdGluZy91bmRvL1VuZG9NYW5hZ2VyL3VuZG8t
bWFuYWdlci1iYXNpYy11bmRvLXJlZG8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3VuZG8vVW5kb01hbmFnZXIvdW5kby1tYW5hZ2VyLWJhc2ljLXVuZG8tcmVkby5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3VuZG8vVW5kb01hbmFnZXIvdW5kby1tYW5hZ2Vy
LWludGVyZmFjZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3VuZG8v
VW5kb01hbmFnZXIvdW5kby1tYW5hZ2VyLWludGVyZmFjZXMuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxOS0wMS0wMiAgU2ltb24gRnJhc2VyICA8
c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjM5MzA2KTog
RG9uJ3QgZGlzYWJsZSBmb250IHNtb290aGluZyBpbiB0cmFuc3BhcmVudCBsYXllcnMgb24gbWFj
T1MgTW9qYXZlIGFuZCBsYXRlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMjMwMThiYzI5MjFkNDE2
MDBiOThiYjZjZWYxNjRiOWM3NGFkNzY2NS4uMTYwOTg3NDA5NzM2MTQyNWRiNmFmZGY1YzU0NTJi
ZWNjOTRmZWUzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xOSw2ICsxOSw3IEBAIGVkaXRpbmcv
aW5wdXQvaW9zIFsgU2tpcCBdCiBlZGl0aW5nL2ZpbmQgWyBTa2lwIF0KIGVkaXRpbmcvcGFzdGVi
b2FyZC9ndGsgWyBTa2lwIF0KIGVkaXRpbmcvc2VsZWN0aW9uL2lvcyBbIFNraXAgXQorZWRpdGlu
Zy91bmRvL1VuZG9NYW5hZ2VyIFsgU2tpcCBdCiB0aWxlZC1kcmF3aW5nIFsgU2tpcCBdCiBmYXN0
L2Nzcy93YXRjaG9zIFsgU2tpcCBdCiBmYXN0L2RvbS9XaW5kb3cvd2F0Y2hvcyBbIFNraXAgXQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvL1VuZG9NYW5hZ2VyL3VuZG8tbWFu
YWdlci1iYXNpYy11bmRvLXJlZG8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy91
bmRvL1VuZG9NYW5hZ2VyL3VuZG8tbWFuYWdlci1iYXNpYy11bmRvLXJlZG8tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjAzZDM0YjNhM2MzYjhhNmEwYTFkMzg5N2ZhOTIwMjAyY2Q5YjkxNzYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8vVW5kb01hbmFnZXIvdW5k
by1tYW5hZ2VyLWJhc2ljLXVuZG8tcmVkby1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAor
VmVyaWZpZXMgdGhhdCBVbmRvTWFuYWdlci51bmRvIGFuZCBVbmRvTWFuYWdlci5yZWRvIGNhbiBi
ZSB1c2VkIHRvIHVuZG8gYW5kIHJlZG8gZWRpdGluZyBjb21tYW5kcy4KKworQWZ0ZXIgaW5zZXJ0
aW5nIHRleHQ6Cit8ICJoZWxsbzwjc2VsZWN0aW9uLWNhcmV0PiIKKworQWZ0ZXIgdW5kb2luZyB1
c2luZyBVbmRvTWFuYWdlcjoKK3wgCisKK0FmdGVyIHJlZG9pbmcgdXNpbmcgZXhlY0NvbW1hbmQ6
Cit8ICJoZWxsbzwjc2VsZWN0aW9uLWNhcmV0PiIKKworQWZ0ZXIgdW5kb2luZyBhZ2FpbiB1c2lu
ZyBleGVjQ29tbWFuZDoKK3wgCisKK0FmdGVyIHJlZG9pbmcgYWdhaW4gdXNpbmcgVW5kb01hbmFn
ZXI6Cit8ICJoZWxsbzwjc2VsZWN0aW9uLWNhcmV0PiIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvdW5kby9VbmRvTWFuYWdlci91bmRvLW1hbmFnZXItYmFzaWMtdW5kby1yZWRvLmh0
bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8vVW5kb01hbmFnZXIvdW5kby1tYW5hZ2VyLWJh
c2ljLXVuZG8tcmVkby5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEwMDYwMTU1YzcxMjI2NmExNGVhNWE3OWVh
ODA2MTQ5MWE1NzNhNDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Vu
ZG8vVW5kb01hbmFnZXIvdW5kby1tYW5hZ2VyLWJhc2ljLXVuZG8tcmVkby5odG1sCkBAIC0wLDAg
KzEsMjYgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJs
ZVVuZG9NYW5hZ2VyQVBJPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3Njcmlw
dD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxkaXYgaWQ9ImVkaXRvciIgY29u
dGVudGVkaXRhYmxlPjwvZGl2PgorICAgIDwvYm9keT4KKyAgICA8c2NyaXB0PgorICAgICAgICBl
ZGl0b3IuZm9jdXMoKTsKKworICAgICAgICBNYXJrdXAuZGVzY3JpcHRpb24oIlZlcmlmaWVzIHRo
YXQgVW5kb01hbmFnZXIudW5kbyBhbmQgVW5kb01hbmFnZXIucmVkbyBjYW4gYmUgdXNlZCB0byB1
bmRvIGFuZCByZWRvIGVkaXRpbmcgY29tbWFuZHMuIik7CisgICAgICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCJJbnNlcnRIVE1MIiwgdHJ1ZSwgImhlbGxvIik7CisgICAgICAgIE1hcmt1cC5kdW1w
KCJlZGl0b3IiLCAiQWZ0ZXIgaW5zZXJ0aW5nIHRleHQiKTsKKyAgICAgICAgZG9jdW1lbnQudW5k
b01hbmFnZXIudW5kbygpOworICAgICAgICBNYXJrdXAuZHVtcCgiZWRpdG9yIiwgIkFmdGVyIHVu
ZG9pbmcgdXNpbmcgVW5kb01hbmFnZXIiKTsKKyAgICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
InJlZG8iKTsKKyAgICAgICAgTWFya3VwLmR1bXAoImVkaXRvciIsICJBZnRlciByZWRvaW5nIHVz
aW5nIGV4ZWNDb21tYW5kIik7CisgICAgICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJ1bmRvIik7
CisgICAgICAgIE1hcmt1cC5kdW1wKCJlZGl0b3IiLCAiQWZ0ZXIgdW5kb2luZyBhZ2FpbiB1c2lu
ZyBleGVjQ29tbWFuZCIpOworICAgICAgICBkb2N1bWVudC51bmRvTWFuYWdlci5yZWRvKCk7Cisg
ICAgICAgIE1hcmt1cC5kdW1wKCJlZGl0b3IiLCAiQWZ0ZXIgcmVkb2luZyBhZ2FpbiB1c2luZyBV
bmRvTWFuYWdlciIpOworCisgICAgICAgIGVkaXRvci5yZW1vdmUoKTsKKyAgICA8L3NjcmlwdD4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvdW5kby9VbmRvTWFuYWdl
ci91bmRvLW1hbmFnZXItaW50ZXJmYWNlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3VuZG8vVW5kb01hbmFnZXIvdW5kby1tYW5hZ2VyLWludGVyZmFjZXMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgwMGJjYzRkZjg0MWMzZTViNmZmZDY2YjMyMWEzNzM0MGFmMThmZTQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8vVW5kb01hbmFnZXIvdW5k
by1tYW5hZ2VyLWludGVyZmFjZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDkgQEAKK1Zlcmlm
aWVzIHRoYXQsIHdoZW4gdGhlIFVuZG9NYW5hZ2VyIEFQSSBpcyBlbmFibGVkLCBVbmRvTWFuYWdl
ciBhbmQgVW5kb0l0ZW0gaW50ZXJmYWNlcyBiZWhhdmUgYXMgZXhwZWN0ZWQuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCisKK1Rlc3RpbmcgVW5kb01hbmFnZXI6CitQQVNTIFVuZG9N
YW5hZ2VyIGluc3RhbmNlb2YgRnVuY3Rpb24gaXMgdHJ1ZQorUEFTUyB0eXBlb2YgVW5kb01hbmFn
ZXIgaXMgImZ1bmN0aW9uIgorUEFTUyBkb2N1bWVudC51bmRvTWFuYWdlciBpbnN0YW5jZW9mIFVu
ZG9NYW5hZ2VyIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldFByb3RvdHlwZU9mKGRvY3VtZW50LnVu
ZG9NYW5hZ2VyKSA9PT0gVW5kb01hbmFnZXIucHJvdG90eXBlIGlzIHRydWUKK1BBU1MgVW5kb01h
bmFnZXIucHJvdG90eXBlLmFkZEl0ZW0gaW5zdGFuY2VvZiBGdW5jdGlvbiBpcyB0cnVlCitQQVNT
IFVuZG9NYW5hZ2VyLnByb3RvdHlwZS51bmRvIGluc3RhbmNlb2YgRnVuY3Rpb24gaXMgdHJ1ZQor
UEFTUyBVbmRvTWFuYWdlci5wcm90b3R5cGUucmVkbyBpbnN0YW5jZW9mIEZ1bmN0aW9uIGlzIHRy
dWUKK1BBU1MgVW5kb01hbmFnZXIoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBJbGxlZ2Fs
IGNvbnN0cnVjdG9yLgorUEFTUyBuZXcgVW5kb01hbmFnZXIoKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IFVu
ZG9NYW5hZ2VyKCknKS4KK1BBU1MgZG9jdW1lbnQudW5kb01hbmFnZXIuYWRkSXRlbSgpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBkb2N1bWVu
dC51bmRvTWFuYWdlci5hZGRJdGVtKCdmb28nKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBB
cmd1bWVudCAxICgnaXRlbScpIHRvIFVuZG9NYW5hZ2VyLmFkZEl0ZW0gbXVzdCBiZSBhbiBpbnN0
YW5jZSBvZiBVbmRvSXRlbS4KK1BBU1MgZG9jdW1lbnQudW5kb01hbmFnZXIudW5kbygpIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBkb2N1bWVudC51bmRvTWFuYWdlci5yZWRvKCkgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGRvY3VtZW50LnVuZG9NYW5hZ2VyLnVuZG8oMikg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIGRvY3VtZW50LnVuZG9NYW5hZ2VyLnJlZG8o
bmV3IEFycmF5KDApKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgVW5kb01hbmFnZXIu
dG9TdHJpbmcoKSBpcyAiZnVuY3Rpb24gVW5kb01hbmFnZXIoKSB7XG4gICAgW25hdGl2ZSBjb2Rl
XVxufSIKK1BBU1MgZG9jdW1lbnQudW5kb01hbmFnZXIudG9TdHJpbmcoKSBpcyAiW29iamVjdCBV
bmRvTWFuYWdlcl0iCisKK1Rlc3RpbmcgVW5kb0l0ZW06CitQQVNTIFVuZG9JdGVtIGluc3RhbmNl
b2YgRnVuY3Rpb24gaXMgdHJ1ZQorUEFTUyB0eXBlb2YgVW5kb0l0ZW0gaXMgImZ1bmN0aW9uIgor
UEFTUyBVbmRvSXRlbSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IENvbnN0cnVjdG9yIHJl
cXVpcmVzICduZXcnIG9wZXJhdG9yLgorUEFTUyBuZXcgVW5kb0l0ZW0oKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgbmV3IFVuZG9JdGVtKCcn
KSBpbnN0YW5jZW9mIFVuZG9JdGVtIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldFByb3RvdHlwZU9m
KG5ldyBVbmRvSXRlbSgnJykpID09PSBVbmRvSXRlbS5wcm90b3R5cGUgaXMgdHJ1ZQorUEFTUyBV
bmRvSXRlbS50b1N0cmluZygpIGlzICJmdW5jdGlvbiBVbmRvSXRlbSgpIHtcbiAgICBbbmF0aXZl
IGNvZGVdXG59IgorUEFTUyBuZXcgVW5kb0l0ZW0oJycpLnRvU3RyaW5nKCkgaXMgIltvYmplY3Qg
VW5kb0l0ZW1dIgorUEFTUyBkb2N1bWVudC51bmRvTWFuYWdlci5hZGRJdGVtKG5ldyBVbmRvSXRl
bSgnJykpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBuZXcgVW5kb0l0ZW0oJ2Zvbycp
LmxhYmVsIGlzICJmb28iCitQQVNTIG5ldyBVbmRvSXRlbSgnJykubGFiZWwgPSAndGVzdGluZycg
aXMgInRlc3RpbmciCitQQVNTIG5ldyBVbmRvSXRlbSgnJykudW5kbyBpcyBudWxsCitQQVNTIG5l
dyBVbmRvSXRlbSgnJykudW5kbyA9IDggdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVGhlIFVu
ZG9JdGVtLnVuZG8gYXR0cmlidXRlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgVm9pZENhbGxiYWNr
LgorUEFTUyBuZXcgVW5kb0l0ZW0oJycpLnVuZG8gPSBudWxsIGlzIG51bGwKK1BBU1MgbmV3IFVu
ZG9JdGVtKCcnKS51bmRvID0gKCkgPT4geyB9IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFT
UyBuZXcgVW5kb0l0ZW0oJycpLnJlZG8gaXMgbnVsbAorUEFTUyBuZXcgVW5kb0l0ZW0oJycpLnJl
ZG8gPSAnaGknIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFRoZSBVbmRvSXRlbS5yZWRvIGF0
dHJpYnV0ZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFZvaWRDYWxsYmFjay4KK1BBU1MgbmV3IFVu
ZG9JdGVtKCcnKS5yZWRvID0gdW5kZWZpbmVkIGlzIHVuZGVmaW5lZAorUEFTUyBuZXcgVW5kb0l0
ZW0oJycpLnJlZG8gPSAoZm9vLCBiYXIpID0+IHsgfSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4K
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8vVW5kb01hbmFnZXIvdW5kby1tYW5hZ2Vy
LWludGVyZmFjZXMuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvdW5kby9VbmRvTWFuYWdlci91
bmRvLW1hbmFnZXItaW50ZXJmYWNlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxMGY4N2YwOWQzNTlkZDA1
MzJkOTg3YjEzY2M0Yjk3YzcwNTViYjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3VuZG8vVW5kb01hbmFnZXIvdW5kby1tYW5hZ2VyLWludGVyZmFjZXMuaHRtbApAQCAt
MCwwICsxLDUzIEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBl
bmFibGVVbmRvTWFuYWdlckFQST10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICA8L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJWZXJpZmllcyB0aGF0LCB3aGVuIHRo
ZSBVbmRvTWFuYWdlciBBUEkgaXMgZW5hYmxlZCwgVW5kb01hbmFnZXIgYW5kIFVuZG9JdGVtIGlu
dGVyZmFjZXMgYmVoYXZlIGFzIGV4cGVjdGVkLiIpOworCisgICAgICAgICAgICBkZWJ1ZygiXG5U
ZXN0aW5nIFVuZG9NYW5hZ2VyOiIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJVbmRvTWFu
YWdlciBpbnN0YW5jZW9mIEZ1bmN0aW9uIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoInR5cGVvZiBVbmRvTWFuYWdlciIsICJmdW5jdGlvbiIpOworICAgICAgICAgICAgc2hv
dWxkQmVUcnVlKCJkb2N1bWVudC51bmRvTWFuYWdlciBpbnN0YW5jZW9mIFVuZG9NYW5hZ2VyIik7
CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIk9iamVjdC5nZXRQcm90b3R5cGVPZihkb2N1bWVu
dC51bmRvTWFuYWdlcikgPT09IFVuZG9NYW5hZ2VyLnByb3RvdHlwZSIpOworICAgICAgICAgICAg
c2hvdWxkQmVUcnVlKCJVbmRvTWFuYWdlci5wcm90b3R5cGUuYWRkSXRlbSBpbnN0YW5jZW9mIEZ1
bmN0aW9uIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIlVuZG9NYW5hZ2VyLnByb3RvdHlw
ZS51bmRvIGluc3RhbmNlb2YgRnVuY3Rpb24iKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgi
VW5kb01hbmFnZXIucHJvdG90eXBlLnJlZG8gaW5zdGFuY2VvZiBGdW5jdGlvbiIpOworICAgICAg
ICAgICAgc2hvdWxkVGhyb3coIlVuZG9NYW5hZ2VyKCkiKTsKKyAgICAgICAgICAgIHNob3VsZFRo
cm93KCJuZXcgVW5kb01hbmFnZXIoKSIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3coImRvY3Vt
ZW50LnVuZG9NYW5hZ2VyLmFkZEl0ZW0oKSIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3coImRv
Y3VtZW50LnVuZG9NYW5hZ2VyLmFkZEl0ZW0oJ2ZvbycpIik7CisgICAgICAgICAgICBzaG91bGRO
b3RUaHJvdygiZG9jdW1lbnQudW5kb01hbmFnZXIudW5kbygpIik7CisgICAgICAgICAgICBzaG91
bGROb3RUaHJvdygiZG9jdW1lbnQudW5kb01hbmFnZXIucmVkbygpIik7CisgICAgICAgICAgICBz
aG91bGROb3RUaHJvdygiZG9jdW1lbnQudW5kb01hbmFnZXIudW5kbygyKSIpOworICAgICAgICAg
ICAgc2hvdWxkTm90VGhyb3coImRvY3VtZW50LnVuZG9NYW5hZ2VyLnJlZG8obmV3IEFycmF5KDAp
KSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJVbmRvTWFuYWdlci50b1N0
cmluZygpIiwgImZ1bmN0aW9uIFVuZG9NYW5hZ2VyKCkge1xuICAgIFtuYXRpdmUgY29kZV1cbn0i
KTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQudW5kb01hbmFn
ZXIudG9TdHJpbmcoKSIsICJbb2JqZWN0IFVuZG9NYW5hZ2VyXSIpOworCisgICAgICAgICAgICBk
ZWJ1ZygiXG5UZXN0aW5nIFVuZG9JdGVtOiIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJV
bmRvSXRlbSBpbnN0YW5jZW9mIEZ1bmN0aW9uIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInR5cGVvZiBVbmRvSXRlbSIsICJmdW5jdGlvbiIpOworICAgICAgICAgICAgc2hv
dWxkVGhyb3coIlVuZG9JdGVtKCkiKTsKKyAgICAgICAgICAgIHNob3VsZFRocm93KCJuZXcgVW5k
b0l0ZW0oKSIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJuZXcgVW5kb0l0ZW0oJycpIGlu
c3RhbmNlb2YgVW5kb0l0ZW0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiT2JqZWN0Lmdl
dFByb3RvdHlwZU9mKG5ldyBVbmRvSXRlbSgnJykpID09PSBVbmRvSXRlbS5wcm90b3R5cGUiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiVW5kb0l0ZW0udG9TdHJpbmcoKSIs
ICJmdW5jdGlvbiBVbmRvSXRlbSgpIHtcbiAgICBbbmF0aXZlIGNvZGVdXG59Iik7CisgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5ldyBVbmRvSXRlbSgnJykudG9TdHJpbmcoKSIs
ICJbb2JqZWN0IFVuZG9JdGVtXSIpOworICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coImRvY3Vt
ZW50LnVuZG9NYW5hZ2VyLmFkZEl0ZW0obmV3IFVuZG9JdGVtKCcnKSkiKTsKKyAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IFVuZG9JdGVtKCdmb28nKS5sYWJlbCIsICJmb28i
KTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibmV3IFVuZG9JdGVtKCcnKS5s
YWJlbCA9ICd0ZXN0aW5nJyIsICJ0ZXN0aW5nIik7CisgICAgICAgICAgICBzaG91bGRCZU51bGwo
Im5ldyBVbmRvSXRlbSgnJykudW5kbyIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3coIm5ldyBV
bmRvSXRlbSgnJykudW5kbyA9IDgiKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJuZXcgVW5kb0l0
ZW0oJycpLnVuZG8gPSBudWxsIiwgIm51bGwiKTsKKyAgICAgICAgICAgIHNob3VsZE5vdFRocm93
KCJuZXcgVW5kb0l0ZW0oJycpLnVuZG8gPSAoKSA9PiB7IH0iKTsKKyAgICAgICAgICAgIHNob3Vs
ZEJlTnVsbCgibmV3IFVuZG9JdGVtKCcnKS5yZWRvIik7CisgICAgICAgICAgICBzaG91bGRUaHJv
dygibmV3IFVuZG9JdGVtKCcnKS5yZWRvID0gJ2hpJyIpOworICAgICAgICAgICAgc2hvdWxkQmUo
Im5ldyBVbmRvSXRlbSgnJykucmVkbyA9IHVuZGVmaW5lZCIsICJ1bmRlZmluZWQiKTsKKyAgICAg
ICAgICAgIHNob3VsZE5vdFRocm93KCJuZXcgVW5kb0l0ZW0oJycpLnJlZG8gPSAoZm9vLCBiYXIp
ID0+IHsgfSIpOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHkgb25sb2FkPXJ1
blRlc3QoKT48L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2sy
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYzM2MTgzZGRhN2ExMGNkMDhiMDUxOWZkMzFkYWJjNWJj
OGRmNTZiZi4uYjg2Yzk0MmIzMzAyNzYzYWVmYzI5ZjI0MTY1MDdjYWI1ZDZlZDBmYSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTYsNiAr
MTYsNyBAQCB0aWxlZC1kcmF3aW5nL2lvcyBbIFBhc3MgXQogZmFzdC93ZWItc2hhcmUgWyBQYXNz
IF0KIGVkaXRpbmcvZmluZCBbIFBhc3MgXQogZWRpdGluZy9pbnB1dC9pb3MgWyBQYXNzIF0KK2Vk
aXRpbmcvdW5kby9VbmRvTWFuYWdlciBbIFBhc3MgXQogCiBlZGl0aW5nL3NlbGVjdGlvbi9jaGFy
YWN0ZXItZ3JhbnVsYXJpdHktcmVjdC5odG1sIFsgRmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBjYWFhNGMxNWRhYWM5MWYz
NjU5YTM1YTYyNDA2NDVjYWUyYTA1MjFkLi5mZDc5NjA1NDcwOWY2ZjBkMWExYzE3ZWY0YTNmMzIw
Yzk5N2ZkYmMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0
YXRpb25zCkBAIC0xMSw2ICsxMSw3IEBAIGZhc3QvdmlzdWFsLXZpZXdwb3J0L3RpbGVkLWRyYXdp
bmcgWyBQYXNzIF0KIHN3aXBlIFsgUGFzcyBdCiBmYXN0L3dlYi1zaGFyZSBbIFBhc3MgXQogZWRp
dGluZy9maW5kIFsgUGFzcyBdCitlZGl0aW5nL3VuZG8vVW5kb01hbmFnZXIgWyBQYXNzIF0KIAog
ZmFzdC9ldmVudHMvYXV0b3Njcm9sbC13aGVuLXpvb21lZC5odG1sIFsgUGFzcyBdCiBmYXN0L2V2
ZW50cy9hdXRvc2Nyb2xsLW1haW4tZG9jdW1lbnQuaHRtbCBbIFBhc3MgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358847</attachid>
            <date>2019-01-10 16:17:43 -0800</date>
            <delta_ts>2019-01-10 19:40:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193109-20190110161742.patch</filename>
            <type>text/plain</type>
            <size>45857</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5ODQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODM2NDU4OTBlOTkyOWM1
ODk5ODcxMjI3NTRkZDcyNDJiMDdhMmEzNC4uNTU3MzhiYzI0NmJjOGIyODhiODQ5ZjQ2YjhjMzMz
NGJiODk2NzViYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDE5LTAxLTEwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEludHJvZHVjZSBJ
REwgZmlsZXMgZm9yIHJ1bnRpbWUtZW5hYmxlZCBVbmRvTWFuYWdlciBhbmQgVW5kb0l0ZW0gSmF2
YVNjcmlwdCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5MzEwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ4MDcwNDg+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBuZXcgSURMIGZpbGVz
IGFuZCBzdHVicyBmb3IgVW5kb01hbmFnZXIgYW5kIFVuZG9JdGVtLiBUaGlzIGlzIGFuIGV4cGVy
aW1lbnRhbCBET00gQVBJIHRoYXQgKGluIHRoZSBuZWFyCisgICAgICAgIGZ1dHVyZSkgaXMgaW50
ZW5kZWQgb25seSBmb3IgdXNlIGluIGludGVybmFsIFdlYktpdCB0ZXh0IGVkaXRpbmcgY2xpZW50
cy4gVGhpcyBBUEkgYWxsb3dzIHRoZSBwYWdlIHRvCisgICAgICAgIHBhcnRpY2lwYXRlIGluIHRo
ZSBwcm9jZXNzZXMgb2YgdW5kb2luZyBhbmQgcmVkb2luZyBieSBkZWZpbmluZyBjdXN0b20gdW5k
byBhbmQgcmVkbyBoYW5kbGVycywgdG8gYmUgZXhlY3V0ZWQKKyAgICAgICAgd2hlbiB1bmRvIG9y
IHJlZG8gaXMgdHJpZ2dlcmVkLgorCisgICAgICAgIFRlc3Q6IGVkaXRpbmcvdW5kby9VbmRvTWFu
YWdlci91bmRvLW1hbmFnZXItaW50ZXJmYWNlcy5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3Rz
LnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLm1ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogVW5pZmllZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisKKyAgICAgICAgQWRkIG5ldyBzb3VyY2UgZmlsZXMuCisKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisKKyAgICAgICAgQWRkICJVbmRv
TWFuYWdlciIgYW5kICJVbmRvSXRlbSIgbmFtZXMuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6bV91bmRvTWFuYWdlcik6CisKKyAgICAgICAgSGF2ZSB0
aGUgZG9jdW1lbnQgb3duIGEgVW5kb01hbmFnZXIuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1bmRvTWFuYWdlciBjb25zdCk6CisgICAg
ICAgICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAgICAgKiBwYWdlL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFVu
ZG9NYW5hZ2VyQVBJRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjp1bmRvTWFuYWdlckFQSUVuYWJsZWQgY29uc3QpOgorCisgICAgICAgIEd1YXJkIHRo
ZSBuZXcgYmluZGluZ3MgYmVoaW5kIGEgcnVudGltZS1lbmFibGVkIGZlYXR1cmUgZmxhZy4KKwor
ICAgICAgICAqIHBhZ2UvVW5kb0l0ZW0uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpVbmRv
SXRlbTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlVuZG9JdGVtOjpsYWJlbCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpVbmRvSXRlbTo6dW5kb0hhbmRsZXIgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6VW5kb0l0ZW06OnJlZG9IYW5kbGVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlVuZG9JdGVtOjpVbmRvSXRlbSk6CisgICAgICAgICogcGFnZS9VbmRvSXRlbS5pZGw6IEFk
ZGVkLgorICAgICAgICAqIHBhZ2UvVW5kb01hbmFnZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlVuZG9NYW5hZ2VyOjphZGRJdGVtKToKKyAgICAgICAgKiBwYWdlL1VuZG9NYW5hZ2Vy
Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VW5kb01hbmFnZXI6OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpVbmRvTWFuYWdlcjo6VW5kb01hbmFnZXIpOgorICAgICAgICAqIHBhZ2Uv
VW5kb01hbmFnZXIuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL21hYy9XaGVlbEV2ZW50RGVs
dGFGaWx0ZXJNYWMuaDoKKworICAgICAgICBOZWNlc3NhcnkgKGFsYmVpdCB1bnJlbGF0ZWQpIGJ1
aWxkIGZpeCB0byBhcHBlYXNlIHVuaWZpZWQgc291cmNlcy4KKwogMjAxOS0wMS0xMCAgU2ltb24g
RnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggcmFyZSBjcmFz
aCB1bmRlciBTY3JvbGxiYXJUaGVtZU1hYzo6cGFpbnRTY3JvbGxDb3JuZXIoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCBkNzY4YWM5Nzc0OGY0ZGZjNjFhMDE3MWZmYTU1NjY0OTRjYzVmOTdhLi40OWFiZTE1ZTk5NDZi
ZTIwOTliZTYyNjkyMDQwNzEwM2ZhYmFhYzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisy
MDE5LTAxLTEwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAg
ICAgIEludHJvZHVjZSBJREwgZmlsZXMgZm9yIHJ1bnRpbWUtZW5hYmxlZCBVbmRvTWFuYWdlciBh
bmQgVW5kb0l0ZW0gSmF2YVNjcmlwdCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MzEwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ4MDcw
NDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IGEgbmV3IFNQSSBjb25maWd1cmF0aW9uIGZsYWcgdG8gZW5hYmxlIHRoZSBVbmRvTWFuYWdlciBB
UEkuIFRoaXMgaXMgb2ZmIGJ5IGRlZmF1bHQuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVy
ZW5jZXMueWFtbDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToK
KyAgICAgICAgKC1bV0tXZWJWaWV3IF9pbml0aWFsaXplV2l0aENvbmZpZ3VyYXRpb246XSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tOgor
ICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGluaXRdKToKKyAgICAgICAgKC1bV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiBjb3B5V2l0aFpvbmU6XSk6CisgICAgICAgICgtW1dLV2ViVmll
d0NvbmZpZ3VyYXRpb24gX3NldFVuZG9NYW5hZ2VyQVBJRW5hYmxlZDpdKToKKyAgICAgICAgKC1b
V0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfdW5kb01hbmFnZXJBUElFbmFibGVkXSk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oOgor
CiAyMDE5LTAxLTEwICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbbWFjT1NdIEFkZCBuYW1lIG9mIElPUmVnaXN0cnkga2V5IGluIHNhbmRib3guCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CmluZGV4IDFkZDUzMjlhOWI1OTY3OTgyMzllN2UyYTcxNDA1ODczZTQwMjA0
NGMuLjMyMGQxNjk3OTZhZjk3OTY5YjlkY2Y3ZjY0OTdlYzQxYThhMTNlNzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CkBAIC05MjYsNiArOTI2LDggQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklM
RVMKICAgICBwYWdlL1Njcm9sbExvZ2ljYWxQb3NpdGlvbi5pZGwKICAgICBwYWdlL1Njcm9sbFRv
T3B0aW9ucy5pZGwKICAgICBwYWdlL1NoYXJlRGF0YS5pZGwKKyAgICBwYWdlL1VuZG9JdGVtLmlk
bAorICAgIHBhZ2UvVW5kb01hbmFnZXIuaWRsCiAgICAgcGFnZS9WaXN1YWxWaWV3cG9ydC5pZGwK
ICAgICBwYWdlL1dlYktpdFBvaW50LmlkbAogICAgIHBhZ2UvV2luZG93RXZlbnRIYW5kbGVycy5p
ZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0Cmlu
ZGV4IDkwYjI1ZmExZTUzMTg1YTEwZDMwYWU1ZWYxZDM0ZjVhZThjYzQ3NWYuLmZmZjFkMDc0NDFk
MTY2YTMxZDM5MzkwYTc2NzcwY2Q2OWI1MTRkZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtODUyLDYgKzg1Miw4IEBAICQoUFJPSkVD
VF9ESVIpL3BhZ2UvU2Nyb2xsTG9naWNhbFBvc2l0aW9uLmlkbAogJChQUk9KRUNUX0RJUikvcGFn
ZS9TY3JvbGxUb09wdGlvbnMuaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL1NldHRpbmdzLnlhbWwK
ICQoUFJPSkVDVF9ESVIpL3BhZ2UvU2hhcmVEYXRhLmlkbAorJChQUk9KRUNUX0RJUikvcGFnZS9V
bmRvSXRlbS5pZGwKKyQoUFJPSkVDVF9ESVIpL3BhZ2UvVW5kb01hbmFnZXIuaWRsCiAkKFBST0pF
Q1RfRElSKS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlci5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2Uv
VXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvVmlz
dWFsVmlld3BvcnQuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0CmluZGV4IGRmYmI4OGIwYzY3NWM3MGMxMGNjMjdjZThhMjZmYTE0OGNlNjdj
YzguLjhkMmFjOWQ1N2M1MTNmMjgyOTFhYjI1YTcwMDE0YmNmYjdmNjI2M2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xNzAyLDYg
KzE3MDIsMTAgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNVSUV2ZW50SW5pdC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTVUlFdmVudEluaXQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNVUkxTZWFyY2hQYXJhbXMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VSTFNlYXJjaFBhcmFtcy5oCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VuZG9JdGVtLmNwcAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNVbmRvSXRlbS5oCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VuZG9NYW5hZ2VyLmNwcAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNVbmRvTWFuYWdl
ci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VzZXJN
ZXNzYWdlSGFuZGxlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTVXNlck1lc3NhZ2VIYW5kbGVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5jcHAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGUxN2M2YWZhN2E3YzAxMzE5MWM4YzNlOTc1
N2YzNmViNjBmYjNlNTUuLmU2YmFiZTczYTMxODI4NjFiMTc5Njg1NmUxNzQ4YjBmMWEzY2U0ZmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtODc1LDYgKzg3NSw4IEBAIEpTX0JJ
TkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvU2Nyb2xsTG9naWNhbFBvc2l0aW9u
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1Njcm9sbFRvT3B0aW9ucy5pZGwgXAogICAgICQo
V2ViQ29yZSkvcGFnZS9TaGFyZURhdGEuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvVW5kb0l0
ZW0uaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvVW5kb01hbmFnZXIuaWRsIFwKICAgICAkKFdl
YkNvcmUpL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdl
L1VzZXJNZXNzYWdlSGFuZGxlcnNOYW1lc3BhY2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2Uv
VmlzdWFsVmlld3BvcnQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggZTcwMzQ2MDc2MTgzYzllZDc2
OWIzZjQ4MWM2OGMxZmU5OTQ3MDA1MC4uODIzYzNkZGUzZTY3NDQzMzg2NWExMzA4YmNlM2Y3ZDk4
MmIzMzE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE1MDYsNiArMTUwNiw3IEBAIHBhZ2UvU29ja2V0
UHJvdmlkZXIuY3BwCiBwYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcAogcGFnZS9TdXNwZW5kYWJs
ZVRpbWVyLmNwcAogcGFnZS9UZXh0SW5kaWNhdG9yLmNwcAorcGFnZS9VbmRvTWFuYWdlci5jcHAK
IHBhZ2UvVXNlckNvbnRlbnRQcm92aWRlci5jcHAKIHBhZ2UvVXNlckNvbnRlbnRDb250cm9sbGVy
LmNwcAogcGFnZS9Vc2VyQ29udGVudFVSTFBhdHRlcm4uY3BwCkBAIC0zMjIyLDYgKzMyMjMsOCBA
QCBKU1RleHRNZXRyaWNzLmNwcAogSlNUaW1lUmFuZ2VzLmNwcAogSlNUcmFuc2l0aW9uRXZlbnQu
Y3BwCiBKU1RyZWVXYWxrZXIuY3BwCitKU1VuZG9JdGVtLmNwcAorSlNVbmRvTWFuYWdlci5jcHAK
IEpTVUlFdmVudC5jcHAKIEpTVUlFdmVudEluaXQuY3BwCiBKU1VSTFNlYXJjaFBhcmFtcy5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VuaWZpZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3QgYi9Tb3VyY2UvV2ViQ29yZS9VbmlmaWVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4
IGRmYzJhM2MyOTUyOWE0MTQ2NDQ4ZWM4YzNiNWJjZWUwODE0MTE3MzAuLjA3Y2U5NDY0YTg5OTk3
MjZlZTFhNjA0MzU5NTEzMTJlZjMzOWRhMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Vu
aWZpZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvVW5pZmll
ZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtODE4LDYgKzgxOCw4IEBAICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVHJlZVdhbGtlci5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVUlFdmVudC5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVUlFdmVudEluaXQu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VSTFNl
YXJjaFBhcmFtcy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTVW5kb0l0ZW0uY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1VuZG9NYW5hZ2VyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNVc2VyTWVzc2FnZUhhbmRsZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VzZXJNZXNzYWdlSGFuZGxlcnNOYW1lc3Bh
Y2UuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Vz
ZXJWZXJpZmljYXRpb25SZXF1aXJlbWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAwOWMwN2JiNWRhYzYxNmYwNTA0YjM0
NTI1ZGEyNmRiMzZlMTY1ZmEwLi4zOTRmMzBmYjg5N2Q0ODlhOTI3MGYxN2U5ZmU2ZDMxNmIzM2Fh
Y2RiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC04NjgsNiArODY4LDggQEAKIAkJMkVCNEJDRDMxMjFGMDNFMzAwRUM0ODg1IC8q
IEJsb2JSZXNvdXJjZUhhbmRsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkVCNEJDRDExMjFGMDNFMzAwRUM0ODg1IC8qIEJsb2JSZXNvdXJjZUhhbmRs
ZS5oICovOyB9OwogCQkyRUI3Njc1NzFEQTE5QkRGMDAzRTIzQjUgLyogSW5wdXRFdmVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkVCNzY3NTQxREEx
OUI2NzAwM0UyM0I1IC8qIElucHV0RXZlbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQkyRUJCQzNEODFCNjU5ODgzMDBGNTI1M0QgLyogV2hlZWxF
dmVudERlbHRhRmlsdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyRUJCQzNENzFCNjU5ODgzMDBGNTI1M0QgLyogV2hlZWxFdmVudERlbHRhRmlsdGVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMkVD
REJBRDEyMUQ4OTAzNDAwRjAwRUNEIC8qIFVuZG9NYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRUNEQkFDRTIxRDg5MDM0MDBGMDBFQ0QgLyog
VW5kb01hbmFnZXIuaCAqLzsgfTsKKwkJMkVDREJBRDgyMUQ4OTA2MzAwRjAwRUNEIC8qIFVuZG9J
dGVtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRUNE
QkFENTIxRDg5MDYzMDBGMDBFQ0QgLyogVW5kb0l0ZW0uaCAqLzsgfTsKIAkJMkVDRjdBREQxMDE2
MkIzODAwNDI3REU3IC8qIEpTRXJyb3JFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkVDRjdBREIxMDE2MkIzODAwNDI3REU3IC8qIEpTRXJyb3JF
dmVudC5oICovOyB9OwogCQkyRUNGN0FFMjEwMTYyQjU4MDA0MjdERTcgLyogRXJyb3JFdmVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkVDRjdBREYx
MDE2MkI1ODAwNDI3REU3IC8qIEVycm9yRXZlbnQuaCAqLzsgfTsKIAkJMkVENjA5QkQxMTQ1QjA3
MTAwQzg2ODRFIC8qIERPTUZvcm1EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyRUQ2MDlCQjExNDVCMDcxMDBDODY4NEUgLyogRE9NRm9ybURhdGEu
aCAqLzsgfTsKQEAgLTY4MzMsNiArNjgzNSwxMSBAQAogCQkyRUI3Njc1NTFEQTE5Qjk5MDAzRTIz
QjUgLyogSW5wdXRFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBJbnB1dEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkVCQkMzRDcx
QjY1OTg4MzAwRjUyNTNEIC8qIFdoZWVsRXZlbnREZWx0YUZpbHRlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXaGVlbEV2ZW50RGVsdGFGaWx0ZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMkVDNDFERTIxQzA0MTBBMzAwRDI5NEZFIC8qIFJlYWx0aW1lTWVk
aWFTb3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRUNEQkFDRTIxRDg5MDM0MDBGMDBFQ0Qg
LyogVW5kb01hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVW5kb01hbmFnZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkVDREJBQ0YyMUQ4OTAzNDAwRjAwRUNEIC8qIFVuZG9NYW5h
Z2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVuZG9NYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMkVDREJBRDAyMUQ4OTAzNDAwRjAwRUNEIC8qIFVuZG9NYW5hZ2Vy
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBVbmRvTWFuYWdlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTJFQ0RCQUQ1MjFEODkwNjMwMEYwMEVDRCAvKiBVbmRvSXRlbS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBV
bmRvSXRlbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRUNEQkFENzIxRDg5MDYz
MDBGMDBFQ0QgLyogVW5kb0l0ZW0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFVuZG9JdGVtLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMkVDRjdBREExMDE2MkIzODAwNDI3REU3IC8qIEpTRXJyb3JFdmVu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Vycm9yRXZlbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRUNGN0FEQjEwMTYyQjM4MDA0MjdE
RTcgLyogSlNFcnJvckV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
RXJyb3JFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRUNGN0FERTEwMTYy
QjU4MDA0MjdERTcgLyogRXJyb3JFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBFcnJvckV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTIwMjIyLDYgKzIwMjI5LDExIEBACiAJCQkJNjJDMTIxN0IxMUFCOUU3NzAwM0M0NjJDIC8qIFN1
c3BlbmRhYmxlVGltZXIuaCAqLywKIAkJCQkyRDRGOTZGMTFBMUVDQzI0MDA5OEJGODggLyogVGV4
dEluZGljYXRvci5jcHAgKi8sCiAJCQkJMkQ0Rjk2RjIxQTFFQ0MyNDAwOThCRjg4IC8qIFRleHRJ
bmRpY2F0b3IuaCAqLywKKwkJCQkyRUNEQkFENTIxRDg5MDYzMDBGMDBFQ0QgLyogVW5kb0l0ZW0u
aCAqLywKKwkJCQkyRUNEQkFENzIxRDg5MDYzMDBGMDBFQ0QgLyogVW5kb0l0ZW0uaWRsICovLAor
CQkJCTJFQ0RCQUNGMjFEODkwMzQwMEYwMEVDRCAvKiBVbmRvTWFuYWdlci5jcHAgKi8sCisJCQkJ
MkVDREJBQ0UyMUQ4OTAzNDAwRjAwRUNEIC8qIFVuZG9NYW5hZ2VyLmggKi8sCisJCQkJMkVDREJB
RDAyMUQ4OTAzNDAwRjAwRUNEIC8qIFVuZG9NYW5hZ2VyLmlkbCAqLywKIAkJCQkxQUU3OUQ0MDE4
OERCNjFGMDAyMjM5QzIgLyogVXNlckNvbnRlbnRDb250cm9sbGVyLmNwcCAqLywKIAkJCQkxQUU3
OUQ0MTE4OERCNjFGMDAyMjM5QzIgLyogVXNlckNvbnRlbnRDb250cm9sbGVyLmggKi8sCiAJCQkJ
N0MzRjAxQkYxQzhFNUFCMTAwQUREOTYyIC8qIFVzZXJDb250ZW50UHJvdmlkZXIuY3BwICovLApA
QCAtMzE4NTksNiArMzE4NzEsOCBAQAogCQkJCTg1MDMxQjRFMEE0NEVGQzcwMEY5OTJFMCAvKiBV
SUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4M0ZFN0NBNzFEQTlGMUE3MDAzNzIzN0MgLyog
VUlFdmVudEluaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDMxQjRGMEE0NEVGQzcwMEY5OTJF
MCAvKiBVSUV2ZW50V2l0aEtleVN0YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRUNEQkFEODIx
RDg5MDYzMDBGMDBFQ0QgLyogVW5kb0l0ZW0uaCBpbiBIZWFkZXJzICovLAorCQkJCTJFQ0RCQUQx
MjFEODkwMzQwMEYwMEVDRCAvKiBVbmRvTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOUIy
RDhBNzkxNDk5N0NDRjAwRUNFRjNFIC8qIFVuZG9TdGVwLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
ODYzRTIwMTEzNDM0MTIwMDAyNzQ5MjYgLyogVW5pY29kZUJpZGkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTUxODg2NEUxMUJCQUY1NzQwMEU1NDBDOSAvKiBVbmlxdWVJREJEYXRhYmFzZS5oIGluIEhl
YWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3Jl
QnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRp
bk5hbWVzLmgKaW5kZXggMmFlMWVjZjc4MzYxZDg2NjgyMWM2ZTljODNlZDVjNDNiYmVjNDU2Yy4u
Zjg5ZmYwZDlhY2Q3NGJhMDZlMmY4NGE3NzFlYTEwYWJjMjczZjQxNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMTc4LDYgKzE3
OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhTdGF0aWNSYW5nZSkgXAogICAg
IG1hY3JvKFN0eWxlUHJvcGVydHlNYXBSZWFkT25seSkgXAogICAgIG1hY3JvKFN0eWxlUHJvcGVy
dHlNYXApIFwKKyAgICBtYWNybyhVbmRvSXRlbSkgXAorICAgIG1hY3JvKFVuZG9NYW5hZ2VyKSBc
CiAgICAgbWFjcm8oVlJEaXNwbGF5KSBcCiAgICAgbWFjcm8oVlJEaXNwbGF5Q2FwYWJpbGl0aWVz
KSBcCiAgICAgbWFjcm8oVlJEaXNwbGF5RXZlbnQpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmlu
ZGV4IGU2MGEwYjQ4ZjVjMjk0ZDA5NzMwN2ExNWUwZmU4ZmZlYTMzNmI2NDEuLjc0ZmU2MDc2M2Iy
YmJhOTIzYTI1NTAwOWRkYzdiNWIwMWNhODVlYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApA
QCAtMjEwLDYgKzIxMCw3IEBACiAjaW5jbHVkZSAiVGV4dE5vZGVUcmF2ZXJzYWwuaCIKICNpbmNs
dWRlICJUcmFuc2Zvcm1Tb3VyY2UuaCIKICNpbmNsdWRlICJUcmVlV2Fsa2VyLmgiCisjaW5jbHVk
ZSAiVW5kb01hbmFnZXIuaCIKICNpbmNsdWRlICJVc2VyR2VzdHVyZUluZGljYXRvci5oIgogI2lu
Y2x1ZGUgIlZhbGlkYXRpb25NZXNzYWdlQ2xpZW50LmgiCiAjaW5jbHVkZSAiVmlzaWJpbGl0eUNo
YW5nZUNsaWVudC5oIgpAQCAtNTM3LDYgKzUzOCw3IEBAIERvY3VtZW50OjpEb2N1bWVudChGcmFt
ZSogZnJhbWUsIGNvbnN0IFVSTCYgdXJsLCB1bnNpZ25lZCBkb2N1bWVudENsYXNzZXMsIHVuc2ln
CiAgICAgLCBtX2lzTm9uUmVuZGVyZWRQbGFjZWhvbGRlcihjb25zdHJ1Y3Rpb25GbGFncyAmIE5v
blJlbmRlcmVkUGxhY2Vob2xkZXIpCiAgICAgLCBtX29yaWVudGF0aW9uTm90aWZpZXIoY3VycmVu
dE9yaWVudGF0aW9uKGZyYW1lKSkKICAgICAsIG1faWRlbnRpZmllcihnZW5lcmF0ZU9iamVjdElk
ZW50aWZpZXI8RG9jdW1lbnRJZGVudGlmaWVyVHlwZT4oKSkKKyAgICAsIG1fdW5kb01hbmFnZXIo
VW5kb01hbmFnZXI6OmNyZWF0ZSgqdGhpcykpCiB7CiAgICAgYXV0byBhZGRSZXN1bHQgPSBhbGxE
b2N1bWVudHNNYXAoKS5hZGQobV9pZGVudGlmaWVyLCB0aGlzKTsKICAgICBBU1NFUlRfVU5VU0VE
KGFkZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRl
eCA3N2YyZGJkNjhmNTNmNzBmYmY4NWM2YTgwYWJmNzdlODE1YzMwYTI2Li4xZGY3NWVjM2UzZjhl
M2U3YmNkOGI4Yzc3ZjVhYzRiOWUwZjFkYTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTg2
LDYgKzE4Niw3IEBAIGNsYXNzIFN0eWxlU2hlZXRMaXN0OwogY2xhc3MgVGV4dDsKIGNsYXNzIFRl
eHRSZXNvdXJjZURlY29kZXI7CiBjbGFzcyBUcmVlV2Fsa2VyOworY2xhc3MgVW5kb01hbmFnZXI7
CiBjbGFzcyBWaXNpYmlsaXR5Q2hhbmdlQ2xpZW50OwogY2xhc3MgVmlzaXRlZExpbmtTdGF0ZTsK
IGNsYXNzIFdlYkFuaW1hdGlvbjsKQEAgLTEwMDQsNiArMTAwNSw4IEBAIHB1YmxpYzoKICAgICBX
RUJDT1JFX0VYUE9SVCBib29sIHF1ZXJ5Q29tbWFuZFN1cHBvcnRlZChjb25zdCBTdHJpbmcmIGNv
bW1hbmQpOwogICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBxdWVyeUNvbW1hbmRWYWx1ZShjb25z
dCBTdHJpbmcmIGNvbW1hbmQpOwogCisgICAgVW5kb01hbmFnZXImIHVuZG9NYW5hZ2VyKCkgY29u
c3QgeyByZXR1cm4gbV91bmRvTWFuYWdlci5nZXQoKTsgfQorCiAgICAgLy8gZGVzaWduTW9kZSBz
dXBwb3J0CiAgICAgZW51bSBJbmhlcml0ZWRCb29sIHsgb2ZmID0gZmFsc2UsIG9uID0gdHJ1ZSwg
aW5oZXJpdCB9OyAgICAKICAgICB2b2lkIHNldERlc2lnbk1vZGUoSW5oZXJpdGVkQm9vbCB2YWx1
ZSk7CkBAIC0yMDg2LDYgKzIwODksOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc1J1bm5pbmdV
c2VyU2NyaXB0cyB7IGZhbHNlIH07CiAKICAgICBib29sIG1fYWx3YXlzQWxsb3dMb2NhbFdlYmFy
Y2hpdmUgeyBmYWxzZSB9OworCisgICAgUmVmPFVuZG9NYW5hZ2VyPiBtX3VuZG9NYW5hZ2VyOwog
fTsKIAogRWxlbWVudCogZXZlbnRUYXJnZXRFbGVtZW50Rm9yRG9jdW1lbnQoRG9jdW1lbnQqKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaWRsCmluZGV4IDFiNjhmMjQzNjRkMmZmNTgzYWE4ZDk0NGRmMzY0
OTBiNGEzZDdmMWYuLjZmNjM3OWI4Y2ZmYzk1Y2Y1ZDFjNmVlODA3Nzc5NjY3MTg1NDE5ZDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmlkbApAQCAtMTI2LDYgKzEyNiw3IEBAIHR5cGVkZWYgKAogICAg
IGJvb2xlYW4gcXVlcnlDb21tYW5kU3RhdGUoRE9NU3RyaW5nIGNvbW1hbmRJZCk7CiAgICAgYm9v
bGVhbiBxdWVyeUNvbW1hbmRTdXBwb3J0ZWQoRE9NU3RyaW5nIGNvbW1hbmRJZCk7CiAgICAgRE9N
U3RyaW5nIHF1ZXJ5Q29tbWFuZFZhbHVlKERPTVN0cmluZyBjb21tYW5kSWQpOworICAgIFtFbmFi
bGVkQXRSdW50aW1lPVVuZG9NYW5hZ2VyQVBJXSByZWFkb25seSBhdHRyaWJ1dGUgVW5kb01hbmFn
ZXIgdW5kb01hbmFnZXI7CiAKICAgICAvLyBTcGVjaWFsIGV2ZW50IGhhbmRsZXIgSURMIGF0dHJp
YnV0ZXMgdGhhdCBvbmx5IGFwcGx5IHRvIERvY3VtZW50IG9iamVjdHMuCiAgICAgW0xlbmllbnRU
aGlzXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ucmVhZHlzdGF0ZWNoYW5nZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKaW5kZXggMTE0NTU4ZWZhNjU4
MThkYmY2YjM4ZGFlNGFiYzQ2YTJmYjNlMzFiNi4uMDJmYWNlMGQzNTc0YmRjM2JiNWEzMzE4YTJl
NzIxYzIwMjg5ZTI2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZl
YXR1cmVzLmgKQEAgLTMxNSw2ICszMTUsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpbnRlcnNlY3Rp
b25PYnNlcnZlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2ludGVyc2VjdGlvbk9ic2VydmVy
RW5hYmxlZDsgfQogI2VuZGlmCiAKKyAgICB2b2lkIHNldFVuZG9NYW5hZ2VyQVBJRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX3VuZG9NYW5hZ2VyQVBJRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQor
ICAgIGJvb2wgdW5kb01hbmFnZXJBUElFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV91bmRvTWFu
YWdlckFQSUVuYWJsZWQ7IH0KKwogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAgICAgdm9p
ZCBzZXRFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9lbmNyeXB0
ZWRNZWRpYUFQSUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGVuY3J5cHRlZE1lZGlh
QVBJRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkOyB9
CkBAIC01MDYsNiArNTA5LDggQEAgcHJpdmF0ZToKICAgICBib29sIG1fc3lzdGVtUHJldmlld0Vu
YWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKKyAgICBib29sIG1fdW5kb01hbmFnZXJBUElFbmFi
bGVkIHsgZmFsc2UgfTsKKwogICAgIGZyaWVuZCBjbGFzcyBXVEY6Ok5ldmVyRGVzdHJveWVkPFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM+OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9VbmRvSXRlbS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9VbmRvSXRlbS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIyYzNiZjFkZGM2MzM4MzM3MGZkMjRlNmY1MjJjNDI4NDI5NTM3ZGQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9JdGVtLmgKQEAgLTAsMCArMSw2NiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiVm9pZENhbGxiYWNrLmgiCisj
aW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBVbmRvSXRlbSA6IHB1YmxpYyBSZWZDb3VudGVkPFVuZG9JdGVtPiB7CitwdWJsaWM6Cisg
ICAgc3RydWN0IEluaXQgeworICAgICAgICBSZWZQdHI8Vm9pZENhbGxiYWNrPiB1bmRvOworICAg
ICAgICBSZWZQdHI8Vm9pZENhbGxiYWNrPiByZWRvOworICAgIH07CisKKyAgICBzdGF0aWMgUmVm
PFVuZG9JdGVtPiBjcmVhdGUoU3RyaW5nJiYgbGFiZWwsIEluaXQmJiBpbml0KQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVW5kb0l0ZW0oV1RGTW92ZShsYWJlbCksIFdURk1v
dmUoaW5pdCkpKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIH5VbmRvSXRlbSgpID0gZGVmYXVsdDsK
KworICAgIGNvbnN0IFN0cmluZyYgbGFiZWwoKSBjb25zdCB7IHJldHVybiBtX2xhYmVsOyB9Cisg
ICAgVm9pZENhbGxiYWNrJiB1bmRvSGFuZGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fdW5kb0hhbmRs
ZXIuZ2V0KCk7IH0KKyAgICBWb2lkQ2FsbGJhY2smIHJlZG9IYW5kbGVyKCkgY29uc3QgeyByZXR1
cm4gbV9yZWRvSGFuZGxlci5nZXQoKTsgfQorCitwcml2YXRlOgorICAgIFVuZG9JdGVtKFN0cmlu
ZyYmIGxhYmVsLCBJbml0JiYgaW5pdCkKKyAgICAgICAgOiBtX2xhYmVsKFdURk1vdmUobGFiZWwp
KQorICAgICAgICAsIG1fdW5kb0hhbmRsZXIoaW5pdC51bmRvLnJlbGVhc2VOb25OdWxsKCkpCisg
ICAgICAgICwgbV9yZWRvSGFuZGxlcihpbml0LnJlZG8ucmVsZWFzZU5vbk51bGwoKSkKKyAgICB7
CisgICAgfQorCisgICAgU3RyaW5nIG1fbGFiZWw7CisgICAgUmVmPFZvaWRDYWxsYmFjaz4gbV91
bmRvSGFuZGxlcjsKKyAgICBSZWY8Vm9pZENhbGxiYWNrPiBtX3JlZG9IYW5kbGVyOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9V
bmRvSXRlbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9JdGVtLmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lYTQ1OGYyODczZDU5OWEwMTFmMDcxMTI4MDViMmI2YmExNjYzOWRhCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9VbmRvSXRlbS5pZGwKQEAgLTAsMCArMSwzOCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQXRSdW50aW1lPVVuZG9NYW5hZ2VyQVBJLAorXSBk
aWN0aW9uYXJ5IFVuZG9JdGVtSW5pdCB7CisgICAgcmVxdWlyZWQgVm9pZENhbGxiYWNrIHVuZG87
CisgICAgcmVxdWlyZWQgVm9pZENhbGxiYWNrIHJlZG87Cit9OworCitbCisgICAgRW5hYmxlZEF0
UnVudGltZT1VbmRvTWFuYWdlckFQSSwKKyAgICBDb25zdHJ1Y3RvcihET01TdHJpbmcgbGFiZWws
IFVuZG9JdGVtSW5pdCBpbml0RGljdCkKK10gaW50ZXJmYWNlIFVuZG9JdGVtIHsKKyAgICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxhYmVsOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvVW5kb01hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9VbmRvTWFu
YWdlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjkzMTYzZGMzZjUyYmYzZWM4Yzg2ZjE3ZGI2N2ZhZjg2ZTMx
NjNlMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVW5kb01hbmFnZXIu
Y3BwCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiVW5kb01hbmFnZXIuaCIKKworI2luY2x1ZGUgIlVuZG9JdGVtLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKwordm9pZCBVbmRvTWFuYWdlcjo6YWRkSXRlbShSZWY8VW5kb0l0ZW0+
JiYgaXRlbSkKK3sKKyAgICBVTlVTRURfUEFSQU0oaXRlbSk7CisgICAgVU5VU0VEX1BBUkFNKG1f
ZG9jdW1lbnQpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1VuZG9NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9N
YW5hZ2VyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2MxMDZlMzdlYWQ3OTQ3YjM3MjcwM2Q4MGMzMzNiZDk1ZDIy
NjljNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVW5kb01hbmFnZXIu
aApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
IDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBEb2N1bWVudDsKK2NsYXNzIFVuZG9JdGVtOworCitjbGFzcyBVbmRv
TWFuYWdlciA6IHB1YmxpYyBSZWZDb3VudGVkPFVuZG9NYW5hZ2VyPiB7CitwdWJsaWM6CisgICAg
c3RhdGljIFJlZjxVbmRvTWFuYWdlcj4gY3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCkKKyAgICB7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFVuZG9NYW5hZ2VyKGRvY3VtZW50KSk7Cisg
ICAgfQorCisgICAgdmlydHVhbCB+VW5kb01hbmFnZXIoKSA9IGRlZmF1bHQ7CisgICAgdm9pZCBh
ZGRJdGVtKFJlZjxVbmRvSXRlbT4mJik7CisKK3ByaXZhdGU6CisgICAgVW5kb01hbmFnZXIoRG9j
dW1lbnQmIGRvY3VtZW50KQorICAgICAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCisgICAgewor
ICAgIH0KKworICAgIERvY3VtZW50JiBtX2RvY3VtZW50OworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9VbmRvTWFuYWdlci5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9NYW5hZ2VyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MmNhMTc1
OTFiNTljZjdjZWY0N2Y1ZmUwODYyOWVmOTg2NTNhNzUwCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9VbmRvTWFuYWdlci5pZGwKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKK1sKKyAgICBFbmFibGVkQXRSdW50aW1lPVVuZG9NYW5hZ2VyQVBJCitdIGludGVyZmFj
ZSBVbmRvTWFuYWdlciB7CisgICAgdm9pZCBhZGRJdGVtKFVuZG9JdGVtIGl0ZW0pOworfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1doZWVsRXZlbnREZWx0YUZpbHRlck1h
Yy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjLmgK
aW5kZXggMzEwODIyY2NiYzE1ZGJkZDc3MTk4MjM3NGMwODkyNDg0MWY3ZmQ1Ny4uMmNjOThiZjc5
MWNkMjdjYTVkNmI3N2UwZjVhNWFkYWM0NWVhMTllOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9tYWMvV2hlZWxFdmVudERlbHRhRmlsdGVyTWFjLmgKQEAgLTI4LDYgKzI4LDcgQEAK
ICNpZiBQTEFURk9STShNQUMpCiAKICNpbmNsdWRlICJXaGVlbEV2ZW50RGVsdGFGaWx0ZXIuaCIK
KyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIu
aD4KIAogT0JKQ19DTEFTUyBfTlNTY3JvbGxpbmdQcmVkb21pbmFudEF4aXNGaWx0ZXI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCAwMGE4ZGU4MjQ4OGExNWE4
ZDAyOTMzY2M3NmQyYzcwYmI5NzE2YmJjLi5iY2ZhNzNmYWVkZmJmZDIxYTAxNTVhZGNiZjY0M2Jm
NWNlMTQ3N2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNl
cy55YW1sCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAg
LTE1MjgsMyArMTUyOCwxMSBAQCBSZXN0cmljdGVkSFRUUFJlc3BvbnNlQWNjZXNzOgogICBodW1h
blJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgSFRUUCBSZXNwb25zZSBmaWx0ZXJpbmcgZm9y
IFdlYlByb2Nlc3NlcyIKICAgY2F0ZWdvcnk6IGludGVybmFsCiAgIHdlYmNvcmVCaW5kaW5nOiBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzCisKK1VuZG9NYW5hZ2VyQVBJRW5hYmxlZDoKKyAgdHlwZTog
Ym9vbAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiVW5kb01h
bmFnZXIgRE9NIEFQSSIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIHRoZSBV
bmRvTWFuYWdlciBET00gQVBJIgorICBjYXRlZ29yeTogaW50ZXJuYWwKKyAgd2ViY29yZUJpbmRp
bmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGNmMTkxOWM5M2E3Mzg1MzA3NTllMzdmMzNkYmIx
MGI0Y2QwNDU4NzguLjExNjMzYzZiNGQwMmZlZjdjYWIwZDZhMjdlZWIzODBjMjlmNWYyMzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAt
NjQ1LDYgKzY0NSw3IEBAIC0gKHZvaWQpX2luaXRpYWxpemVXaXRoQ29uZmlndXJhdGlvbjooV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24KICAgICBwYWdlQ29uZmlndXJhdGlv
bi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5Ojpjb2xv
ckZpbHRlckVuYWJsZWRLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSgh
IVtfY29uZmlndXJhdGlvbiBfY29sb3JGaWx0ZXJFbmFibGVkXSkpOwogCiAgICAgcGFnZUNvbmZp
Z3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tl
eTo6ZWRpdGFibGVJbWFnZXNFbmFibGVkS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9y
ZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gX2VkaXRhYmxlSW1hZ2VzRW5hYmxlZF0pKTsKKyAg
ICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlBy
ZWZlcmVuY2VzS2V5Ojp1bmRvTWFuYWdlckFQSUVuYWJsZWRLZXkoKSwgV2ViS2l0OjpXZWJQcmVm
ZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBfdW5kb01hbmFnZXJBUElFbmFi
bGVkXSkpOwogCiAjaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCiAgICAgcGFnZUNv
bmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNl
c0tleTo6bGVnYWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkS2V5KCksIFdlYktpdDo6V2ViUHJl
ZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gX2xlZ2FjeUVuY3J5cHRlZE1l
ZGlhQVBJRW5hYmxlZF0pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KaW5kZXggZGU2ZjMzZWQ5NzJl
YzdmMDM5YmE2ZTIxYTU5YmM2OTgwNTgyMDI1Ny4uZjk4M2ZhNjQ3N2FkOTcxY2JlN2NlZjdhNDll
NTNlYTBkYzExZDc5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KQEAgLTE2MCw2ICsxNjAsNyBA
QCBAaW1wbGVtZW50YXRpb24gV0tXZWJWaWV3Q29uZmlndXJhdGlvbiB7CiAgICAgQk9PTCBfc2hv
dWxkRGVmZXJBc3luY2hyb25vdXNTY3JpcHRzVW50aWxBZnRlckRvY3VtZW50TG9hZDsKICAgICBC
T09MIF9kcmF3c0JhY2tncm91bmQ7CiAgICAgQk9PTCBfZWRpdGFibGVJbWFnZXNFbmFibGVkOwor
ICAgIEJPT0wgX3VuZG9NYW5hZ2VyQVBJRW5hYmxlZDsKIAogICAgIFJldGFpblB0cjxOU1N0cmlu
Zz4gX21lZGlhQ29udGVudFR5cGVzUmVxdWlyaW5nSGFyZHdhcmVTdXBwb3J0OwogICAgIFJldGFp
blB0cjxOU0FycmF5PE5TU3RyaW5nICo+PiBfYWRkaXRpb25hbFN1cHBvcnRlZEltYWdlVHlwZXM7
CkBAIC0yNDgsNiArMjQ5LDcgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXQKICAgICBfZHJhd3NCYWNr
Z3JvdW5kID0gWUVTOwogCiAgICAgX2VkaXRhYmxlSW1hZ2VzRW5hYmxlZCA9IE5POworICAgIF91
bmRvTWFuYWdlckFQSUVuYWJsZWQgPSBZRVM7CiAKICAgICByZXR1cm4gc2VsZjsKIH0KQEAgLTQw
OSw2ICs0MTEsNyBAQCAtIChpZCljb3B5V2l0aFpvbmU6KE5TWm9uZSAqKXpvbmUKICAgICBjb25m
aWd1cmF0aW9uLT5fZHJhd3NCYWNrZ3JvdW5kID0gc2VsZi0+X2RyYXdzQmFja2dyb3VuZDsKIAog
ICAgIGNvbmZpZ3VyYXRpb24tPl9lZGl0YWJsZUltYWdlc0VuYWJsZWQgPSBzZWxmLT5fZWRpdGFi
bGVJbWFnZXNFbmFibGVkOworICAgIGNvbmZpZ3VyYXRpb24tPl91bmRvTWFuYWdlckFQSUVuYWJs
ZWQgPSBzZWxmLT5fdW5kb01hbmFnZXJBUElFbmFibGVkOwogCiAgICAgcmV0dXJuIGNvbmZpZ3Vy
YXRpb247CiB9CkBAIC0xMDM3LDYgKzEwNDAsMTYgQEAgLSAoQk9PTClfZWRpdGFibGVJbWFnZXNF
bmFibGVkCiAgICAgcmV0dXJuIF9lZGl0YWJsZUltYWdlc0VuYWJsZWQ7CiB9CiAKKy0gKHZvaWQp
X3NldFVuZG9NYW5hZ2VyQVBJRW5hYmxlZDooQk9PTCllbmFibGVkCit7CisgICAgX3VuZG9NYW5h
Z2VyQVBJRW5hYmxlZCA9IGVuYWJsZWQ7Cit9CisKKy0gKEJPT0wpX3VuZG9NYW5hZ2VyQVBJRW5h
YmxlZAoreworICAgIHJldHVybiBfdW5kb01hbmFnZXJBUElFbmFibGVkOworfQorCiBAZW5kCiAK
IEBpbXBsZW1lbnRhdGlvbiBXS1dlYlZpZXdDb25maWd1cmF0aW9uIChXS0RlcHJlY2F0ZWQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29u
ZmlndXJhdGlvblByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCmluZGV4IDM3YzQzMGZiZThhNTE2MGRmNjY5
ZTAxM2UwZTEyZTUxNjE3Nzk5YmQuLjJhYmM4YzE0YWJmOGI3ZWI2NGZmOWUwNjhmMTNjYWE1ZTc4
ODQ1YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCkBAIC0xMDYsNiArMTA2
LDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIF9XS0RyYWdMaWZ0RGVsYXkpIHsKIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5LCBzZXR0ZXI9X3NldEFkZGl0aW9uYWxTdXBwb3J0ZWRJ
bWFnZVR5cGVzOikgTlNBcnJheTxOU1N0cmluZyAqPiAqX2FkZGl0aW9uYWxTdXBwb3J0ZWRJbWFn
ZVR5cGVzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RC
QSkpOwogCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRFZGl0YWJsZUltYWdlc0Vu
YWJsZWQ6KSBCT09MIF9lZGl0YWJsZUltYWdlc0VuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNv
c3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywg
c2V0dGVyPV9zZXRVbmRvTWFuYWdlckFQSUVuYWJsZWQ6KSBCT09MIF91bmRvTWFuYWdlckFQSUVu
YWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKIAogQGVuZAogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggNjU0NWU5YmNlN2MzN2IyZTk5NDU4YWYxODVmNTU2ZjM5ZjQxNTVmNy4uMTYyZGI3
ZjYzYzIwZmVlMTRhMjk5MWUwOWM4MWY1YzZhNDQ0MTQwMSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE5LTAxLTEw
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEludHJv
ZHVjZSBJREwgZmlsZXMgZm9yIHJ1bnRpbWUtZW5hYmxlZCBVbmRvTWFuYWdlciBhbmQgVW5kb0l0
ZW0gSmF2YVNjcmlwdCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5MzEwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ4MDcwNDg+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlIGFu
ZCByZXNwZWN0IGEgdGVzdCBvcHRpb24gdG8gZW5hYmxlIHRoZSBVbmRvTWFuYWdlciBBUEkuCisK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdUUjo6dXBkYXRlVGVzdE9wdGlvbnNGcm9tVGVzdEhlYWRlcik6CisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5oOgorICAgICAgICAoV1RSOjpUZXN0T3B0aW9uczo6aGFz
U2FtZUluaXRpYWxpemF0aW9uT3B0aW9ucyBjb25zdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tOgorICAgICAgICAoV1RSOjpUZXN0Q29u
dHJvbGxlcjo6cGxhdGZvcm1DcmVhdGVXZWJWaWV3KToKKwogMjAxOS0wMS0xMCAgSm9zZXBoIFBl
Y29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIExlYWsgb2YgV0tXZWJQcm9j
ZXNzUGx1Z0luSGl0VGVzdFJlc3VsdCAoMTYwIGJ5dGVzKSBpbiBjb20uYXBwbGUuV2ViS2l0Lldl
YkNvbnRlbnQgcnVubmluZyBsYXlvdXQgdGVzdHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
Q29udHJvbGxlci5jcHAKaW5kZXggNmQ0ZGZmYjQ5NjU2NTI0YzY0ZDk2MmU3OWZlMjM4Mzg0YzY5
YzBjNi4uN2M4OGUwMDI3ZjNkNzUwYmU2MTU2NzIzMmE4ODFhZGNkZmI0ZGRhOCAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTEyNjQsNiArMTI2NCw4IEBA
IHN0YXRpYyB2b2lkIHVwZGF0ZVRlc3RPcHRpb25zRnJvbVRlc3RIZWFkZXIoVGVzdE9wdGlvbnMm
IHRlc3RPcHRpb25zLCBjb25zdCBzdGQ6CiAgICAgICAgICAgICB0ZXN0T3B0aW9ucy5lbmFibGVF
ZGl0YWJsZUltYWdlcyA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CiAgICAg
ICAgIGVsc2UgaWYgKGtleSA9PSAiZWRpdGFibGUiKQogICAgICAgICAgICAgdGVzdE9wdGlvbnMu
ZWRpdGFibGUgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOworICAgICAgICBl
bHNlIGlmIChrZXkgPT0gImVuYWJsZVVuZG9NYW5hZ2VyQVBJIikKKyAgICAgICAgICAgIHRlc3RP
cHRpb25zLmVuYWJsZVVuZG9NYW5hZ2VyQVBJID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVl
KHZhbHVlKTsKICAgICAgICAgcGFpclN0YXJ0ID0gcGFpckVuZCArIDE7CiAgICAgfQogfQpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5oIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5oCmluZGV4IDA1YTRlZmJmOTBlNWNjZTlkYzQwNGU4
NDFjNzAwNjEyMjc4YTYwZTUuLjEwY2Q0ZTRjMzQ1NzFiMGIxYjhhMDJjYjZkZDQ3OWM2N2ZlYzcz
NDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaAorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmgKQEAgLTY3LDYgKzY3LDcgQEAg
c3RydWN0IFRlc3RPcHRpb25zIHsKICAgICBib29sIHNob3VsZFNob3dTcGVsbENoZWNraW5nRG90
cyB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVFZGl0YWJsZUltYWdlcyB7IGZhbHNlIH07CiAg
ICAgYm9vbCBlZGl0YWJsZSB7IGZhbHNlIH07CisgICAgYm9vbCBlbmFibGVVbmRvTWFuYWdlckFQ
SSB7IGZhbHNlIH07CiAKICAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciB7IDEgfTsKICAgICBW
ZWN0b3I8U3RyaW5nPiBvdmVycmlkZUxhbmd1YWdlczsKQEAgLTExMSw3ICsxMTIsOCBAQCBzdHJ1
Y3QgVGVzdE9wdGlvbnMgewogICAgICAgICAgICAgfHwgc2hvdWxkU2hvd1NwZWxsQ2hlY2tpbmdE
b3RzICE9IG9wdGlvbnMuc2hvdWxkU2hvd1NwZWxsQ2hlY2tpbmdEb3RzCiAgICAgICAgICAgICB8
fCBzaG91bGRJZ25vcmVNZXRhVmlld3BvcnQgIT0gb3B0aW9ucy5zaG91bGRJZ25vcmVNZXRhVmll
d3BvcnQKICAgICAgICAgICAgIHx8IGVuYWJsZUVkaXRhYmxlSW1hZ2VzICE9IG9wdGlvbnMuZW5h
YmxlRWRpdGFibGVJbWFnZXMKLSAgICAgICAgICAgIHx8IGVkaXRhYmxlICE9IG9wdGlvbnMuZWRp
dGFibGUpCisgICAgICAgICAgICB8fCBlZGl0YWJsZSAhPSBvcHRpb25zLmVkaXRhYmxlCisgICAg
ICAgICAgICB8fCBlbmFibGVVbmRvTWFuYWdlckFQSSAhPSBvcHRpb25zLmVuYWJsZVVuZG9NYW5h
Z2VyQVBJKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIGlmIChleHBlcmlt
ZW50YWxGZWF0dXJlcyAhPSBvcHRpb25zLmV4cGVyaW1lbnRhbEZlYXR1cmVzKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCmluZGV4
IDExYjBlM2FlMzRmYmJlN2UxYmE5ZTE3MjFhNGQxMThkMzMwMjY3OTYuLjJjMWY2YTYzYzllNDll
N2NjZTgxZGFjYjYwZGRhMmY4ZjViMThhODMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0KQEAgLTE2MSw2ICsxNjEsOSBAQCB2
b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUNyZWF0ZVdlYlZpZXcoV0tQYWdlQ29uZmlndXJh
dGlvblJlZiwgY29uc3QgVGVzdE9wdAogICAgIGlmIChvcHRpb25zLmVuYWJsZUVkaXRhYmxlSW1h
Z2VzKQogICAgICAgICBbY29waWVkQ29uZmlndXJhdGlvbiBfc2V0RWRpdGFibGVJbWFnZXNFbmFi
bGVkOllFU107CiAKKyAgICBpZiAob3B0aW9ucy5lbmFibGVVbmRvTWFuYWdlckFQSSkKKyAgICAg
ICAgW2NvcGllZENvbmZpZ3VyYXRpb24gX3NldFVuZG9NYW5hZ2VyQVBJRW5hYmxlZDpZRVNdOwor
CiAgICAgaWYgKG9wdGlvbnMuYXBwbGljYXRpb25NYW5pZmVzdC5sZW5ndGgoKSkgewogICAgICAg
ICBhdXRvIG1hbmlmZXN0UGF0aCA9IFtOU1N0cmluZyBzdHJpbmdXaXRoVVRGOFN0cmluZzpvcHRp
b25zLmFwcGxpY2F0aW9uTWFuaWZlc3QuY19zdHIoKV07CiAgICAgICAgIE5TU3RyaW5nICp0ZXh0
ID0gW05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTptYW5pZmVzdFBhdGggdXNlZEVu
Y29kaW5nOm51bGxwdHIgZXJyb3I6bnVsbHB0cl07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMmVjZjA5YWZjOTk1OTFlMzI1
MjZhYjI2YmQyOGYwNWQ5NDJkMDA5Ni4uNjk0ODYzOGVlOTYzMTM4OTMzNmY2NjY0MmY2MGVkYzE0
NjMwYWVmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE5LTAxLTEwICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEludHJvZHVjZSBJREwgZmlsZXMg
Zm9yIHJ1bnRpbWUtZW5hYmxlZCBVbmRvTWFuYWdlciBhbmQgVW5kb0l0ZW0gSmF2YVNjcmlwdCBB
UEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzEw
OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ4MDcwNDg+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFVuZG9NYW5hZ2VyIHRlc3RzIHRvIGV4
ZXJjaXNlIG5ldyBiaW5kaW5ncy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICogZWRpdGluZy91bmRvL1VuZG9NYW5hZ2VyL3VuZG8tbWFuYWdlci1pbnRlcmZhY2VzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy91bmRvL1VuZG9NYW5hZ2VyL3Vu
ZG8tbWFuYWdlci1pbnRlcmZhY2VzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lv
cy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RF
eHBlY3RhdGlvbnM6CisKIDIwMTktMDEtMTAgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBh
cHBsZS5jb20+CiAKICAgICAgICAgRGVmaW5lIHBhZ2UgbWVkaWEgc3RhdGUgZmxhZ3MgZm9yIGRp
c3BsYXkgY2FwdHVyZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGRkZjMyNGU5ZDgzNDJjM2IzNGRj
NjdmNGZlNTJjYzc0NTM0N2IxYTIuLjk5Mjg5Yjg5ZDg4ZTUzYmU0Mzg1YjE1NWI1YjhjY2U5YTY0
N2ExYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTksNiArMTksNyBAQCBlZGl0aW5nL2lucHV0
L2lvcyBbIFNraXAgXQogZWRpdGluZy9maW5kIFsgU2tpcCBdCiBlZGl0aW5nL3Bhc3RlYm9hcmQv
Z3RrIFsgU2tpcCBdCiBlZGl0aW5nL3NlbGVjdGlvbi9pb3MgWyBTa2lwIF0KK2VkaXRpbmcvdW5k
by9VbmRvTWFuYWdlciBbIFNraXAgXQogdGlsZWQtZHJhd2luZyBbIFNraXAgXQogZmFzdC9jc3Mv
d2F0Y2hvcyBbIFNraXAgXQogZmFzdC9kb20vV2luZG93L3dhdGNob3MgWyBTa2lwIF0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvdW5kby9VbmRvTWFuYWdlci91bmRvLW1hbmFnZXIt
aW50ZXJmYWNlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8vVW5kb01h
bmFnZXIvdW5kby1tYW5hZ2VyLWludGVyZmFjZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVi
NDI4ZDg5MDU2MTJlZTg1ZWRiNjUxMWU2ZjIxNGVhMGQxZmI1NjIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8vVW5kb01hbmFnZXIvdW5kby1tYW5hZ2VyLWludGVy
ZmFjZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDQgQEAKK1ZlcmlmaWVzIHRoYXQsIHdoZW4g
dGhlIFVuZG9NYW5hZ2VyIEFQSSBpcyBlbmFibGVkLCBVbmRvTWFuYWdlciBhbmQgVW5kb0l0ZW0g
aW50ZXJmYWNlcyBiZWhhdmUgYXMgZXhwZWN0ZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCisKK1Rlc3RpbmcgVW5kb01hbmFnZXI6CitQQVNTIFVuZG9NYW5hZ2VyIGluc3RhbmNl
b2YgRnVuY3Rpb24gaXMgdHJ1ZQorUEFTUyB0eXBlb2YgVW5kb01hbmFnZXIgaXMgImZ1bmN0aW9u
IgorUEFTUyBkb2N1bWVudC51bmRvTWFuYWdlciBpbnN0YW5jZW9mIFVuZG9NYW5hZ2VyIGlzIHRy
dWUKK1BBU1MgT2JqZWN0LmdldFByb3RvdHlwZU9mKGRvY3VtZW50LnVuZG9NYW5hZ2VyKSA9PT0g
VW5kb01hbmFnZXIucHJvdG90eXBlIGlzIHRydWUKK1BBU1MgVW5kb01hbmFnZXIucHJvdG90eXBl
LmFkZEl0ZW0gaW5zdGFuY2VvZiBGdW5jdGlvbiBpcyB0cnVlCitQQVNTIFVuZG9NYW5hZ2VyKCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogSWxsZWdhbCBjb25zdHJ1Y3Rvci4KK1BBU1MgbmV3
IFVuZG9NYW5hZ2VyKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogZnVuY3Rpb24gaXMgbm90
IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBVbmRvTWFuYWdlcigpJykuCitQQVNTIGRv
Y3VtZW50LnVuZG9NYW5hZ2VyLmFkZEl0ZW0oKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBO
b3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgZG9jdW1lbnQudW5kb01hbmFnZXIuYWRkSXRlbSgn
Zm9vJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ2l0ZW0nKSB0byBV
bmRvTWFuYWdlci5hZGRJdGVtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgVW5kb0l0ZW0uCitQQVNT
IFVuZG9NYW5hZ2VyLnRvU3RyaW5nKCkgaXMgImZ1bmN0aW9uIFVuZG9NYW5hZ2VyKCkge1xuICAg
IFtuYXRpdmUgY29kZV1cbn0iCitQQVNTIGRvY3VtZW50LnVuZG9NYW5hZ2VyLnRvU3RyaW5nKCkg
aXMgIltvYmplY3QgVW5kb01hbmFnZXJdIgorCitUZXN0aW5nIFVuZG9JdGVtOgorUEFTUyBVbmRv
SXRlbSBpbnN0YW5jZW9mIEZ1bmN0aW9uIGlzIHRydWUKK1BBU1MgdHlwZW9mIFVuZG9JdGVtIGlz
ICJmdW5jdGlvbiIKK1BBU1MgVW5kb0l0ZW0oKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBD
b25zdHJ1Y3RvciByZXF1aXJlcyAnbmV3JyBvcGVyYXRvci4KK1BBU1MgbmV3IFVuZG9JdGVtKCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIG5l
dyBVbmRvSXRlbSgnJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1
bWVudHMuCitQQVNTIG5ldyBVbmRvSXRlbSgnJywgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogVHlwZSBlcnJvci4KK1BBU1MgbmV3IFVuZG9JdGVtKCcnLCB7IH0pIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IE1lbWJlciBVbmRvSXRlbUluaXQucmVkbyBpcyByZXF1aXJlZCBhbmQgbXVz
dCBiZSBhbiBpbnN0YW5jZSBvZiBWb2lkQ2FsbGJhY2suCitQQVNTIG5ldyBVbmRvSXRlbSgnJywg
eyB1bmRvOiBudWxsIH0pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE1lbWJlciBVbmRvSXRl
bUluaXQucmVkbyBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBWb2lkQ2Fs
bGJhY2suCitQQVNTIG5ldyBVbmRvSXRlbSgnJywgeyByZWRvOiBudWxsIH0pIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIG5ldyBVbmRvSXRlbSgnJywgeyB1bmRv
OiBlbXB0eUZ1bmN0aW9uIH0pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE1lbWJlciBVbmRv
SXRlbUluaXQucmVkbyBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBWb2lk
Q2FsbGJhY2suCitQQVNTIG5ldyBVbmRvSXRlbSgnJywgeyByZWRvOiBlbXB0eUZ1bmN0aW9uIH0p
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE1lbWJlciBVbmRvSXRlbUluaXQudW5kbyBpcyBy
ZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBWb2lkQ2FsbGJhY2suCitQQVNTIG5l
dyBVbmRvSXRlbSgnJywgeyB1bmRvOiBudWxsLCByZWRvOiBudWxsIH0pIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIG5ldyBVbmRvSXRlbSgnJywgeyB1bmRvOiAn
JywgcmVkbzogZW1wdHlGdW5jdGlvbiB9KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBl
IGVycm9yLgorUEFTUyBuZXcgVW5kb0l0ZW0oJycsIHsgdW5kbzogZW1wdHlGdW5jdGlvbiwgcmVk
bzogMTAgfSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgbmV3
IFVuZG9JdGVtKCcnLCB7IHVuZG86IGVtcHR5RnVuY3Rpb24sIHJlZG86IGVtcHR5RnVuY3Rpb24s
IGZvbzogJ2hpJyB9KSBpbnN0YW5jZW9mIFVuZG9JdGVtIGlzIHRydWUKK1BBU1MgT2JqZWN0Lmdl
dFByb3RvdHlwZU9mKG5ldyBVbmRvSXRlbSgnJywgeyB1bmRvOiBlbXB0eUZ1bmN0aW9uLCByZWRv
OiBlbXB0eUZ1bmN0aW9uIH0pKSA9PT0gVW5kb0l0ZW0ucHJvdG90eXBlIGlzIHRydWUKK1BBU1Mg
bmV3IFVuZG9JdGVtKCdmb28nLCB7IHVuZG86IGVtcHR5RnVuY3Rpb24sIHJlZG86IGVtcHR5RnVu
Y3Rpb24gfSkubGFiZWwgaXMgImZvbyIKK1BBU1MgVW5kb0l0ZW0udG9TdHJpbmcoKSBpcyAiZnVu
Y3Rpb24gVW5kb0l0ZW0oKSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIKK1BBU1MgbmV3IFVuZG9J
dGVtKCcnLCB7IHVuZG86IGVtcHR5RnVuY3Rpb24sIHJlZG86IGVtcHR5RnVuY3Rpb24gfSkudG9T
dHJpbmcoKSBpcyAiW29iamVjdCBVbmRvSXRlbV0iCitQQVNTIGRvY3VtZW50LnVuZG9NYW5hZ2Vy
LmFkZEl0ZW0obmV3IFVuZG9JdGVtKCcnLCB7IHVuZG86IGVtcHR5RnVuY3Rpb24sIHJlZG86IGVt
cHR5RnVuY3Rpb24gfSkpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2VkaXRpbmcvdW5kby9VbmRvTWFuYWdlci91bmRvLW1hbmFnZXItaW50ZXJmYWNlcy5odG1s
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvL1VuZG9NYW5hZ2VyL3VuZG8tbWFuYWdlci1pbnRl
cmZhY2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDE4YzI3MmNlMzNkN2UwZDk4ZjA2MTA0ZmM5YjJiZjIw
ZjZkOWQ0NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvdW5kby9VbmRv
TWFuYWdlci91bmRvLW1hbmFnZXItaW50ZXJmYWNlcy5odG1sCkBAIC0wLDAgKzEsNTAgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVVuZG9NYW5hZ2Vy
QVBJPXRydWUgXSAtLT4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAg
ICA8c2NyaXB0PgorICAgICAgICBmdW5jdGlvbiBlbXB0eUZ1bmN0aW9uKCkgeyB9CisKKyAgICAg
ICAgZnVuY3Rpb24gcnVuVGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9u
KCJWZXJpZmllcyB0aGF0LCB3aGVuIHRoZSBVbmRvTWFuYWdlciBBUEkgaXMgZW5hYmxlZCwgVW5k
b01hbmFnZXIgYW5kIFVuZG9JdGVtIGludGVyZmFjZXMgYmVoYXZlIGFzIGV4cGVjdGVkLiIpOwor
CisgICAgICAgICAgICBkZWJ1ZygiXG5UZXN0aW5nIFVuZG9NYW5hZ2VyOiIpOworICAgICAgICAg
ICAgc2hvdWxkQmVUcnVlKCJVbmRvTWFuYWdlciBpbnN0YW5jZW9mIEZ1bmN0aW9uIik7CisgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInR5cGVvZiBVbmRvTWFuYWdlciIsICJmdW5j
dGlvbiIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVudC51bmRvTWFuYWdlciBp
bnN0YW5jZW9mIFVuZG9NYW5hZ2VyIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIk9iamVj
dC5nZXRQcm90b3R5cGVPZihkb2N1bWVudC51bmRvTWFuYWdlcikgPT09IFVuZG9NYW5hZ2VyLnBy
b3RvdHlwZSIpOworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJVbmRvTWFuYWdlci5wcm90b3R5
cGUuYWRkSXRlbSBpbnN0YW5jZW9mIEZ1bmN0aW9uIik7CisgICAgICAgICAgICBzaG91bGRUaHJv
dygiVW5kb01hbmFnZXIoKSIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3coIm5ldyBVbmRvTWFu
YWdlcigpIik7CisgICAgICAgICAgICBzaG91bGRUaHJvdygiZG9jdW1lbnQudW5kb01hbmFnZXIu
YWRkSXRlbSgpIik7CisgICAgICAgICAgICBzaG91bGRUaHJvdygiZG9jdW1lbnQudW5kb01hbmFn
ZXIuYWRkSXRlbSgnZm9vJykiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
VW5kb01hbmFnZXIudG9TdHJpbmcoKSIsICJmdW5jdGlvbiBVbmRvTWFuYWdlcigpIHtcbiAgICBb
bmF0aXZlIGNvZGVdXG59Iik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Y3VtZW50LnVuZG9NYW5hZ2VyLnRvU3RyaW5nKCkiLCAiW29iamVjdCBVbmRvTWFuYWdlcl0iKTsK
KworICAgICAgICAgICAgZGVidWcoIlxuVGVzdGluZyBVbmRvSXRlbToiKTsKKyAgICAgICAgICAg
IHNob3VsZEJlVHJ1ZSgiVW5kb0l0ZW0gaW5zdGFuY2VvZiBGdW5jdGlvbiIpOworICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0eXBlb2YgVW5kb0l0ZW0iLCAiZnVuY3Rpb24iKTsK
KyAgICAgICAgICAgIHNob3VsZFRocm93KCJVbmRvSXRlbSgpIik7CisgICAgICAgICAgICBzaG91
bGRUaHJvdygibmV3IFVuZG9JdGVtKCkiKTsKKyAgICAgICAgICAgIHNob3VsZFRocm93KCJuZXcg
VW5kb0l0ZW0oJycpIik7CisgICAgICAgICAgICBzaG91bGRUaHJvdygibmV3IFVuZG9JdGVtKCcn
LCAwKSIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3coIm5ldyBVbmRvSXRlbSgnJywgeyB9KSIp
OworICAgICAgICAgICAgc2hvdWxkVGhyb3coIm5ldyBVbmRvSXRlbSgnJywgeyB1bmRvOiBudWxs
IH0pIik7CisgICAgICAgICAgICBzaG91bGRUaHJvdygibmV3IFVuZG9JdGVtKCcnLCB7IHJlZG86
IG51bGwgfSkiKTsKKyAgICAgICAgICAgIHNob3VsZFRocm93KCJuZXcgVW5kb0l0ZW0oJycsIHsg
dW5kbzogZW1wdHlGdW5jdGlvbiB9KSIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3coIm5ldyBV
bmRvSXRlbSgnJywgeyByZWRvOiBlbXB0eUZ1bmN0aW9uIH0pIik7CisgICAgICAgICAgICBzaG91
bGRUaHJvdygibmV3IFVuZG9JdGVtKCcnLCB7IHVuZG86IG51bGwsIHJlZG86IG51bGwgfSkiKTsK
KyAgICAgICAgICAgIHNob3VsZFRocm93KCJuZXcgVW5kb0l0ZW0oJycsIHsgdW5kbzogJycsIHJl
ZG86IGVtcHR5RnVuY3Rpb24gfSkiKTsKKyAgICAgICAgICAgIHNob3VsZFRocm93KCJuZXcgVW5k
b0l0ZW0oJycsIHsgdW5kbzogZW1wdHlGdW5jdGlvbiwgcmVkbzogMTAgfSkiKTsKKyAgICAgICAg
ICAgIHNob3VsZEJlVHJ1ZSgibmV3IFVuZG9JdGVtKCcnLCB7IHVuZG86IGVtcHR5RnVuY3Rpb24s
IHJlZG86IGVtcHR5RnVuY3Rpb24sIGZvbzogJ2hpJyB9KSBpbnN0YW5jZW9mIFVuZG9JdGVtIik7
CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIk9iamVjdC5nZXRQcm90b3R5cGVPZihuZXcgVW5k
b0l0ZW0oJycsIHsgdW5kbzogZW1wdHlGdW5jdGlvbiwgcmVkbzogZW1wdHlGdW5jdGlvbiB9KSkg
PT09IFVuZG9JdGVtLnByb3RvdHlwZSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJuZXcgVW5kb0l0ZW0oJ2ZvbycsIHsgdW5kbzogZW1wdHlGdW5jdGlvbiwgcmVkbzogZW1w
dHlGdW5jdGlvbiB9KS5sYWJlbCIsICJmb28iKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiVW5kb0l0ZW0udG9TdHJpbmcoKSIsICJmdW5jdGlvbiBVbmRvSXRlbSgpIHtcbiAg
ICBbbmF0aXZlIGNvZGVdXG59Iik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
Im5ldyBVbmRvSXRlbSgnJywgeyB1bmRvOiBlbXB0eUZ1bmN0aW9uLCByZWRvOiBlbXB0eUZ1bmN0
aW9uIH0pLnRvU3RyaW5nKCkiLCAiW29iamVjdCBVbmRvSXRlbV0iKTsKKyAgICAgICAgICAgIHNo
b3VsZE5vdFRocm93KCJkb2N1bWVudC51bmRvTWFuYWdlci5hZGRJdGVtKG5ldyBVbmRvSXRlbSgn
JywgeyB1bmRvOiBlbXB0eUZ1bmN0aW9uLCByZWRvOiBlbXB0eUZ1bmN0aW9uIH0pKSIpOworICAg
ICAgICB9CisgICAgPC9zY3JpcHQ+CisgICAgPGJvZHkgb25sb2FkPXJ1blRlc3QoKT48L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggMDM0ZjEyMmY0MjFkMGYzMjM1ZDk5Yzc4NWVkN2U3MWQyZWQ4ZGEzOC4uOTk4YTQy
YjExZDg5ZGYwZDU3NzEzZDRmZjE2NzYxNTNhZjBkOTM3MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTYsNiArMTYsNyBAQCB0aWxlZC1k
cmF3aW5nL2lvcyBbIFBhc3MgXQogZmFzdC93ZWItc2hhcmUgWyBQYXNzIF0KIGVkaXRpbmcvZmlu
ZCBbIFBhc3MgXQogZWRpdGluZy9pbnB1dC9pb3MgWyBQYXNzIF0KK2VkaXRpbmcvdW5kby9VbmRv
TWFuYWdlciBbIFBhc3MgXQogCiBlZGl0aW5nL3NlbGVjdGlvbi9jaGFyYWN0ZXItZ3JhbnVsYXJp
dHktcmVjdC5odG1sIFsgRmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3MTRkOWU5YzUyYTg4YTUxYmNiYTZiZDZjZjJlODEy
MTJkNjI3YzA0Li44YjY0ZjQzMWIyYTg4NzZlZGIxZjYyYWYyZDFkYWU5OWU0NjY5MjRkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMSw2
ICsxMSw3IEBAIGZhc3QvdmlzdWFsLXZpZXdwb3J0L3RpbGVkLWRyYXdpbmcgWyBQYXNzIF0KIHN3
aXBlIFsgUGFzcyBdCiBmYXN0L3dlYi1zaGFyZSBbIFBhc3MgXQogZWRpdGluZy9maW5kIFsgUGFz
cyBdCitlZGl0aW5nL3VuZG8vVW5kb01hbmFnZXIgWyBQYXNzIF0KIAogZmFzdC9ldmVudHMvYXV0
b3Njcm9sbC13aGVuLXpvb21lZC5odG1sIFsgUGFzcyBdCiBmYXN0L2V2ZW50cy9hdXRvc2Nyb2xs
LW1haW4tZG9jdW1lbnQuaHRtbCBbIFBhc3MgXQo=
</data>
<flag name="review"
          id="375670"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358873</attachid>
            <date>2019-01-10 21:43:44 -0800</date>
            <delta_ts>2019-01-11 10:17:56 -0800</delta_ts>
            <desc>Patch for EWS</desc>
            <filename>bug-193109-20190110214343.patch</filename>
            <type>text/plain</type>
            <size>48319</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5ODQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODM2NDU4OTBlOTkyOWM1
ODk5ODcxMjI3NTRkZDcyNDJiMDdhMmEzNC4uY2Y5MGY4NTY1NjZmZTkyNjEwNDIwZWIwY2RkZWUy
OWM2ZDI2OWI3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDE5LTAxLTEwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEludHJvZHVjZSBJ
REwgZmlsZXMgZm9yIHJ1bnRpbWUtZW5hYmxlZCBVbmRvTWFuYWdlciBhbmQgVW5kb0l0ZW0gSmF2
YVNjcmlwdCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5MzEwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ4MDcwNDg+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIEFkZHMgbmV3IElETCBmaWxlcyBh
bmQgc3R1YnMgZm9yIFVuZG9NYW5hZ2VyIGFuZCBVbmRvSXRlbS4gVGhpcyBpcyBhbiBleHBlcmlt
ZW50YWwgRE9NIEFQSSB0aGF0IChpbiB0aGUgbmVhcgorICAgICAgICBmdXR1cmUpIGlzIGludGVu
ZGVkIG9ubHkgZm9yIHVzZSBpbiBpbnRlcm5hbCBXZWJLaXQgdGV4dCBlZGl0aW5nIGNsaWVudHMu
IFRoaXMgQVBJIGFsbG93cyB0aGUgcGFnZSB0bworICAgICAgICBwYXJ0aWNpcGF0ZSBpbiB0aGUg
cHJvY2Vzc2VzIG9mIHVuZG9pbmcgYW5kIHJlZG9pbmcgYnkgZGVmaW5pbmcgY3VzdG9tIHVuZG8g
YW5kIHJlZG8gaGFuZGxlcnMsIHRvIGJlIGV4ZWN1dGVkCisgICAgICAgIHdoZW4gdW5kbyBvciBy
ZWRvIGlzIHRyaWdnZXJlZC4KKworICAgICAgICBUZXN0czogZWRpdGluZy91bmRvLW1hbmFnZXIv
dW5kby1tYW5hZ2VyLWludGVyZmFjZXMuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy91bmRv
LW1hbmFnZXIvdW5kby1tYW5hZ2VyLWtlZXBzLXdyYXBwZXItYWxpdmUuaHRtbAorCisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxl
bGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAg
ICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAg
ICAqIFVuaWZpZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCisgICAgICAgIEFkZCBuZXcgc291cmNlIGZpbGVz
LgorCisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorCisgICAg
ICAgIEFkZCAiVW5kb01hbmFnZXIiIGFuZCAiVW5kb0l0ZW0iIG5hbWVzLgorCisgICAgICAgICog
ZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1fdW5kb01hbmFnZXIpOgorCisg
ICAgICAgIEhhdmUgdGhlIGRvY3VtZW50IG93biBhIFVuZG9NYW5hZ2VyLgorCisgICAgICAgICog
ZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dW5kb01hbmFnZXIg
Y29uc3QpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5pZGw6CisgICAgICAgICogcGFnZS9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzZXRVbmRvTWFuYWdlckFQSUVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6dW5kb01hbmFnZXJBUElFbmFibGVkIGNvbnN0KToKKworICAg
ICAgICBHdWFyZCB0aGUgbmV3IGJpbmRpbmdzIGJlaGluZCBhIHJ1bnRpbWUtZW5hYmxlZCBmZWF0
dXJlIGZsYWcuCisKKyAgICAgICAgKiBwYWdlL1VuZG9JdGVtLmg6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6VW5kb0l0ZW06OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpVbmRvSXRlbTo6
bGFiZWwgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6VW5kb0l0ZW06OnVuZG9IYW5kbGVyIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlVuZG9JdGVtOjpyZWRvSGFuZGxlciBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpVbmRvSXRlbTo6VW5kb0l0ZW0pOgorICAgICAgICAqIHBhZ2UvVW5k
b0l0ZW0uaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL1VuZG9NYW5hZ2VyLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpVbmRvTWFuYWdlcjo6YWRkSXRlbSk6CisgICAgICAgICogcGFn
ZS9VbmRvTWFuYWdlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlVuZG9NYW5hZ2VyOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6VW5kb01hbmFnZXI6OmRvY3VtZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OlVuZG9NYW5hZ2VyOjpVbmRvTWFuYWdlcik6CisgICAgICAgICogcGFnZS9V
bmRvTWFuYWdlci5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvbWFjL1doZWVsRXZlbnREZWx0
YUZpbHRlck1hYy5oOgorCisgICAgICAgIE5lY2Vzc2FyeSAoYWxiZWl0IHVucmVsYXRlZCkgYnVp
bGQgZml4IHRvIGFwcGVhc2UgdW5pZmllZCBzb3VyY2VzLgorCiAyMDE5LTAxLTEwICBTaW1vbiBG
cmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCByYXJlIGNyYXNo
IHVuZGVyIFNjcm9sbGJhclRoZW1lTWFjOjpwYWludFNjcm9sbENvcm5lcigpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4
IGQ3NjhhYzk3NzQ4ZjRkZmM2MWEwMTcxZmZhNTU2NjQ5NGNjNWY5N2EuLjFlYWIwY2M4ODRkNjUx
N2EzYjgyMTJiMTEyNGMxMWQ3ZTAwNDA2MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIw
MTktMDEtMTAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAg
ICAgSW50cm9kdWNlIElETCBmaWxlcyBmb3IgcnVudGltZS1lbmFibGVkIFVuZG9NYW5hZ2VyIGFu
ZCBVbmRvSXRlbSBKYXZhU2NyaXB0IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMTA5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NDgwNzA0
OD4KKworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgQWRkIGEg
bmV3IFNQSSBjb25maWd1cmF0aW9uIGZsYWcgdG8gZW5hYmxlIHRoZSBVbmRvTWFuYWdlciBBUEku
IFRoaXMgaXMgb2ZmIGJ5IGRlZmF1bHQuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5j
ZXMueWFtbDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IF9pbml0aWFsaXplV2l0aENvbmZpZ3VyYXRpb246XSk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tOgorICAg
ICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGluaXRdKToKKyAgICAgICAgKC1bV0tXZWJW
aWV3Q29uZmlndXJhdGlvbiBjb3B5V2l0aFpvbmU6XSk6CisgICAgICAgICgtW1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb24gX3NldFVuZG9NYW5hZ2VyQVBJRW5hYmxlZDpdKToKKyAgICAgICAgKC1bV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiBfdW5kb01hbmFnZXJBUElFbmFibGVkXSk6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oOgorCiAy
MDE5LTAxLTEwICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbbWFjT1NdIEFkZCBuYW1lIG9mIElPUmVnaXN0cnkga2V5IGluIHNhbmRib3guCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CmluZGV4IDFkZDUzMjlhOWI1OTY3OTgyMzllN2UyYTcxNDA1ODczZTQwMjA0NGMu
LjMyMGQxNjk3OTZhZjk3OTY5YjlkY2Y3ZjY0OTdlYzQxYThhMTNlNzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CkBAIC05MjYsNiArOTI2LDggQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMK
ICAgICBwYWdlL1Njcm9sbExvZ2ljYWxQb3NpdGlvbi5pZGwKICAgICBwYWdlL1Njcm9sbFRvT3B0
aW9ucy5pZGwKICAgICBwYWdlL1NoYXJlRGF0YS5pZGwKKyAgICBwYWdlL1VuZG9JdGVtLmlkbAor
ICAgIHBhZ2UvVW5kb01hbmFnZXIuaWRsCiAgICAgcGFnZS9WaXN1YWxWaWV3cG9ydC5pZGwKICAg
ICBwYWdlL1dlYktpdFBvaW50LmlkbAogICAgIHBhZ2UvV2luZG93RXZlbnRIYW5kbGVycy5pZGwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4
IDkwYjI1ZmExZTUzMTg1YTEwZDMwYWU1ZWYxZDM0ZjVhZThjYzQ3NWYuLmZmZjFkMDc0NDFkMTY2
YTMxZDM5MzkwYTc2NzcwY2Q2OWI1MTRkZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtODUyLDYgKzg1Miw4IEBAICQoUFJPSkVDVF9E
SVIpL3BhZ2UvU2Nyb2xsTG9naWNhbFBvc2l0aW9uLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9T
Y3JvbGxUb09wdGlvbnMuaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL1NldHRpbmdzLnlhbWwKICQo
UFJPSkVDVF9ESVIpL3BhZ2UvU2hhcmVEYXRhLmlkbAorJChQUk9KRUNUX0RJUikvcGFnZS9VbmRv
SXRlbS5pZGwKKyQoUFJPSkVDVF9ESVIpL3BhZ2UvVW5kb01hbmFnZXIuaWRsCiAkKFBST0pFQ1Rf
RElSKS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlci5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvVXNl
ck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvVmlzdWFs
Vmlld3BvcnQuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1v
dXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0CmluZGV4IGRmYmI4OGIwYzY3NWM3MGMxMGNjMjdjZThhMjZmYTE0OGNlNjdjYzgu
LjhkMmFjOWQ1N2M1MTNmMjgyOTFhYjI1YTcwMDE0YmNmYjdmNjI2M2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xNzAyLDYgKzE3
MDIsMTAgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNV
SUV2ZW50SW5pdC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTVUlFdmVudEluaXQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNVUkxTZWFyY2hQYXJhbXMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VSTFNlYXJjaFBhcmFtcy5oCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VuZG9JdGVtLmNwcAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNVbmRvSXRlbS5oCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VuZG9NYW5hZ2VyLmNwcAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNVbmRvTWFuYWdlci5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VzZXJNZXNz
YWdlSGFuZGxlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTVXNlck1lc3NhZ2VIYW5kbGVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGUxN2M2YWZhN2E3YzAxMzE5MWM4YzNlOTc1N2Yz
NmViNjBmYjNlNTUuLmU2YmFiZTczYTMxODI4NjFiMTc5Njg1NmUxNzQ4YjBmMWEzY2U0ZmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtODc1LDYgKzg3NSw4IEBAIEpTX0JJTkRJ
TkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvU2Nyb2xsTG9naWNhbFBvc2l0aW9uLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1Njcm9sbFRvT3B0aW9ucy5pZGwgXAogICAgICQoV2Vi
Q29yZSkvcGFnZS9TaGFyZURhdGEuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvVW5kb0l0ZW0u
aWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvVW5kb01hbmFnZXIuaWRsIFwKICAgICAkKFdlYkNv
cmUpL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1Vz
ZXJNZXNzYWdlSGFuZGxlcnNOYW1lc3BhY2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvVmlz
dWFsVmlld3BvcnQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggZTcwMzQ2MDc2MTgzYzllZDc2OWIz
ZjQ4MWM2OGMxZmU5OTQ3MDA1MC4uODIzYzNkZGUzZTY3NDQzMzg2NWExMzA4YmNlM2Y3ZDk4MmIz
MzE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE1MDYsNiArMTUwNiw3IEBAIHBhZ2UvU29ja2V0UHJv
dmlkZXIuY3BwCiBwYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcAogcGFnZS9TdXNwZW5kYWJsZVRp
bWVyLmNwcAogcGFnZS9UZXh0SW5kaWNhdG9yLmNwcAorcGFnZS9VbmRvTWFuYWdlci5jcHAKIHBh
Z2UvVXNlckNvbnRlbnRQcm92aWRlci5jcHAKIHBhZ2UvVXNlckNvbnRlbnRDb250cm9sbGVyLmNw
cAogcGFnZS9Vc2VyQ29udGVudFVSTFBhdHRlcm4uY3BwCkBAIC0zMjIyLDYgKzMyMjMsOCBAQCBK
U1RleHRNZXRyaWNzLmNwcAogSlNUaW1lUmFuZ2VzLmNwcAogSlNUcmFuc2l0aW9uRXZlbnQuY3Bw
CiBKU1RyZWVXYWxrZXIuY3BwCitKU1VuZG9JdGVtLmNwcAorSlNVbmRvTWFuYWdlci5jcHAKIEpT
VUlFdmVudC5jcHAKIEpTVUlFdmVudEluaXQuY3BwCiBKU1VSTFNlYXJjaFBhcmFtcy5jcHAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VuaWZpZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Qg
Yi9Tb3VyY2UvV2ViQ29yZS9VbmlmaWVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGRm
YzJhM2MyOTUyOWE0MTQ2NDQ4ZWM4YzNiNWJjZWUwODE0MTE3MzAuLjA3Y2U5NDY0YTg5OTk3MjZl
ZTFhNjA0MzU5NTEzMTJlZjMzOWRhMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1VuaWZp
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvVW5pZmllZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtODE4LDYgKzgxOCw4IEBAICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVHJlZVdhbGtlci5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVUlFdmVudC5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVUlFdmVudEluaXQuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VSTFNlYXJj
aFBhcmFtcy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTVW5kb0l0ZW0uY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1VuZG9NYW5hZ2VyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNVc2VyTWVzc2FnZUhhbmRsZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VzZXJNZXNzYWdlSGFuZGxlcnNOYW1lc3BhY2Uu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VzZXJW
ZXJpZmljYXRpb25SZXF1aXJlbWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAwOWMwN2JiNWRhYzYxNmYwNTA0YjM0NTI1
ZGEyNmRiMzZlMTY1ZmEwLi4zOTRmMzBmYjg5N2Q0ODlhOTI3MGYxN2U5ZmU2ZDMxNmIzM2FhY2Ri
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC04NjgsNiArODY4LDggQEAKIAkJMkVCNEJDRDMxMjFGMDNFMzAwRUM0ODg1IC8qIEJs
b2JSZXNvdXJjZUhhbmRsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkVCNEJDRDExMjFGMDNFMzAwRUM0ODg1IC8qIEJsb2JSZXNvdXJjZUhhbmRsZS5o
ICovOyB9OwogCQkyRUI3Njc1NzFEQTE5QkRGMDAzRTIzQjUgLyogSW5wdXRFdmVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkVCNzY3NTQxREExOUI2
NzAwM0UyM0I1IC8qIElucHV0RXZlbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQkyRUJCQzNEODFCNjU5ODgzMDBGNTI1M0QgLyogV2hlZWxFdmVu
dERlbHRhRmlsdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyRUJCQzNENzFCNjU5ODgzMDBGNTI1M0QgLyogV2hlZWxFdmVudERlbHRhRmlsdGVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMkVDREJB
RDEyMUQ4OTAzNDAwRjAwRUNEIC8qIFVuZG9NYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRUNEQkFDRTIxRDg5MDM0MDBGMDBFQ0QgLyogVW5k
b01hbmFnZXIuaCAqLzsgfTsKKwkJMkVDREJBRDgyMUQ4OTA2MzAwRjAwRUNEIC8qIFVuZG9JdGVt
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRUNEQkFE
NTIxRDg5MDYzMDBGMDBFQ0QgLyogVW5kb0l0ZW0uaCAqLzsgfTsKIAkJMkVDRjdBREQxMDE2MkIz
ODAwNDI3REU3IC8qIEpTRXJyb3JFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkVDRjdBREIxMDE2MkIzODAwNDI3REU3IC8qIEpTRXJyb3JFdmVu
dC5oICovOyB9OwogCQkyRUNGN0FFMjEwMTYyQjU4MDA0MjdERTcgLyogRXJyb3JFdmVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkVDRjdBREYxMDE2
MkI1ODAwNDI3REU3IC8qIEVycm9yRXZlbnQuaCAqLzsgfTsKIAkJMkVENjA5QkQxMTQ1QjA3MTAw
Qzg2ODRFIC8qIERPTUZvcm1EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyRUQ2MDlCQjExNDVCMDcxMDBDODY4NEUgLyogRE9NRm9ybURhdGEuaCAq
LzsgfTsKQEAgLTY4MzMsNiArNjgzNSwxMSBAQAogCQkyRUI3Njc1NTFEQTE5Qjk5MDAzRTIzQjUg
LyogSW5wdXRFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJ
bnB1dEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkVCQkMzRDcxQjY1
OTg4MzAwRjUyNTNEIC8qIFdoZWVsRXZlbnREZWx0YUZpbHRlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXaGVlbEV2ZW50RGVsdGFGaWx0ZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMkVDNDFERTIxQzA0MTBBMzAwRDI5NEZFIC8qIFJlYWx0aW1lTWVkaWFT
b3VyY2VTdXBwb3J0ZWRDb25zdHJhaW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBSZWFsdGltZU1lZGlhU291cmNlU3VwcG9ydGVkQ29uc3RyYWludHMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRUNEQkFDRTIxRDg5MDM0MDBGMDBFQ0QgLyog
VW5kb01hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVW5kb01hbmFnZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMkVDREJBQ0YyMUQ4OTAzNDAwRjAwRUNEIC8qIFVuZG9NYW5hZ2Vy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVuZG9NYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMkVDREJBRDAyMUQ4OTAzNDAwRjAwRUNEIC8qIFVuZG9NYW5hZ2VyLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBVbmRvTWFuYWdlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJF
Q0RCQUQ1MjFEODkwNjMwMEYwMEVDRCAvKiBVbmRvSXRlbS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVbmRv
SXRlbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRUNEQkFENzIxRDg5MDYzMDBG
MDBFQ0QgLyogVW5kb0l0ZW0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFVuZG9JdGVtLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMkVDRjdBREExMDE2MkIzODAwNDI3REU3IC8qIEpTRXJyb3JFdmVudC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Vycm9yRXZlbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRUNGN0FEQjEwMTYyQjM4MDA0MjdERTcg
LyogSlNFcnJvckV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRXJy
b3JFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRUNGN0FERTEwMTYyQjU4
MDA0MjdERTcgLyogRXJyb3JFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBFcnJvckV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIw
MjIyLDYgKzIwMjI5LDExIEBACiAJCQkJNjJDMTIxN0IxMUFCOUU3NzAwM0M0NjJDIC8qIFN1c3Bl
bmRhYmxlVGltZXIuaCAqLywKIAkJCQkyRDRGOTZGMTFBMUVDQzI0MDA5OEJGODggLyogVGV4dElu
ZGljYXRvci5jcHAgKi8sCiAJCQkJMkQ0Rjk2RjIxQTFFQ0MyNDAwOThCRjg4IC8qIFRleHRJbmRp
Y2F0b3IuaCAqLywKKwkJCQkyRUNEQkFENTIxRDg5MDYzMDBGMDBFQ0QgLyogVW5kb0l0ZW0uaCAq
LywKKwkJCQkyRUNEQkFENzIxRDg5MDYzMDBGMDBFQ0QgLyogVW5kb0l0ZW0uaWRsICovLAorCQkJ
CTJFQ0RCQUNGMjFEODkwMzQwMEYwMEVDRCAvKiBVbmRvTWFuYWdlci5jcHAgKi8sCisJCQkJMkVD
REJBQ0UyMUQ4OTAzNDAwRjAwRUNEIC8qIFVuZG9NYW5hZ2VyLmggKi8sCisJCQkJMkVDREJBRDAy
MUQ4OTAzNDAwRjAwRUNEIC8qIFVuZG9NYW5hZ2VyLmlkbCAqLywKIAkJCQkxQUU3OUQ0MDE4OERC
NjFGMDAyMjM5QzIgLyogVXNlckNvbnRlbnRDb250cm9sbGVyLmNwcCAqLywKIAkJCQkxQUU3OUQ0
MTE4OERCNjFGMDAyMjM5QzIgLyogVXNlckNvbnRlbnRDb250cm9sbGVyLmggKi8sCiAJCQkJN0Mz
RjAxQkYxQzhFNUFCMTAwQUREOTYyIC8qIFVzZXJDb250ZW50UHJvdmlkZXIuY3BwICovLApAQCAt
MzE4NTksNiArMzE4NzEsOCBAQAogCQkJCTg1MDMxQjRFMEE0NEVGQzcwMEY5OTJFMCAvKiBVSUV2
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4M0ZFN0NBNzFEQTlGMUE3MDAzNzIzN0MgLyogVUlF
dmVudEluaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDMxQjRGMEE0NEVGQzcwMEY5OTJFMCAv
KiBVSUV2ZW50V2l0aEtleVN0YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRUNEQkFEODIxRDg5
MDYzMDBGMDBFQ0QgLyogVW5kb0l0ZW0uaCBpbiBIZWFkZXJzICovLAorCQkJCTJFQ0RCQUQxMjFE
ODkwMzQwMEYwMEVDRCAvKiBVbmRvTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOUIyRDhB
NzkxNDk5N0NDRjAwRUNFRjNFIC8qIFVuZG9TdGVwLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODYz
RTIwMTEzNDM0MTIwMDAyNzQ5MjYgLyogVW5pY29kZUJpZGkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxODg2NEUxMUJCQUY1NzQwMEU1NDBDOSAvKiBVbmlxdWVJREJEYXRhYmFzZS5oIGluIEhlYWRl
cnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVp
bHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5h
bWVzLmgKaW5kZXggMmFlMWVjZjc4MzYxZDg2NjgyMWM2ZTljODNlZDVjNDNiYmVjNDU2Yy4uZjg5
ZmYwZDlhY2Q3NGJhMDZlMmY4NGE3NzFlYTEwYWJjMjczZjQxNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMTc4LDYgKzE3OCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhTdGF0aWNSYW5nZSkgXAogICAgIG1h
Y3JvKFN0eWxlUHJvcGVydHlNYXBSZWFkT25seSkgXAogICAgIG1hY3JvKFN0eWxlUHJvcGVydHlN
YXApIFwKKyAgICBtYWNybyhVbmRvSXRlbSkgXAorICAgIG1hY3JvKFVuZG9NYW5hZ2VyKSBcCiAg
ICAgbWFjcm8oVlJEaXNwbGF5KSBcCiAgICAgbWFjcm8oVlJEaXNwbGF5Q2FwYWJpbGl0aWVzKSBc
CiAgICAgbWFjcm8oVlJEaXNwbGF5RXZlbnQpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4
IGU2MGEwYjQ4ZjVjMjk0ZDA5NzMwN2ExNWUwZmU4ZmZlYTMzNmI2NDEuLjc0ZmU2MDc2M2IyYmJh
OTIzYTI1NTAwOWRkYzdiNWIwMWNhODVlYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
MjEwLDYgKzIxMCw3IEBACiAjaW5jbHVkZSAiVGV4dE5vZGVUcmF2ZXJzYWwuaCIKICNpbmNsdWRl
ICJUcmFuc2Zvcm1Tb3VyY2UuaCIKICNpbmNsdWRlICJUcmVlV2Fsa2VyLmgiCisjaW5jbHVkZSAi
VW5kb01hbmFnZXIuaCIKICNpbmNsdWRlICJVc2VyR2VzdHVyZUluZGljYXRvci5oIgogI2luY2x1
ZGUgIlZhbGlkYXRpb25NZXNzYWdlQ2xpZW50LmgiCiAjaW5jbHVkZSAiVmlzaWJpbGl0eUNoYW5n
ZUNsaWVudC5oIgpAQCAtNTM3LDYgKzUzOCw3IEBAIERvY3VtZW50OjpEb2N1bWVudChGcmFtZSog
ZnJhbWUsIGNvbnN0IFVSTCYgdXJsLCB1bnNpZ25lZCBkb2N1bWVudENsYXNzZXMsIHVuc2lnCiAg
ICAgLCBtX2lzTm9uUmVuZGVyZWRQbGFjZWhvbGRlcihjb25zdHJ1Y3Rpb25GbGFncyAmIE5vblJl
bmRlcmVkUGxhY2Vob2xkZXIpCiAgICAgLCBtX29yaWVudGF0aW9uTm90aWZpZXIoY3VycmVudE9y
aWVudGF0aW9uKGZyYW1lKSkKICAgICAsIG1faWRlbnRpZmllcihnZW5lcmF0ZU9iamVjdElkZW50
aWZpZXI8RG9jdW1lbnRJZGVudGlmaWVyVHlwZT4oKSkKKyAgICAsIG1fdW5kb01hbmFnZXIoVW5k
b01hbmFnZXI6OmNyZWF0ZSgqdGhpcykpCiB7CiAgICAgYXV0byBhZGRSZXN1bHQgPSBhbGxEb2N1
bWVudHNNYXAoKS5hZGQobV9pZGVudGlmaWVyLCB0aGlzKTsKICAgICBBU1NFUlRfVU5VU0VEKGFk
ZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA3
N2YyZGJkNjhmNTNmNzBmYmY4NWM2YTgwYWJmNzdlODE1YzMwYTI2Li4xZGY3NWVjM2UzZjhlM2U3
YmNkOGI4Yzc3ZjVhYzRiOWUwZjFkYTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTg2LDYg
KzE4Niw3IEBAIGNsYXNzIFN0eWxlU2hlZXRMaXN0OwogY2xhc3MgVGV4dDsKIGNsYXNzIFRleHRS
ZXNvdXJjZURlY29kZXI7CiBjbGFzcyBUcmVlV2Fsa2VyOworY2xhc3MgVW5kb01hbmFnZXI7CiBj
bGFzcyBWaXNpYmlsaXR5Q2hhbmdlQ2xpZW50OwogY2xhc3MgVmlzaXRlZExpbmtTdGF0ZTsKIGNs
YXNzIFdlYkFuaW1hdGlvbjsKQEAgLTEwMDQsNiArMTAwNSw4IEBAIHB1YmxpYzoKICAgICBXRUJD
T1JFX0VYUE9SVCBib29sIHF1ZXJ5Q29tbWFuZFN1cHBvcnRlZChjb25zdCBTdHJpbmcmIGNvbW1h
bmQpOwogICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBxdWVyeUNvbW1hbmRWYWx1ZShjb25zdCBT
dHJpbmcmIGNvbW1hbmQpOwogCisgICAgVW5kb01hbmFnZXImIHVuZG9NYW5hZ2VyKCkgY29uc3Qg
eyByZXR1cm4gbV91bmRvTWFuYWdlci5nZXQoKTsgfQorCiAgICAgLy8gZGVzaWduTW9kZSBzdXBw
b3J0CiAgICAgZW51bSBJbmhlcml0ZWRCb29sIHsgb2ZmID0gZmFsc2UsIG9uID0gdHJ1ZSwgaW5o
ZXJpdCB9OyAgICAKICAgICB2b2lkIHNldERlc2lnbk1vZGUoSW5oZXJpdGVkQm9vbCB2YWx1ZSk7
CkBAIC0yMDg2LDYgKzIwODksOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc1J1bm5pbmdVc2Vy
U2NyaXB0cyB7IGZhbHNlIH07CiAKICAgICBib29sIG1fYWx3YXlzQWxsb3dMb2NhbFdlYmFyY2hp
dmUgeyBmYWxzZSB9OworCisgICAgUmVmPFVuZG9NYW5hZ2VyPiBtX3VuZG9NYW5hZ2VyOwogfTsK
IAogRWxlbWVudCogZXZlbnRUYXJnZXRFbGVtZW50Rm9yRG9jdW1lbnQoRG9jdW1lbnQqKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaWRsCmluZGV4IDFiNjhmMjQzNjRkMmZmNTgzYWE4ZDk0NGRmMzY0OTBi
NGEzZDdmMWYuLjZmNjM3OWI4Y2ZmYzk1Y2Y1ZDFjNmVlODA3Nzc5NjY3MTg1NDE5ZDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmlkbApAQCAtMTI2LDYgKzEyNiw3IEBAIHR5cGVkZWYgKAogICAgIGJv
b2xlYW4gcXVlcnlDb21tYW5kU3RhdGUoRE9NU3RyaW5nIGNvbW1hbmRJZCk7CiAgICAgYm9vbGVh
biBxdWVyeUNvbW1hbmRTdXBwb3J0ZWQoRE9NU3RyaW5nIGNvbW1hbmRJZCk7CiAgICAgRE9NU3Ry
aW5nIHF1ZXJ5Q29tbWFuZFZhbHVlKERPTVN0cmluZyBjb21tYW5kSWQpOworICAgIFtFbmFibGVk
QXRSdW50aW1lPVVuZG9NYW5hZ2VyQVBJXSByZWFkb25seSBhdHRyaWJ1dGUgVW5kb01hbmFnZXIg
dW5kb01hbmFnZXI7CiAKICAgICAvLyBTcGVjaWFsIGV2ZW50IGhhbmRsZXIgSURMIGF0dHJpYnV0
ZXMgdGhhdCBvbmx5IGFwcGx5IHRvIERvY3VtZW50IG9iamVjdHMuCiAgICAgW0xlbmllbnRUaGlz
XSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ucmVhZHlzdGF0ZWNoYW5nZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKaW5kZXggMTE0NTU4ZWZhNjU4MThk
YmY2YjM4ZGFlNGFiYzQ2YTJmYjNlMzFiNi4uMDJmYWNlMGQzNTc0YmRjM2JiNWEzMzE4YTJlNzIx
YzIwMjg5ZTI2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmgKQEAgLTMxNSw2ICszMTUsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpbnRlcnNlY3Rpb25P
YnNlcnZlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2ludGVyc2VjdGlvbk9ic2VydmVyRW5h
YmxlZDsgfQogI2VuZGlmCiAKKyAgICB2b2lkIHNldFVuZG9NYW5hZ2VyQVBJRW5hYmxlZChib29s
IGlzRW5hYmxlZCkgeyBtX3VuZG9NYW5hZ2VyQVBJRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAg
IGJvb2wgdW5kb01hbmFnZXJBUElFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV91bmRvTWFuYWdl
ckFQSUVuYWJsZWQ7IH0KKwogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAgICAgdm9pZCBz
ZXRFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9lbmNyeXB0ZWRN
ZWRpYUFQSUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGVuY3J5cHRlZE1lZGlhQVBJ
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZW5jcnlwdGVkTWVkaWFBUElFbmFibGVkOyB9CkBA
IC01MDYsNiArNTA5LDggQEAgcHJpdmF0ZToKICAgICBib29sIG1fc3lzdGVtUHJldmlld0VuYWJs
ZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKKyAgICBib29sIG1fdW5kb01hbmFnZXJBUElFbmFibGVk
IHsgZmFsc2UgfTsKKwogICAgIGZyaWVuZCBjbGFzcyBXVEY6Ok5ldmVyRGVzdHJveWVkPFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM+OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9VbmRvSXRlbS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9VbmRvSXRlbS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjAxOWJiOWFmY2ZmZTFkZjcwZDMzMTYzNTA2MTMzNDcxMzgwNmFhZjQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9JdGVtLmgKQEAgLTAsMCArMSw2NyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiVm9pZENhbGxiYWNrLmgiCisjaW5j
bHVkZSA8d3RmL0Z1bmN0aW9uLmg+CisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFVuZG9JdGVtIDogcHVibGljIFJl
ZkNvdW50ZWQ8VW5kb0l0ZW0+IHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lOTElORShV
bmRvSXRlbSk7CitwdWJsaWM6CisgICAgc3RydWN0IEluaXQgeworICAgICAgICBTdHJpbmcgbGFi
ZWw7CisgICAgICAgIFJlZlB0cjxWb2lkQ2FsbGJhY2s+IHVuZG87CisgICAgICAgIFJlZlB0cjxW
b2lkQ2FsbGJhY2s+IHJlZG87CisgICAgfTsKKworICAgIHN0YXRpYyBSZWY8VW5kb0l0ZW0+IGNy
ZWF0ZShJbml0JiYgaW5pdCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFVu
ZG9JdGVtKFdURk1vdmUoaW5pdCkpKTsKKyAgICB9CisKKyAgICBjb25zdCBTdHJpbmcmIGxhYmVs
KCkgY29uc3QgeyByZXR1cm4gbV9sYWJlbDsgfQorICAgIFZvaWRDYWxsYmFjayYgdW5kb0hhbmRs
ZXIoKSBjb25zdCB7IHJldHVybiBtX3VuZG9IYW5kbGVyLmdldCgpOyB9CisgICAgVm9pZENhbGxi
YWNrJiByZWRvSGFuZGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fcmVkb0hhbmRsZXIuZ2V0KCk7IH0K
KworcHJpdmF0ZToKKyAgICBVbmRvSXRlbShJbml0JiYgaW5pdCkKKyAgICAgICAgOiBtX2xhYmVs
KFdURk1vdmUoaW5pdC5sYWJlbCkpCisgICAgICAgICwgbV91bmRvSGFuZGxlcihpbml0LnVuZG8u
cmVsZWFzZU5vbk51bGwoKSkKKyAgICAgICAgLCBtX3JlZG9IYW5kbGVyKGluaXQucmVkby5yZWxl
YXNlTm9uTnVsbCgpKQorICAgIHsKKyAgICB9CisKKyAgICBTdHJpbmcgbV9sYWJlbDsKKyAgICBS
ZWY8Vm9pZENhbGxiYWNrPiBtX3VuZG9IYW5kbGVyOworICAgIFJlZjxWb2lkQ2FsbGJhY2s+IG1f
cmVkb0hhbmRsZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9JdGVtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVW5k
b0l0ZW0uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5Yjk3YzhjMTUwYzEwN2UwOTQxNDE4ZWMxMTc3MGQ4NmQ0
YTkxY2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9JdGVtLmlk
bApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRBdFJ1bnRpbWU9
VW5kb01hbmFnZXJBUEksCitdIGRpY3Rpb25hcnkgVW5kb0l0ZW1Jbml0IHsKKyAgICByZXF1aXJl
ZCBET01TdHJpbmcgbGFiZWw7CisgICAgcmVxdWlyZWQgVm9pZENhbGxiYWNrIHVuZG87CisgICAg
cmVxdWlyZWQgVm9pZENhbGxiYWNrIHJlZG87Cit9OworCitbCisgICAgRW5hYmxlZEF0UnVudGlt
ZT1VbmRvTWFuYWdlckFQSSwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIENv
bnN0cnVjdG9yKFVuZG9JdGVtSW5pdCBpbml0RGljdCksCitdIGludGVyZmFjZSBVbmRvSXRlbSB7
CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBsYWJlbDsKK307CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvVW5kb01hbmFnZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyMWJmMjhjYzk2OWVhODQyMzA3ZmFiODkx
ZTVhNWMyMDJhMzUzMDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Vu
ZG9NYW5hZ2VyLmNwcApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIlVuZG9NYW5hZ2VyLmgiCisKKyNpbmNsdWRlICJVbmRvSXRlbS5o
IgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFVuZG9NYW5hZ2VyKTsKKwordm9pZCBV
bmRvTWFuYWdlcjo6YWRkSXRlbShSZWY8VW5kb0l0ZW0+JiYgaXRlbSkKK3sKKyAgICBVTlVTRURf
UEFSQU0oaXRlbSk7CisgICAgVU5VU0VEX1BBUkFNKG1fZG9jdW1lbnQpOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9NYW5h
Z2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9NYW5hZ2VyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDk2
MDRmMDljNWM4YTUwMTY4OWJjNWNlMWU4NmQwMzdmNDk5YmI1NAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvVW5kb01hbmFnZXIuaApAQCAtMCwwICsxLDU3IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CisjaW5j
bHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBVbmRvSXRlbTsKKworY2xhc3Mg
VW5kb01hbmFnZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxVbmRvTWFuYWdlcj4geworICAgIFdURl9N
QUtFX0lTT19BTExPQ0FURUQoVW5kb01hbmFnZXIpOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8
VW5kb01hbmFnZXI+IGNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQpCisgICAgeworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBVbmRvTWFuYWdlcihkb2N1bWVudCkpOworICAgIH0KKworICAg
IHZvaWQgYWRkSXRlbShSZWY8VW5kb0l0ZW0+JiYpOworICAgIERvY3VtZW50JiBkb2N1bWVudCgp
IHsgcmV0dXJuIG1fZG9jdW1lbnQ7IH0KKworcHJpdmF0ZToKKyAgICBVbmRvTWFuYWdlcihEb2N1
bWVudCYgZG9jdW1lbnQpCisgICAgICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKKyAgICB7Cisg
ICAgfQorCisgICAgRG9jdW1lbnQmIG1fZG9jdW1lbnQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VuZG9NYW5hZ2VyLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvVW5kb01hbmFnZXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzNjEyNzZk
YzQzZDExNDVlNjg4ZDA1NzAxNzU2NzRkNTYzMjUwYzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1VuZG9NYW5hZ2VyLmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworWworICAgIEVuYWJsZWRBdFJ1bnRpbWU9VW5kb01hbmFnZXJBUEksCisgICAgSW1wbGVt
ZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxEb2N1bWVu
dCwKK10gaW50ZXJmYWNlIFVuZG9NYW5hZ2VyIHsKKyAgICB2b2lkIGFkZEl0ZW0oVW5kb0l0ZW0g
aXRlbSk7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvV2hlZWxFdmVu
dERlbHRhRmlsdGVyTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9XaGVlbEV2ZW50RGVs
dGFGaWx0ZXJNYWMuaAppbmRleCAzMTA4MjJjY2JjMTVkYmRkNzcxOTgyMzc0YzA4OTI0ODQxZjdm
ZDU3Li4yY2M5OGJmNzkxY2QyN2NhNWQ2Yjc3ZTBmNWE1YWRhYzQ1ZWExOWU5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9XaGVlbEV2ZW50RGVsdGFGaWx0ZXJNYWMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9XaGVlbEV2ZW50RGVsdGFGaWx0ZXJNYWMuaApAQCAt
MjgsNiArMjgsNyBAQAogI2lmIFBMQVRGT1JNKE1BQykKIAogI2luY2x1ZGUgIldoZWVsRXZlbnRE
ZWx0YUZpbHRlci5oIgorI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjaW5jbHVkZSA8
d3RmL1JldGFpblB0ci5oPgogCiBPQkpDX0NMQVNTIF9OU1Njcm9sbGluZ1ByZWRvbWluYW50QXhp
c0ZpbHRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
LnlhbWwgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IDAw
YThkZTgyNDg4YTE1YThkMDI5MzNjYzc2ZDJjNzBiYjk3MTZiYmMuLmJjZmE3M2ZhZWRmYmZkMjFh
MDE1NWFkY2JmNjQzYmY1Y2UxNDc3ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXMueWFtbApAQCAtMTUyOCwzICsxNTI4LDExIEBAIFJlc3RyaWN0ZWRIVFRQUmVzcG9uc2VB
Y2Nlc3M6CiAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBIVFRQIFJlc3BvbnNl
IGZpbHRlcmluZyBmb3IgV2ViUHJvY2Vzc2VzIgogICBjYXRlZ29yeTogaW50ZXJuYWwKICAgd2Vi
Y29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKworVW5kb01hbmFnZXJBUElFbmFi
bGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5SZWFkYWJs
ZU5hbWU6ICJVbmRvTWFuYWdlciBET00gQVBJIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246
ICJFbmFibGUgdGhlIFVuZG9NYW5hZ2VyIERPTSBBUEkiCisgIGNhdGVnb3J5OiBpbnRlcm5hbAor
ICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggY2YxOTE5YzkzYTczODUz
MDc1OWUzN2YzM2RiYjEwYjRjZDA0NTg3OC4uMTE2MzNjNmI0ZDAyZmVmN2NhYjBkNmEyN2VlYjM4
MGMyOWY1ZjIzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCkBAIC02NDUsNiArNjQ1LDcgQEAgLSAodm9pZClfaW5pdGlhbGl6ZVdpdGhDb25m
aWd1cmF0aW9uOihXS1dlYlZpZXdDb25maWd1cmF0aW9uICopY29uZmlndXJhdGlvbgogICAgIHBh
Z2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVy
ZW5jZXNLZXk6OmNvbG9yRmlsdGVyRW5hYmxlZEtleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2Vz
U3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9jb2xvckZpbHRlckVuYWJsZWRdKSk7CiAK
ICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6Oldl
YlByZWZlcmVuY2VzS2V5OjplZGl0YWJsZUltYWdlc0VuYWJsZWRLZXkoKSwgV2ViS2l0OjpXZWJQ
cmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBfZWRpdGFibGVJbWFnZXNF
bmFibGVkXSkpOworICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0
KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnVuZG9NYW5hZ2VyQVBJRW5hYmxlZEtleSgpLCBX
ZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF91bmRv
TWFuYWdlckFQSUVuYWJsZWRdKSk7CiAKICNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJ
QSkKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6
OldlYlByZWZlcmVuY2VzS2V5OjpsZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWRLZXkoKSwg
V2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBfbGVn
YWN5RW5jcnlwdGVkTWVkaWFBUElFbmFibGVkXSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQppbmRl
eCBkZTZmMzNlZDk3MmVjN2YwMzliYTZlMjFhNTliYzY5ODA1ODIwMjU3Li40ZWNkY2U5OGI5YzYw
NGNlMzIwZmE2M2NmNjUyYzYwZTk1ZjkyMDU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQpAQCAt
MTYwLDYgKzE2MCw3IEBAIEBpbXBsZW1lbnRhdGlvbiBXS1dlYlZpZXdDb25maWd1cmF0aW9uIHsK
ICAgICBCT09MIF9zaG91bGREZWZlckFzeW5jaHJvbm91c1NjcmlwdHNVbnRpbEFmdGVyRG9jdW1l
bnRMb2FkOwogICAgIEJPT0wgX2RyYXdzQmFja2dyb3VuZDsKICAgICBCT09MIF9lZGl0YWJsZUlt
YWdlc0VuYWJsZWQ7CisgICAgQk9PTCBfdW5kb01hbmFnZXJBUElFbmFibGVkOwogCiAgICAgUmV0
YWluUHRyPE5TU3RyaW5nPiBfbWVkaWFDb250ZW50VHlwZXNSZXF1aXJpbmdIYXJkd2FyZVN1cHBv
cnQ7CiAgICAgUmV0YWluUHRyPE5TQXJyYXk8TlNTdHJpbmcgKj4+IF9hZGRpdGlvbmFsU3VwcG9y
dGVkSW1hZ2VUeXBlczsKQEAgLTI0OCw2ICsyNDksNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdAog
ICAgIF9kcmF3c0JhY2tncm91bmQgPSBZRVM7CiAKICAgICBfZWRpdGFibGVJbWFnZXNFbmFibGVk
ID0gTk87CisgICAgX3VuZG9NYW5hZ2VyQVBJRW5hYmxlZCA9IE5POwogCiAgICAgcmV0dXJuIHNl
bGY7CiB9CkBAIC00MDksNiArNDExLDcgQEAgLSAoaWQpY29weVdpdGhab25lOihOU1pvbmUgKil6
b25lCiAgICAgY29uZmlndXJhdGlvbi0+X2RyYXdzQmFja2dyb3VuZCA9IHNlbGYtPl9kcmF3c0Jh
Y2tncm91bmQ7CiAKICAgICBjb25maWd1cmF0aW9uLT5fZWRpdGFibGVJbWFnZXNFbmFibGVkID0g
c2VsZi0+X2VkaXRhYmxlSW1hZ2VzRW5hYmxlZDsKKyAgICBjb25maWd1cmF0aW9uLT5fdW5kb01h
bmFnZXJBUElFbmFibGVkID0gc2VsZi0+X3VuZG9NYW5hZ2VyQVBJRW5hYmxlZDsKIAogICAgIHJl
dHVybiBjb25maWd1cmF0aW9uOwogfQpAQCAtMTAzNyw2ICsxMDQwLDE2IEBAIC0gKEJPT0wpX2Vk
aXRhYmxlSW1hZ2VzRW5hYmxlZAogICAgIHJldHVybiBfZWRpdGFibGVJbWFnZXNFbmFibGVkOwog
fQogCistICh2b2lkKV9zZXRVbmRvTWFuYWdlckFQSUVuYWJsZWQ6KEJPT0wpZW5hYmxlZAorewor
ICAgIF91bmRvTWFuYWdlckFQSUVuYWJsZWQgPSBlbmFibGVkOworfQorCistIChCT09MKV91bmRv
TWFuYWdlckFQSUVuYWJsZWQKK3sKKyAgICByZXR1cm4gX3VuZG9NYW5hZ2VyQVBJRW5hYmxlZDsK
K30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAoV0tE
ZXByZWNhdGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaAppbmRleCAzN2M0MzBm
YmU4YTUxNjBkZjY2OWUwMTNlMGUxMmU1MTYxNzc5OWJkLi4yYWJjOGMxNGFiZjhiN2ViNjRmZjll
MDY4ZjEzY2FhNWU3ODg0NWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaApA
QCAtMTA2LDYgKzEwNiw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBfV0tEcmFnTGlm
dERlbGF5KSB7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSwgc2V0dGVyPV9zZXRBZGRpdGlv
bmFsU3VwcG9ydGVkSW1hZ2VUeXBlczopIE5TQXJyYXk8TlNTdHJpbmcgKj4gKl9hZGRpdGlvbmFs
U3VwcG9ydGVkSW1hZ2VUeXBlcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwg
aW9zKFdLX0lPU19UQkEpKTsKIAogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0RWRp
dGFibGVJbWFnZXNFbmFibGVkOikgQk9PTCBfZWRpdGFibGVJbWFnZXNFbmFibGVkIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworQHByb3BlcnR5
IChub25hdG9taWMsIHNldHRlcj1fc2V0VW5kb01hbmFnZXJBUElFbmFibGVkOikgQk9PTCBfdW5k
b01hbmFnZXJBUElFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlv
cyhXS19JT1NfVEJBKSk7CiAKIEBlbmQKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDY1NDVlOWJjZTdjMzdiMmU5OTQ1OGFmMTg1ZjU1NmYzOWY0
MTU1ZjcuLjEwZjVhYmMxMjFkNzQ5Y2U4Mzc3NDEwOGZmMTQxZDRmNDE4YjMzZTIgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBA
QAorMjAxOS0wMS0xMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKwor
ICAgICAgICBJbnRyb2R1Y2UgSURMIGZpbGVzIGZvciBydW50aW1lLWVuYWJsZWQgVW5kb01hbmFn
ZXIgYW5kIFVuZG9JdGVtIEphdmFTY3JpcHQgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMxMDkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0
ODA3MDQ4PgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBJ
bnRyb2R1Y2UgYW5kIHJlc3BlY3QgYSB0ZXN0IG9wdGlvbiB0byBlbmFibGUgdGhlIFVuZG9NYW5h
Z2VyIEFQSS4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV1RSOjp1cGRhdGVUZXN0T3B0aW9uc0Zyb21UZXN0SGVhZGVyKToKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmg6CisgICAgICAgIChXVFI6OlRlc3RP
cHRpb25zOjpoYXNTYW1lSW5pdGlhbGl6YXRpb25PcHRpb25zIGNvbnN0KToKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW06CisgICAgICAgIChX
VFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUNyZWF0ZVdlYlZpZXcpOgorCiAyMDE5LTAxLTEw
ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgTGVhayBv
ZiBXS1dlYlByb2Nlc3NQbHVnSW5IaXRUZXN0UmVzdWx0ICgxNjAgYnl0ZXMpIGluIGNvbS5hcHBs
ZS5XZWJLaXQuV2ViQ29udGVudCBydW5uaW5nIGxheW91dCB0ZXN0cwpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCA2ZDRkZmZiNDk2NTY1MjRjNjRkOTYyZTc5
ZmUyMzgzODRjNjljMGM2Li43Yzg4ZTAwMjdmM2Q3NTBiZTYxNTY3MjMyYTg4MWFkY2RmYjRkZGE4
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtMTI2NCw2
ICsxMjY0LDggQEAgc3RhdGljIHZvaWQgdXBkYXRlVGVzdE9wdGlvbnNGcm9tVGVzdEhlYWRlcihU
ZXN0T3B0aW9ucyYgdGVzdE9wdGlvbnMsIGNvbnN0IHN0ZDoKICAgICAgICAgICAgIHRlc3RPcHRp
b25zLmVuYWJsZUVkaXRhYmxlSW1hZ2VzID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZh
bHVlKTsKICAgICAgICAgZWxzZSBpZiAoa2V5ID09ICJlZGl0YWJsZSIpCiAgICAgICAgICAgICB0
ZXN0T3B0aW9ucy5lZGl0YWJsZSA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7
CisgICAgICAgIGVsc2UgaWYgKGtleSA9PSAiZW5hYmxlVW5kb01hbmFnZXJBUEkiKQorICAgICAg
ICAgICAgdGVzdE9wdGlvbnMuZW5hYmxlVW5kb01hbmFnZXJBUEkgPSBwYXJzZUJvb2xlYW5UZXN0
SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBwYWlyU3RhcnQgPSBwYWlyRW5kICsgMTsKICAg
ICB9CiB9CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmgg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmgKaW5kZXggMDVhNGVmYmY5MGU1
Y2NlOWRjNDA0ZTg0MWM3MDA2MTIyNzhhNjBlNS4uMTBjZDRlNGMzNDU3MWIwYjFiOGEwMmNiNmRk
NDc5YzY3ZmVjNzM0MCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0T3B0
aW9ucy5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaApAQCAtNjcs
NiArNjcsNyBAQCBzdHJ1Y3QgVGVzdE9wdGlvbnMgewogICAgIGJvb2wgc2hvdWxkU2hvd1NwZWxs
Q2hlY2tpbmdEb3RzIHsgZmFsc2UgfTsKICAgICBib29sIGVuYWJsZUVkaXRhYmxlSW1hZ2VzIHsg
ZmFsc2UgfTsKICAgICBib29sIGVkaXRhYmxlIHsgZmFsc2UgfTsKKyAgICBib29sIGVuYWJsZVVu
ZG9NYW5hZ2VyQVBJIHsgZmFsc2UgfTsKIAogICAgIGZsb2F0IGRldmljZVNjYWxlRmFjdG9yIHsg
MSB9OwogICAgIFZlY3RvcjxTdHJpbmc+IG92ZXJyaWRlTGFuZ3VhZ2VzOwpAQCAtMTExLDcgKzEx
Miw4IEBAIHN0cnVjdCBUZXN0T3B0aW9ucyB7CiAgICAgICAgICAgICB8fCBzaG91bGRTaG93U3Bl
bGxDaGVja2luZ0RvdHMgIT0gb3B0aW9ucy5zaG91bGRTaG93U3BlbGxDaGVja2luZ0RvdHMKICAg
ICAgICAgICAgIHx8IHNob3VsZElnbm9yZU1ldGFWaWV3cG9ydCAhPSBvcHRpb25zLnNob3VsZEln
bm9yZU1ldGFWaWV3cG9ydAogICAgICAgICAgICAgfHwgZW5hYmxlRWRpdGFibGVJbWFnZXMgIT0g
b3B0aW9ucy5lbmFibGVFZGl0YWJsZUltYWdlcwotICAgICAgICAgICAgfHwgZWRpdGFibGUgIT0g
b3B0aW9ucy5lZGl0YWJsZSkKKyAgICAgICAgICAgIHx8IGVkaXRhYmxlICE9IG9wdGlvbnMuZWRp
dGFibGUKKyAgICAgICAgICAgIHx8IGVuYWJsZVVuZG9NYW5hZ2VyQVBJICE9IG9wdGlvbnMuZW5h
YmxlVW5kb01hbmFnZXJBUEkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAg
aWYgKGV4cGVyaW1lbnRhbEZlYXR1cmVzICE9IG9wdGlvbnMuZXhwZXJpbWVudGFsRmVhdHVyZXMp
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVy
Q29jb2EubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29j
b2EubW0KaW5kZXggMTFiMGUzYWUzNGZiYmU3ZTFiYTllMTcyMWE0ZDExOGQzMzAyNjc5Ni4uMmMx
ZjZhNjNjOWU0OWU3Y2NlODFkYWNiNjBkZGEyZjhmNWIxOGE4MyAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQpAQCAtMTYxLDYg
KzE2MSw5IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtQ3JlYXRlV2ViVmlldyhXS1Bh
Z2VDb25maWd1cmF0aW9uUmVmLCBjb25zdCBUZXN0T3B0CiAgICAgaWYgKG9wdGlvbnMuZW5hYmxl
RWRpdGFibGVJbWFnZXMpCiAgICAgICAgIFtjb3BpZWRDb25maWd1cmF0aW9uIF9zZXRFZGl0YWJs
ZUltYWdlc0VuYWJsZWQ6WUVTXTsKIAorICAgIGlmIChvcHRpb25zLmVuYWJsZVVuZG9NYW5hZ2Vy
QVBJKQorICAgICAgICBbY29waWVkQ29uZmlndXJhdGlvbiBfc2V0VW5kb01hbmFnZXJBUElFbmFi
bGVkOllFU107CisKICAgICBpZiAob3B0aW9ucy5hcHBsaWNhdGlvbk1hbmlmZXN0Lmxlbmd0aCgp
KSB7CiAgICAgICAgIGF1dG8gbWFuaWZlc3RQYXRoID0gW05TU3RyaW5nIHN0cmluZ1dpdGhVVEY4
U3RyaW5nOm9wdGlvbnMuYXBwbGljYXRpb25NYW5pZmVzdC5jX3N0cigpXTsKICAgICAgICAgTlNT
dHJpbmcgKnRleHQgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOm1hbmlmZXN0
UGF0aCB1c2VkRW5jb2Rpbmc6bnVsbHB0ciBlcnJvcjpudWxscHRyXTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyZWNmMDlh
ZmM5OTU5MWUzMjUyNmFiMjZiZDI4ZjA1ZDk0MmQwMDk2Li4yZGZlODU2MzA0Nzg0OGZlNmY1MmZj
N2ZkZGY5Y2JmZDhjMjY4ZjZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTktMDEtMTAgIFdl
bnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgSW50cm9kdWNl
IElETCBmaWxlcyBmb3IgcnVudGltZS1lbmFibGVkIFVuZG9NYW5hZ2VyIGFuZCBVbmRvSXRlbSBK
YXZhU2NyaXB0IEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkzMTA5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NDgwNzA0OD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgQWRkIFVuZG9NYW5hZ2VyIHRl
c3RzIHRvIGV4ZXJjaXNlIG5ldyBiaW5kaW5ncywgYW5kIHZlcmlmeSB0aGF0IHRoZSBKUyB3cmFw
cGVyIGZvciBEb2N1bWVudCdzIFVuZG9NYW5hZ2VyCisgICAgICAgIHN1cnZpdmVzIGdhcmJhZ2Ug
Y29sbGVjdGlvbi4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogZWRp
dGluZy91bmRvLW1hbmFnZXIvdW5kby1tYW5hZ2VyLWludGVyZmFjZXMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3VuZG8tbWFuYWdlci91bmRvLW1hbmFnZXItaW50ZXJm
YWNlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3VuZG8tbWFuYWdlci91bmRvLW1h
bmFnZXIta2VlcHMtd3JhcHBlci1hbGl2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGVkaXRpbmcvdW5kby1tYW5hZ2VyL3VuZG8tbWFuYWdlci1rZWVwcy13cmFwcGVyLWFsaXZlLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9uczoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTktMDEt
MTAgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgRGVm
aW5lIHBhZ2UgbWVkaWEgc3RhdGUgZmxhZ3MgZm9yIGRpc3BsYXkgY2FwdHVyZS4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IGRkZjMyNGU5ZDgzNDJjM2IzNGRjNjdmNGZlNTJjYzc0NTM0N2IxYTIuLjM1
NGUwZDZkZTI3ZGU4ODM3NjU4MjA1MTBhYjJkOTAzNGFjYWEwOWEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMTksNiArMTksNyBAQCBlZGl0aW5nL2lucHV0L2lvcyBbIFNraXAgXQogZWRpdGluZy9m
aW5kIFsgU2tpcCBdCiBlZGl0aW5nL3Bhc3RlYm9hcmQvZ3RrIFsgU2tpcCBdCiBlZGl0aW5nL3Nl
bGVjdGlvbi9pb3MgWyBTa2lwIF0KK2VkaXRpbmcvdW5kby1tYW5hZ2VyIFsgU2tpcCBdCiB0aWxl
ZC1kcmF3aW5nIFsgU2tpcCBdCiBmYXN0L2Nzcy93YXRjaG9zIFsgU2tpcCBdCiBmYXN0L2RvbS9X
aW5kb3cvd2F0Y2hvcyBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy91
bmRvLW1hbmFnZXIvdW5kby1tYW5hZ2VyLWludGVyZmFjZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy91bmRvLW1hbmFnZXIvdW5kby1tYW5hZ2VyLWludGVyZmFjZXMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmY1MGViYTgwMDAwMGRmMjc3NGNhNmMwM2FhZmRhNzk3ZDU5MGUy
NjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8tbWFuYWdlci91
bmRvLW1hbmFnZXItaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0MyBAQAorVmVy
aWZpZXMgdGhhdCwgd2hlbiB0aGUgVW5kb01hbmFnZXIgQVBJIGlzIGVuYWJsZWQsIFVuZG9NYW5h
Z2VyIGFuZCBVbmRvSXRlbSBpbnRlcmZhY2VzIGJlaGF2ZSBhcyBleHBlY3RlZC4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKKworVGVzdGluZyBVbmRvTWFuYWdlcjoKK1BBU1MgVW5k
b01hbmFnZXIgaW5zdGFuY2VvZiBGdW5jdGlvbiBpcyB0cnVlCitQQVNTIHR5cGVvZiBVbmRvTWFu
YWdlciBpcyAiZnVuY3Rpb24iCitQQVNTIGRvY3VtZW50LnVuZG9NYW5hZ2VyIGluc3RhbmNlb2Yg
VW5kb01hbmFnZXIgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0UHJvdG90eXBlT2YoZG9jdW1lbnQu
dW5kb01hbmFnZXIpID09PSBVbmRvTWFuYWdlci5wcm90b3R5cGUgaXMgdHJ1ZQorUEFTUyBVbmRv
TWFuYWdlci5wcm90b3R5cGUuYWRkSXRlbSBpbnN0YW5jZW9mIEZ1bmN0aW9uIGlzIHRydWUKK1BB
U1MgVW5kb01hbmFnZXIoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBJbGxlZ2FsIGNvbnN0
cnVjdG9yLgorUEFTUyBuZXcgVW5kb01hbmFnZXIoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IFVuZG9NYW5h
Z2VyKCknKS4KK1BBU1MgZG9jdW1lbnQudW5kb01hbmFnZXIuYWRkSXRlbSgpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorUEFTUyBkb2N1bWVudC51bmRv
TWFuYWdlci5hZGRJdGVtKCdmb28nKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVu
dCAxICgnaXRlbScpIHRvIFVuZG9NYW5hZ2VyLmFkZEl0ZW0gbXVzdCBiZSBhbiBpbnN0YW5jZSBv
ZiBVbmRvSXRlbS4KK1BBU1MgVW5kb01hbmFnZXIudG9TdHJpbmcoKSBpcyAiZnVuY3Rpb24gVW5k
b01hbmFnZXIoKSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIKK1BBU1MgZG9jdW1lbnQudW5kb01h
bmFnZXIudG9TdHJpbmcoKSBpcyAiW29iamVjdCBVbmRvTWFuYWdlcl0iCisKK1Rlc3RpbmcgVW5k
b0l0ZW06CitQQVNTIFVuZG9JdGVtIGluc3RhbmNlb2YgRnVuY3Rpb24gaXMgdHJ1ZQorUEFTUyB0
eXBlb2YgVW5kb0l0ZW0gaXMgImZ1bmN0aW9uIgorUEFTUyBVbmRvSXRlbSgpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IENvbnN0cnVjdG9yIHJlcXVpcmVzICduZXcnIG9wZXJhdG9yLgorUEFT
UyBuZXcgVW5kb0l0ZW0oKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFy
Z3VtZW50cy4KK1BBU1MgbmV3IFVuZG9JdGVtKCdmb28nKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBUeXBlIGVycm9yLgorUEFTUyBuZXcgVW5kb0l0ZW0oeyB9KSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBNZW1iZXIgVW5kb0l0ZW1Jbml0LmxhYmVsIGlzIHJlcXVpcmVkIGFuZCBtdXN0
IGJlIGFuIGluc3RhbmNlIG9mIERPTVN0cmluZy4KK1BBU1MgbmV3IFVuZG9JdGVtKHsgbGFiZWw6
IG51bGwsIHVuZG86IG51bGwgfSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTWVtYmVyIFVu
ZG9JdGVtSW5pdC5yZWRvIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFZv
aWRDYWxsYmFjay4KK1BBU1MgbmV3IFVuZG9JdGVtKHsgcmVkbzogbnVsbCB9KSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBNZW1iZXIgVW5kb0l0ZW1Jbml0LmxhYmVsIGlzIHJlcXVpcmVkIGFu
ZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERPTVN0cmluZy4KK1BBU1MgbmV3IFVuZG9JdGVtKHsg
bGFiZWw6ICcnLCB1bmRvOiBlbXB0eUZ1bmN0aW9uIH0pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IE1lbWJlciBVbmRvSXRlbUluaXQucmVkbyBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBp
bnN0YW5jZSBvZiBWb2lkQ2FsbGJhY2suCitQQVNTIG5ldyBVbmRvSXRlbSh7IGxhYmVsOiAnaGVs
bG8nLCByZWRvOiBlbXB0eUZ1bmN0aW9uIH0pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE1l
bWJlciBVbmRvSXRlbUluaXQudW5kbyBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBWb2lkQ2FsbGJhY2suCitQQVNTIG5ldyBVbmRvSXRlbSh7IGxhYmVsOiAzLCB1bmRvOiBu
dWxsLCByZWRvOiBudWxsIH0pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3Iu
CitQQVNTIG5ldyBVbmRvSXRlbSh7IGxhYmVsOiAnJywgdW5kbzogJycsIHJlZG86IGVtcHR5RnVu
Y3Rpb24gfSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BBU1MgbmV3
IFVuZG9JdGVtKHsgbGFiZWw6ICcnLCB1bmRvOiBlbXB0eUZ1bmN0aW9uLCByZWRvOiAxMCB9KSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBuZXcgVW5kb0l0ZW0o
eyBsYWJlbDogJycsIHVuZG86IGVtcHR5RnVuY3Rpb24sIHJlZG86IGVtcHR5RnVuY3Rpb24sIGZv
bzogJ2hpJyB9KSBpbnN0YW5jZW9mIFVuZG9JdGVtIGlzIHRydWUKK1BBU1MgT2JqZWN0LmdldFBy
b3RvdHlwZU9mKG5ldyBVbmRvSXRlbSh7IGxhYmVsOiAnJywgdW5kbzogZW1wdHlGdW5jdGlvbiwg
cmVkbzogZW1wdHlGdW5jdGlvbiB9KSkgPT09IFVuZG9JdGVtLnByb3RvdHlwZSBpcyB0cnVlCitQ
QVNTIG5ldyBVbmRvSXRlbSh7IGxhYmVsOiAnZm9vJywgdW5kbzogZW1wdHlGdW5jdGlvbiwgcmVk
bzogZW1wdHlGdW5jdGlvbiB9KS5sYWJlbCBpcyAiZm9vIgorUEFTUyBVbmRvSXRlbS50b1N0cmlu
ZygpIGlzICJmdW5jdGlvbiBVbmRvSXRlbSgpIHtcbiAgICBbbmF0aXZlIGNvZGVdXG59IgorUEFT
UyBuZXcgVW5kb0l0ZW0oeyBsYWJlbDogJycsIHVuZG86IGVtcHR5RnVuY3Rpb24sIHJlZG86IGVt
cHR5RnVuY3Rpb24gfSkudG9TdHJpbmcoKSBpcyAiW29iamVjdCBVbmRvSXRlbV0iCitQQVNTIGRv
Y3VtZW50LnVuZG9NYW5hZ2VyLmFkZEl0ZW0obmV3IFVuZG9JdGVtKHsgbGFiZWw6ICcnLCB1bmRv
OiBlbXB0eUZ1bmN0aW9uLCByZWRvOiBlbXB0eUZ1bmN0aW9uIH0pKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8tbWFuYWdlci91bmRvLW1h
bmFnZXItaW50ZXJmYWNlcy5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvLW1hbmFnZXIv
dW5kby1tYW5hZ2VyLWludGVyZmFjZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45M2IyY2E3YTBiOGFlMzMw
NzE2MDFkNWY5M2VjZmQ5ZTk4NjhkY2QzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy91bmRvLW1hbmFnZXIvdW5kby1tYW5hZ2VyLWludGVyZmFjZXMuaHRtbApAQCAtMCww
ICsxLDQ5IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFi
bGVVbmRvTWFuYWdlckFQST10cnVlIF0gLS0+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8
L2hlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAgZnVuY3Rpb24gZW1wdHlGdW5jdGlvbigpIHsg
fQorCisgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKQorICAgICAgICB7CisgICAgICAgICAgICBk
ZXNjcmlwdGlvbigiVmVyaWZpZXMgdGhhdCwgd2hlbiB0aGUgVW5kb01hbmFnZXIgQVBJIGlzIGVu
YWJsZWQsIFVuZG9NYW5hZ2VyIGFuZCBVbmRvSXRlbSBpbnRlcmZhY2VzIGJlaGF2ZSBhcyBleHBl
Y3RlZC4iKTsKKworICAgICAgICAgICAgZGVidWcoIlxuVGVzdGluZyBVbmRvTWFuYWdlcjoiKTsK
KyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiVW5kb01hbmFnZXIgaW5zdGFuY2VvZiBGdW5jdGlv
biIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ0eXBlb2YgVW5kb01hbmFn
ZXIiLCAiZnVuY3Rpb24iKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQudW5k
b01hbmFnZXIgaW5zdGFuY2VvZiBVbmRvTWFuYWdlciIpOworICAgICAgICAgICAgc2hvdWxkQmVU
cnVlKCJPYmplY3QuZ2V0UHJvdG90eXBlT2YoZG9jdW1lbnQudW5kb01hbmFnZXIpID09PSBVbmRv
TWFuYWdlci5wcm90b3R5cGUiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiVW5kb01hbmFn
ZXIucHJvdG90eXBlLmFkZEl0ZW0gaW5zdGFuY2VvZiBGdW5jdGlvbiIpOworICAgICAgICAgICAg
c2hvdWxkVGhyb3coIlVuZG9NYW5hZ2VyKCkiKTsKKyAgICAgICAgICAgIHNob3VsZFRocm93KCJu
ZXcgVW5kb01hbmFnZXIoKSIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3coImRvY3VtZW50LnVu
ZG9NYW5hZ2VyLmFkZEl0ZW0oKSIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3coImRvY3VtZW50
LnVuZG9NYW5hZ2VyLmFkZEl0ZW0oJ2ZvbycpIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoIlVuZG9NYW5hZ2VyLnRvU3RyaW5nKCkiLCAiZnVuY3Rpb24gVW5kb01hbmFnZXIo
KSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2N1bWVudC51bmRvTWFuYWdlci50b1N0cmluZygpIiwgIltvYmplY3QgVW5kb01h
bmFnZXJdIik7CisKKyAgICAgICAgICAgIGRlYnVnKCJcblRlc3RpbmcgVW5kb0l0ZW06Iik7Cisg
ICAgICAgICAgICBzaG91bGRCZVRydWUoIlVuZG9JdGVtIGluc3RhbmNlb2YgRnVuY3Rpb24iKTsK
KyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygidHlwZW9mIFVuZG9JdGVtIiwgImZ1
bmN0aW9uIik7CisgICAgICAgICAgICBzaG91bGRUaHJvdygiVW5kb0l0ZW0oKSIpOworICAgICAg
ICAgICAgc2hvdWxkVGhyb3coIm5ldyBVbmRvSXRlbSgpIik7CisgICAgICAgICAgICBzaG91bGRU
aHJvdygibmV3IFVuZG9JdGVtKCdmb28nKSIpOworICAgICAgICAgICAgc2hvdWxkVGhyb3coIm5l
dyBVbmRvSXRlbSh7IH0pIik7CisgICAgICAgICAgICBzaG91bGRUaHJvdygibmV3IFVuZG9JdGVt
KHsgbGFiZWw6IG51bGwsIHVuZG86IG51bGwgfSkiKTsKKyAgICAgICAgICAgIHNob3VsZFRocm93
KCJuZXcgVW5kb0l0ZW0oeyByZWRvOiBudWxsIH0pIik7CisgICAgICAgICAgICBzaG91bGRUaHJv
dygibmV3IFVuZG9JdGVtKHsgbGFiZWw6ICcnLCB1bmRvOiBlbXB0eUZ1bmN0aW9uIH0pIik7Cisg
ICAgICAgICAgICBzaG91bGRUaHJvdygibmV3IFVuZG9JdGVtKHsgbGFiZWw6ICdoZWxsbycsIHJl
ZG86IGVtcHR5RnVuY3Rpb24gfSkiKTsKKyAgICAgICAgICAgIHNob3VsZFRocm93KCJuZXcgVW5k
b0l0ZW0oeyBsYWJlbDogMywgdW5kbzogbnVsbCwgcmVkbzogbnVsbCB9KSIpOworICAgICAgICAg
ICAgc2hvdWxkVGhyb3coIm5ldyBVbmRvSXRlbSh7IGxhYmVsOiAnJywgdW5kbzogJycsIHJlZG86
IGVtcHR5RnVuY3Rpb24gfSkiKTsKKyAgICAgICAgICAgIHNob3VsZFRocm93KCJuZXcgVW5kb0l0
ZW0oeyBsYWJlbDogJycsIHVuZG86IGVtcHR5RnVuY3Rpb24sIHJlZG86IDEwIH0pIik7CisgICAg
ICAgICAgICBzaG91bGRCZVRydWUoIm5ldyBVbmRvSXRlbSh7IGxhYmVsOiAnJywgdW5kbzogZW1w
dHlGdW5jdGlvbiwgcmVkbzogZW1wdHlGdW5jdGlvbiwgZm9vOiAnaGknIH0pIGluc3RhbmNlb2Yg
VW5kb0l0ZW0iKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiT2JqZWN0LmdldFByb3RvdHlw
ZU9mKG5ldyBVbmRvSXRlbSh7IGxhYmVsOiAnJywgdW5kbzogZW1wdHlGdW5jdGlvbiwgcmVkbzog
ZW1wdHlGdW5jdGlvbiB9KSkgPT09IFVuZG9JdGVtLnByb3RvdHlwZSIpOworICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgVW5kb0l0ZW0oeyBsYWJlbDogJ2ZvbycsIHVuZG86
IGVtcHR5RnVuY3Rpb24sIHJlZG86IGVtcHR5RnVuY3Rpb24gfSkubGFiZWwiLCAiZm9vIik7Cisg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIlVuZG9JdGVtLnRvU3RyaW5nKCkiLCAi
ZnVuY3Rpb24gVW5kb0l0ZW0oKSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIpOworICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJuZXcgVW5kb0l0ZW0oeyBsYWJlbDogJycsIHVuZG86
IGVtcHR5RnVuY3Rpb24sIHJlZG86IGVtcHR5RnVuY3Rpb24gfSkudG9TdHJpbmcoKSIsICJbb2Jq
ZWN0IFVuZG9JdGVtXSIpOworICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coImRvY3VtZW50LnVu
ZG9NYW5hZ2VyLmFkZEl0ZW0obmV3IFVuZG9JdGVtKHsgbGFiZWw6ICcnLCB1bmRvOiBlbXB0eUZ1
bmN0aW9uLCByZWRvOiBlbXB0eUZ1bmN0aW9uIH0pKSIpOworICAgICAgICB9CisgICAgPC9zY3Jp
cHQ+CisgICAgPGJvZHkgb25sb2FkPXJ1blRlc3QoKT48L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8tbWFuYWdlci91bmRvLW1hbmFnZXIta2VlcHMt
d3JhcHBlci1hbGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8tbWFu
YWdlci91bmRvLW1hbmFnZXIta2VlcHMtd3JhcHBlci1hbGl2ZS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjRiNWUzOGRlMjlmZTZmZjAwZjhhZGU3Y2VkYWQ0YWM5N2U5MGQ5OAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvdW5kby1tYW5hZ2VyL3VuZG8tbWFuYWdlci1r
ZWVwcy13cmFwcGVyLWFsaXZlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitWZXJpZmll
cyB0aGF0IHRoZSB3cmFwcGVyIGZvciBEb2N1bWVudCdzIFVuZG9NYW5hZ2VyIHJlbWFpbnMgY29u
c2lzdGVudCBhY3Jvc3MgR0MgcGFzc2VzLiBUaGlzIHRlc3QgbXVzdCBiZSBydW4gdXNpbmcgV2Vi
S2l0VGVzdFJ1bm5lci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZG9j
dW1lbnQudW5kb01hbmFnZXIuZm9vIGlzICJiYXIiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy91bmRvLW1hbmFnZXIvdW5kby1tYW5hZ2VyLWtlZXBzLXdyYXBwZXItYWxpdmUuaHRtbCBiL0xh
eW91dFRlc3RzL2VkaXRpbmcvdW5kby1tYW5hZ2VyL3VuZG8tbWFuYWdlci1rZWVwcy13cmFwcGVy
LWFsaXZlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmNjY2U1MTgwODdkMTIwZmE2NzAwOTAxZDYzZDk5OWI1
ODZjNmM4YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvdW5kby1tYW5h
Z2VyL3VuZG8tbWFuYWdlci1rZWVwcy13cmFwcGVyLWFsaXZlLmh0bWwKQEAgLTAsMCArMSwxNyBA
QAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlVW5kb01h
bmFnZXJBUEk9dHJ1ZSBdIC0tPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKQorICAgICAgICB7CisgICAg
ICAgICAgICBkZXNjcmlwdGlvbigiVmVyaWZpZXMgdGhhdCB0aGUgd3JhcHBlciBmb3IgRG9jdW1l
bnQncyBVbmRvTWFuYWdlciByZW1haW5zIGNvbnNpc3RlbnQgYWNyb3NzIEdDIHBhc3Nlcy4gVGhp
cyB0ZXN0IG11c3QgYmUgcnVuIHVzaW5nIFdlYktpdFRlc3RSdW5uZXIuIik7CisgICAgICAgICAg
ICBkb2N1bWVudC51bmRvTWFuYWdlci5mb28gPSAiYmFyIjsKKyAgICAgICAgICAgIGlmICh3aW5k
b3cuR0NDb250cm9sbGVyKQorICAgICAgICAgICAgICAgIEdDQ29udHJvbGxlci5jb2xsZWN0KCk7
CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LnVuZG9NYW5hZ2Vy
LmZvbyIsICJiYXIiKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDxib2R5IG9ubG9h
ZD1ydW5UZXN0KCk+PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
LXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDAzNGYxMjJmNDIxZDBmMzIzNWQ5OWM3ODVlZDdl
NzFkMmVkOGRhMzguLmM1NjdjMTQxYWE5NzRlNjA3YjcwYjhhOTdjMDEzZTBlNGIwOGJjNzcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE2
LDYgKzE2LDcgQEAgdGlsZWQtZHJhd2luZy9pb3MgWyBQYXNzIF0KIGZhc3Qvd2ViLXNoYXJlIFsg
UGFzcyBdCiBlZGl0aW5nL2ZpbmQgWyBQYXNzIF0KIGVkaXRpbmcvaW5wdXQvaW9zIFsgUGFzcyBd
CitlZGl0aW5nL3VuZG8tbWFuYWdlciBbIFBhc3MgXQogCiBlZGl0aW5nL3NlbGVjdGlvbi9jaGFy
YWN0ZXItZ3JhbnVsYXJpdHktcmVjdC5odG1sIFsgRmFpbHVyZSBdCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3MTRkOWU5YzUyYTg4YTUx
YmNiYTZiZDZjZjJlODEyMTJkNjI3YzA0Li42ZjhjMzMyYTdkNGQ3YTI0OTQxYzVjYjhiZTI5YzZi
N2U2Y2JmYjQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0
YXRpb25zCkBAIC0xMSw2ICsxMSw3IEBAIGZhc3QvdmlzdWFsLXZpZXdwb3J0L3RpbGVkLWRyYXdp
bmcgWyBQYXNzIF0KIHN3aXBlIFsgUGFzcyBdCiBmYXN0L3dlYi1zaGFyZSBbIFBhc3MgXQogZWRp
dGluZy9maW5kIFsgUGFzcyBdCitlZGl0aW5nL3VuZG8tbWFuYWdlciBbIFBhc3MgXQogCiBmYXN0
L2V2ZW50cy9hdXRvc2Nyb2xsLXdoZW4tem9vbWVkLmh0bWwgWyBQYXNzIF0KIGZhc3QvZXZlbnRz
L2F1dG9zY3JvbGwtbWFpbi1kb2N1bWVudC5odG1sIFsgUGFzcyBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>